This shows you the differences between two versions of the page.
courses:mse:lections [2017/09/04 10:25] mark |
courses:mse:lections [2022/12/10 09:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Лекции/мастер-классы для участников ====== | ||
- | |||
- | ===== Разработка задач для онлайн курсов - вторая половина сентября (22 или 29) ===== | ||
- | |||
- | * Архитектура: | ||
- | * Как видит студент: | ||
- | * терминал | ||
- | * многократная отправка решения | ||
- | * Как видит автор задачи: | ||
- | * Bootstrap | ||
- | * Pytest, 2.7 | ||
- | * Docker | ||
- | * Пробуем сделать простую задачу - заменить содержимое файла на заданное | ||
- | * Очевидные грабли | ||
- | * Pytest | ||
- | * Русский язык | ||
- | * Использование слешей | ||
- | * Неочевидные грабли | ||
- | * Права в Bootstrap | ||
- | * Использование репозиториев | ||
- | * Текущая директория | ||
- | * Преступная смекалка студентов курса | ||
- | * Разные условия задач | ||
- | * Решение - использовать заготовку | ||
- | * Генерация SSH-ключа | ||
- | * Заготовка bootstrap | ||
- | * Как писать генератор задания | ||
- | * Заготовка Pytest | ||
- | |||
- | |||
- | ===== Отладка веб-приложений (29.09 или 06.09) ===== | ||
- | |||
- | * Общая схема работы архитектуры клиент-сервер | ||
- | * Коды ошибок HTTP | ||
- | * Когда сломался JS/верстка | ||
- | * Режим инкогнито!! | ||
- | * Консоль | ||
- | * выполнение JS | ||
- | * проверка CSS свойств | ||
- | * Когда сломался сервер: | ||
- | * Логи | ||
- | * апача | ||
- | * приложения в веб-интерфейсе | ||
- | * syslog | ||
- | * Типичные грабли | ||
- | * HTML / JS | ||
- | * отностиельные пути | ||
- | * внешние ресурсы (js, img) | ||
- | * фрагментированный JS (внутри HTML) | ||
- | * js, не обернутый в функции или $(document).ready | ||
- | * jquery вместо dom | ||
- | * console.log | ||
- | * поле id и class у тегов | ||
- | * Бакенд: | ||
- | * Используйте максимум возможностей БД (пример с list(...)) | ||
- | * локальное имя в hosts для удобства | ||
- | * apache вместо run.py | ||
- | |||
- | |||
- | ===== MongoDb (29.09 или 06.09) ===== | ||
- | |||
- | В перспективе будет заменено на презентацию и модуль в MOOC. | ||
- | |||
- | * Установка | ||
- | * apt-get install | ||
- | * как проверить успешность установки | ||
- | * как отключить журналироварние | ||
- | * mongo shell - | ||
- | * как запустить, | ||
- | * подключится к БД, | ||
- | * как просмотреть список БД, | ||
- | * Идея | ||
- | * базу не нужно создавать явно | ||
- | * таблицы = коллекции | ||
- | * нет ссылок между коллекциями | ||
- | * must have id | ||
- | * CRUD | ||
- | * insert - создаем новый документ | ||
- | * update - меняем/удаляем поля | ||
- | * remove - | ||
- | * find | ||
- | * поиск по одному полю | ||
- | * or, and | ||
- | * поиск по подстроке и рег.выражению | ||
- | * поиск по вложенным полям | ||
- | * sort, limit, offset | ||
- | * как проделать запросы в python. | ||
- | |||
- | |||
- | ===== Написание тестов (???) ===== | ||
- | |||
- | К лекции нужно сделать репо с примерами. | ||
- | |||
- | * Какие бывают тесты и зачем | ||
- | * Общая идея: | ||
- | * тестируем хорошее и плохое поведение | ||
- | * чистая тестовая среда | ||
- | * не подгоняем тестовую среду под тесты | ||
- | * Пример юнит-теста на Python | ||
- | * Как запускать много тестов одним скриптом | ||
- | * Пример Selenium теста Python | ||
- | * Настройка selenium | ||
- | * Параметризованный тест | ||
- | * Скрипт для запуска всех тестов | ||
- | |||
- | ===== Докер и развертывание (??) ===== | ||
- | |||
- | * Очень примерно про архитектуру | ||
- | * Устанавливаем докер (используем правильный репо) | ||
- | * Запускаем простой образ | ||
- | * Смотрим как он выглядит в docker ps | ||
- | * Убиваем docker kill | ||
- | * Cмотрим на образы в docker image | ||
- | * Добавляем Vagrant | ||
- | * Установка | ||
- | * Настройка плагинов | ||
- | * пишем vagrant-file | ||
- | * Указываем образ ubuntu14:04 (или аналогичный) | ||
- | * Указываем проброс портов | ||
- | * Запускаем и убеждаемся, что проброс работает | ||
- | * Подключаемся по ссш | ||
- | * Смотрим статус vagrnt status | ||
- | * Убиваем конфигурацию vagrant destroy -f | ||
- | * Создаем свой Docker-образ | ||
- | * Через Dockerfile | ||
- | * Идея | ||
- | * Заготовка Dockerfile - какие правила написания | ||
- | * Собираем образ | ||
- | * Отправляем образ в репозиторий | ||
- | * Через docker commit |