Установка Jenkins через Docker. Организация сети распределённой сборки. Подготовка виртуальных машин для менеджера и агентов через Ansible.
Подготовка проекта к работе в CI/CD Pipeline. Добавление окружения для тестирования рабочих Docker-образов. Создание файла подкачки в Ansible.
Free
Система тестирования и деплоя со сборочным сервером. Продумывание шагов проверки кода и сборки образов для запуска в CI/CD Pipeline.
Создание персонального приватного реестра образов Docker Registry. Создание поддомена и виртуальной машины. Подключение сторонних хранилищ.
Free
Философия Continuous Integration, Continuous Delivery и Continuous Deployment. Альтернативный подход разработки программных продуктов.
Написание E2E-тестов для проверки работы проекта из фронтенда и API. Тестирование интерфейса ReactJS-приложения в браузере в Docker-контейнере.
Тестирование JavaScript-кода. Интеграционное и юнит-тестирование компонентов. Проверка синтаксиса и стиля кода для JavaScript и CSS.
Создание проекта с ReactJS. Подключение и сборка пакетов через NodeJS. Запуск девелоперского сервера с автообновлением UI. Деплой фронтенда через Docker.
Добавление мультиязычности к API. Перевод сообщений валидации и доменных ошибок. Автораспознавание заголовка Accept-Language.
Добавление предварительной валидации данных команд для красивого отображения ошибок в формате JSON для отображения на фронтенде.
Использование посредников middleware для выноса повторяющегося инфраструктурного кода из контроллеров. Очистка ввода и централизованная обработка доменных исключений.
Написание контроллеров регистрации и их функциональное тестирование. Добавление локальных фикстур для тестовых сценариев. Проверка отправки электронных писем.
Философия логирования процессов в Docker. Установка Monolog. Вывод логов для функциональных тестов. Подключение сервиса Sentry.IO для уведомлений об ошибках.
Реализация отправки электронных писем по протоколу SMTP. Подключение эмулятора почтовика для локальной разработки. Подключение шаблонизатора для рендеринга HTML-писем.
Написание и генерирование миграций для автоматизации создания и изменения структуры БД. Использование фикстур для автозаполнения таблиц демонстрационными данными.
Конфигурирование мэппинга сущностей и агрегатов на таблицы в БД. Создание собственных типов. Работа со вложенными объектами и коллекциями.
Подключение базы данных в Docker и конфигурирование через переменными окружения. Обзор Doctrine ORM. Установка и регистрация в DI контейнере.
Добавление роли пользователя. Установка роли по умолчанию при регистрации и смена администратором. Команда удаления неактивного пользователя.
Написание команды двухшаговой смены email-адреса в кабинете пользователя с подтверждением по ссылке с токеном в письме.
Реализация команды установки нового пароля с проверкой текущего. Инъекция сервисов в метод. Тестирование зависимых объектов. Стабы и моки.
Реализация двухшагового восстановления пароля с подтверждением операции по электронной почте. Защита от спама и возможной перегрузки сервера.
Реализация команды регистрации через социальные сети. Именованные конструкторы объектов. Привязка соцсети к текущему профилю.
Free
Добавление статуса ожидания и активности пользователя. Реализация команды подтверждения регистрации по токену из ссылки в электронном письме.
Free
Моделирование юзкейса запроса регистрации по email. Декомпозиция объектов. Абстрактные типы данных. Проработка сущностей и сервисов через Unit-тесты.
Free
Анализ Use Cases взаимодействия с модулем аутетнификации. Выделение команд Command и запросов Query. Принцип CQS разделения операций.
Free
Моделирование по философии Domain Driven Design. Понятие доменной модели. Исследование предметной области и выделение ограниченных контекстов.
Установка и настройка PHPUnit. Написание Unit-тестов. Создание инфраструктуры функциональных тестов для API. Анализ тестового покрытия.
Проверка корректности кода с PHPLint. Валидация и корректировка стиля кода с CodeSniffer. Подключение статических анализаторов.
Установка Xdebug в Docker-образы. Настройка отладки консольных скриптов. Подключение к PhpStorm для отладки веб-скриптов в PHP-FPM.
Оптимизация Docker-образов для production через использование кеширования и мультистадийный билдинг.
Free
Подготовка структуры директорий API. Добавление образа PHP-CLI. Установка Slim Framework. Ускорение установки в Composer.
Free
Автоматизация серверной инфраструктуры. Автоматическая установка Docker и Compose на виртуальную машину через Ansible. Подключение сертификатов Let's Encrypt.
Free
Подъём девелоперской версии сайта с Docker. Построение сетевой структуры. Сборка образов для продакшена и первый деплой.
Free
Чем является Docker и чем не является. Удобство использования Docker для локальной разработки и для продакшена.
Free
Причины выбора микрофреймворка и его отличия от классических фреймворков. Почему мы используем Slim и React.
Free
Постановка задачи по разработке будущего проекта и определение используемых подходов. Предполагаемая структура проекта.
Использование событий объекта для снижения связанности кода. Способы генерации событий и пути подписки на них сторонних слушателей.
Free
Использование пользовательских заголовков для разных задач.
Улучшения компонента перед публикацией. Идеи по подключению сторонних библиотек. Обзор результата.
Free
Дополнительные серверные и клиентские заголовки. Информация о сервере, сжатие контента и отказ в обслуживании.
Разработка прокси-объекта для гибкого настраиваемого кеширования результатов геолокации.
Отлов ошибок проблем с соединением. Вынесение логирования в отдельный обработчик.
Free
Рефакторинг для подключения нескольких провайдеров геоданных. Усовершенствование алгоритма выбора.
Free
Разделение ответственностей и делегирование. Вынос изменяемого кода во вспомогательные компоненты.
Free
Постановка задачи. Проектирование компонента геолокации через тестирование и разработка абстрактных типов данных.
Free
Заголовки для настройки браузера для обеспечения безопасности при работе с внешними ресурсами
Подходы к контролю исключительных ситуаций. Использование исключений и корректный ох отлов.
Free
Использование Origin-заголовков для возможности из JavaScript осуществлять Ajax-запросы к API на другом домене.
Free
Корректное проектирование методов для описания поведения объекта. Инкапсуляция для контроля внутреннего состояния.
Free
Написание HTTP-заголовков для управления кэшированием файлов и страниц. Работа с локальным и публичным кэшем.
Free
Использование конструкторов для инициализации объектов. Внедрение зависимостей.
Free
Исследование методов аутентификации пользователя для сайтов и API. Аутентификация по протоколу oAuth2.
Free
Подходы к хранению состояния сеанса на клиенте и на сервере. Требования философии REST к идентификации запросов.
Free
Какими способами производится взаимодействие объектов в ООП. Чем ООП полезно при моделировании реального мира.
Free
HTTP-заголовки для описания формата контента со стороны клиента и сервера. Загрузка файлов и скачивание по фрагментам.
Free
Как производится запрос и какие результаты возвращает сервер. Какие запросы являются безопасными.
Free
Кто такие сервер и клиент и как осуществляется запрос и возвращается ответ при HTTP-взаимодействии.
Тип
Технология
Фреймворк
Язык
Метки