Получение базовых знаний и понимания основных процессов электронной коммерции.
Опытным
Систематизация знаний и повышение экспертизы.
На старте
Ожидаемые знания от студента
Знакомство с основами программирования;
Умение работать в командной строке;
Базовые знания системы контроля версии git;
Знакомство с реляционными базами данных;
О чем расскажем
Программа состоит из 16 лекций и четырех лабораторных работ
Вводные понятия
Цели и задачи курса;
Введение в IT, обзор ролей и специальностей;
Общие принципы работы веб приложений;
DNS и HTTP (с заголовками и куками);
nginx и php-fpm.
Основы языка PHP
переменные (в том числе глобальные $_POST, $_GET, $_SESSION, $_COOKIE);
управляющие конструкции (foreach, if);
ассоциативные массивы;
функции (в том числе чистые и высшего порядка);
пространства имен;
подключения файлов и автозагрузка;
типизация;
обработка ошибок и исключений;
сессии.
ООП в PHP
классы;
интерфейсы;
инкапсуляция, полиморфизм, наследование в PHP;
трейты.
Экосистема PHP
модули PHP;
pear (бегло);
composer и packagist;
PSR (в основном PSR-4 и PSR-12);
php-cs-fixer;
XDebug и аналоги;
логирование и monolog.
MVC фреймворки в мире PHP и не только
роутинг;
модели;
контролеры;
консольное приложение и кроны;
сравнение с CMS.
Основные архитектурные концепции Laravel Framework
Взаимодействие Laravel с базой данных на примере PostgreSQL
миграции;
query builder;
eloquent orm.
Продвинутое использование Laravel
сервисный контейнер;
очереди;
кэширование;
события.
REST API
формат JSON;
детали архитектуры REST;
openapi;
swagger-ui;
Design First и Code First подходы;
пара слов про GRPC и Protobuff.
Автоматизированные тесты
какие бывают и зачем нужны;
популярные в мире PHP фрейморки;
основы фреймворка PEST.
Laravel и DDD
Монолитная и микросервисная архитектуры. Подходы к реализации межсервисного взаимодействия.
Основы нереляционных баз данных
в чём отличия от классических РСУБД;
преимущества и недостатки;
популярные реализации NoSQL БД.
Elasticsearch и его использование как NoSQL БД
Контейнеризация приложений. Docker как инструмент разработчика.
Знакомство с платформой ENSI
Лабораторные работы
№1: PHP и его экосистема
сurl
/etc/hosts
PHP
composer
№2: Laravel
Создать небольшое веб-приложение на Laravel, состоящее из нескольких простых страниц и консольных команд. В приложении есть работа с БД (Postgres) и файловой системой.
№3: REST API
Реализовать небольшое REST API на Laravel используя материалы лекций 9-11 Написать спецификацию используя OpenAPI и Swagger-ui Покрыть код тестами. Сделать второй подобный сервис и реализовать коммуникацию между ними.
№4: Laravel и Elasticsearch
Реализовать сервисе/ах из предыдущей лабораторной работы денормализацию данных в индекс Elasticsearch. Создать новый сервис, реализующий API позволяющее получать данных из описанного индекса
Присутствие на всех лекциях гарантирует получение электронного сертификата
Преподаватели
Евгений Береза
Разработчик
Андрей Капитанов
Разработчик
Где встречаемся
Очно в Зеленограде
Лекции читаются в МИЭТе для студентов СПИНТЕХа. Присутствовать на лекциях могут студенты, а также специальные гости по приглашениям. НИУ МИЭТ · Схема проезда
Ответы на вопросы
Можно ли провести курсы в выходные или праздничные дни?
Можно по специальной договоренности.
Можно ли провести курс в онлайн-формате?
Можно по специальной договоренности.
Какой уровень подготовки необходим для прохождения курса?
Курс подходит для слушателей с начальным опытом в разработке.