В’ячеслав Епанча
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. Навчитеся створювати повідомлення та обробляти їх. Дізнаєтеся, як керувати повторними спробами та тестувати обробку повідомлень. Навчитеся надсилати повідомлення в потрібну чергу, відкладати виконання повідомлення та керувати серіалізацією.
Розробите структуру, напишете та протестуєте сайт для біржі чи аукціону на РНР. Презентуєте проєкт лектору та колегам-студентам.