Вячеслав Епанча
Senior PHP Developer в Laba с 6-летним опытом разработки
53 онлайн-занятия
[по вторникам и четвергам]
Комплексный курс-профессия, который поможет выработать инженерное мышление и научит с нуля создавать полноценные сайты и веб-приложения на PHP [+Symfony]. В результате ― вы сможете усилить любую команду разработки и поддерживать работу существующих сайтов или брать проекты на фриланс и создавать новые IT-продукты.
Погрузитесь в новую сферу и узнаете, как создаются сайты. Научитесь кодить на PHP, работать с базами данных, пользоваться современными фреймворками и инструментами отладки. По итогам курса ― сможете писать бэкенд полноценных проектов и устроиться на работу Junior PHP Developer.
Заполните пробелы в теории и освоите новые инструменты, которые позволят избавиться от костылей в своих проектах. Благодаря второй части программы вы научитесь использовать высокопроизводительный фреймворк Symfony и его встроенные опции. В результате ― сможете реализовывать более сложные проекты.
Более 80 % всех сайтов в интернете работают на РНР. Это означает, что рынок труда еще много десятилетий будет нуждаться в специалистах, которые смогут поддерживать работоспособность существующих платформ, оптимизировать и переиспользовать код, а также писать новые сайты и веб-приложения на РНР. Именно этим смогут заниматься наши студенты после курса.
Программа рассчитана на 8 месяцев, чтобы покрыть все аспекты изучения языка с нуля до PRO. В первой части мы изучим алгоритмы и этапы программирования в целом, освоим базовый синтаксис РНР и принципы ООП. Во второй части сделаем акцент на Symfony, тестировании и обеспечении безопасности. В результате ― научимся проходить весь цикл разработки и сделаем первые проекты для портфолио.
Вы получите объемную теоретическую базу и сможете отточить все знания на практике, чтобы после выпуска сразу приступить к работе. Будет много домашних заданий, детальный разбор ошибок и индивидуальный фидбек от лектора.
У вас будет бесплатная подписка на интегрированную среду разработки для PHP [PhpStorm от JetBrains] на период обучения, благодаря чему вы сэкономите $70, и скидка на продление лицензий после курса. Вы будете вести разработку через GitFlow и отправлять HTTP-запросы через Postman, изучете DockerHub, RabbitMQ и Redis.
Научитесь кодить на РНР и освоите фреймворк Symfony. Будете находить и фиксить ошибки в коде, работать с файловыми системами и базами данных. Сможете писать веб-приложения с нуля, придавать им структуру с помощью HTML и CSS, проводить тестирование, интегрировать продукт с внутренними системами бизнеса и управлять доступом.
По итогам курса вы самостоятельно создадите 2 полноценных проекта: платформу по поиску работы и сайт для биржи/аукциона. Добавите эти проекты в свое портфолио.
Научитесь решать повседневные задачи PHP-разработчика. Получите советы от лектора по поиску работы и развитию софт-скилов. Выстроите поэтапный план профессионального развития и сможете трудоустроиться на позицию PHP Developer.
Ознакомитесь с основами работы вычислительной техники. Научитесь переводить данные в бинарный вид и просчитывать количество занимаемой памяти. Изучите UML-схемы и классические виды алгоритмов.
Научитесь настраивать среду для разработки на РНР, изучите типы переменных и проведете операции над ними. Научитесь применять условные конструкции и работать с циклами. Ознакомитесь с понятием рекурсии, научитесь создавать и использовать собственные функции.
Изучите разницу между локальным и удаленным репозиториями и научитесь вести разработку через GitFlow.
Узнаете, какие проблемы решает объектно-ориентированное программирование. Изучите классы и объекты. Узнаете, как работает наследование классов и как устроено пространство имен. Научитесь использовать автозагрузку классов. Изучите понятие абстракции и научитесь писать абстрактные классы и интерфейсы.
Изучите базовые структуры данных [стек, список, очередь]. Ознакомитесь с древовидными структурами данных. Изучите алгоритмы сортировки [пузырьков, выбором, вставкой], алгоритмы работы с графами, простые методы шифрования и хеширования. Научитесь реализовывать каждый из видов алгоритмов.
Ознакомитесь со структурой HTTP-запросов и концепцией REST API. Научитесь отправлять запросы с помощью Postman.
Изучите язык разметки HTML, научитесь разбивать страницу на блоки и размечать основные элементы страницы. Узнаете о назначении CSS, научитесь подключать CSS к HTML и стилизовать страницу. Научитесь настраивать взаимодействие между HTML-страницей и РНР.
Ознакомитесь с типами баз данных [реляционные и нереляционные]. Изучите синтаксис SQL и научитесь самостоятельно писать простые запросы к базе данных для выборки с условием. Изучите типы связей в базах данных, основные агрегатные функции и операции. Научитесь строить взаимодействие между РНР и базами данных. Создадите сервис-контейнер для подготовки сервисов к использованию.
Напишете платформу для поиска работы и презентуете свой проект.
Изучите принципы ООП и ознакомитесь с основными шаблонами программирования: GRASP-паттерны, порождающие паттерны, структурные паттерны и поведенческие паттерны. Поймете назначение и определите особенности каждого шаблона. Научитесь выбирать шаблон исходя из задачи.
Узнаете, для чего нужна контейнеризация. Научитесь собирать контейнеры и управлять ими. Освоите принципы работы с DockerHub и научитесь управлять группой файлов.
Ознакомитесь с фреймворком Symfony и узнаете, какие возможности появляются с его помощью. Научитесь инициировать проект Symfony и создавать собственные пути веб-приложения. Будете работать с шаблонизатором Twig, Symfony Flex и Symfony Encore. Изучите процесс дебага приложений.
Научитесь разворачивать контейнер БД. Поймете концепты entity и repository. Научитесь строить структуру БД с помощью маппинга entity, строить сложные запросы с использованием QueryBuilder и заполнять БД фейковыми данными. Изучите принципы ленивой загрузки и узнаете, как создать дополнительные поля в отношении ManyToMany.
Изучите уровни тестирования. Ознакомитесь с понятиями assertion, hooks и mocks. Научитесь проводить функциональное тестирование, работать с фейковыми данными в БД и тестировать страницы с помощью DOMCrawler и Fixtures. Изучите BDD-подход в разработке и тестировании. Ознакомитесь с основами языка Gherkin.
Научитесь создавать форму для загрузки файлов и использовать Flysystem для работы с различными хранилищами. Будете передавать данные с помощью разных способов доставки.
Узнаете, как создать модель пользователя для аутентификации. Изучите все особенности работы с паролями пользователей в Symfony. Научитесь управлять уровнями доступа: распределять роли, ограничивать доступ по роли, защищаться от брутфорса пароля или настраивать 2FA-аутентификацию.
Изучите назначение Kernel, путь запроса и процесс определения контроллера. Научитесь запускать и завершать запрос, отлавливать Exception внутри Symfony, сериализовать ошибки и работать с SubRequest.
Научитесь создавать Dashboard и CRUD Controller, строить меню и запускать поиск по entity. Научитесь управлять переводами, изменять оформление админ-панели, создавать собственные действия и управлять правами доступа.
Узнаете, что такое bundle. Научитесь проектировать структуру собственного bundle, управлять конфигурацией и писать тесты для bundle.
Изучите структуру API-платформы. Научитесь определять ресурсы для API, добавлять валидацию данных и работать со связями. Узнаете, как добавить аутентификацию пользователя при работе с API или как ограничить права доступа к ресурсам. Научитесь работать с фильтрацией, расширять получение данных и добавлять дополнительные поля.
Установите Symfony Messenger. Научитесь создавать сообщения и обрабатывать их. Узнаете, как управлять повторными попытками и тестировать обработку сообщений. Научитесь отправлять сообщения в требуемую очередь, откладывать выполнение сообщения и управлять сериализацией.
Разработаете структуру, напишете и протестируете сайт для биржи или аукциона на РНР. Презентуете проект лектору и коллегам-студентам.