Изграждане на модерни уеб приложения с PHP, MySQL и JavaScript
Нов курс от Pragmatic, стартиращ на 18.02.2015.
Целта на курса е да даде детайлни познания по програмиране използвайки езика PHP. Също така ще бъдат представени добри практики за планиране и реализация на софтуер независимо от използваните технологии.
Ще се разгледат в детайли основите на езика PHP, като синтаксис, както и работата с HTML, CSS, Уеб Сървъри, MySQL, Обектно Ориентираното Програмиране(ООП), Unit testing с PHPUnit, MVC архитектурни шаблони, JavaScript и въведение в Web 2.0.
За кого е предназначен
Курсът е предназначен за хора с минимални или никакви познания в сферата на софтуернатa уеб разработка. Целта на този курс е да даде на един начинаещ, всички необходимите познания и умения, с които би могъл да потърси работа, като Junior PHP програмист.
Въпреки, че курса се преподава на български език, е добре курсистите да имат добро ниво на английски. Това в последствие ще им помогне при търсене на работа в сферата.
Продължителност на курса
Курсът е вместен в 18 лекции, всяка с продължителност 3 часа. Занятията се провеждат два пъти седмично, като общата продължителност на курса е 10 седмици. След всяко занятие ще има домашна работа, която е задължителна. След края на курса ще има изпит.
Занятията ще са смесени (лекции и упражнения) поради практическата насоченост на материала. В края на курса ще бъде проведен и тест върху материала на целия курс.
Практическа част по време на занятия
За упражненията и практическата част по време на занятията всеки курсист трябва да носи личен лаптоп.
Цена на курса
Цената за цялата продължителност на курса е 700 лева. Като предоставяме възможност за разсрочено плащане – 2 вноски по 350 лева в началото на всеки от месеците от курса.
В кои дни се провежда курса, кога ще започнат нови групи и как може да се запиша?
Разписанието се публикува в График, а за записване, моля използвайте Записване за курс.
КОГА: 18.02.2015
МЯСТО: Pragmatic, ул. Йордан Йосифов 8, гр.София, кв.Студентски град
1. Обзор на екосистема LAMP/WAMP
- Приложения от тип клиент/сървър
- Роля на PHP в уеб приложенията
- Запознаване и конфигурация на Apache Web Server
- Запознаване и конфигурация на MySQL Database Server
- Конфигурация на PHP
- Базов синтаксис в PHP
2. Основи на PHP
- Променливи и константи в PHP
- Аритметични оператори в PHP
- Работа с числа с плаваща запетая
- Логически оператори
- Контрол на изпълнението в PHP ( Условни конструкции, Цикли )
3. Основи на PHP
- Работа със символни низове
- Разширена обработка на символни низове (sprinf, PCRE)
- Работа с масиви в PHP
- Работа с файлове в PHP
4. Основи на процедурното програмиране в PHP
- Функции в PHP
- Рекурсивни функции
- Област на видимост на променливите
- Глобални и супер глобални променливи в PHP
5. Бърз курс по HTML и CSS
- Въведение в HTML
- Форматиране на документи с HTML
- Стилизиране на HTML
- HTML Форми
6. Обработка на HTTP Заявки
- Комуникация между клиент и уеб сървър ( Разглеждане на протокола HTTP )
- HTTP Методи
- Суперглобални променливи за работа с HTTP заявки
- Обработка на данни от HTML форми
- Работа със сесии
7. Основи на MySQL
- Основи на RDBMS и MySQL като такава
- Преглед на инструменти за работа с MySQL (phpMyAdmin, HeidiSQL, MySQL WorkBench)
- Архитектура на БД (ERD Diagrams)
- Създаване на БД и таблици
- Типове данни в MySQL
- Съхранение и манипулиране на данни в MySQL
- Извличане на данни от MySQL
- PHP Библиотеки за работа с MySQL
8. Работа с релационни БД
- Видове engines в МySQL
- Ползване на индекси
- Ползване на външни ключове
- Съединение на данни от различни таблици (JOIN)
- Агрегационни функции
- Работа с транзакции
9. Обектно ориентирано програмиране в PHP
- Пространства от имена
- Класове и обекти
- Жизнен цикъл на обектите (конструктори и деструктори)
- Свойства и методи на обектите
- Свойства и методи на класовете
- Видимост на свойства и методи
10. Основи на OOP
- Унаследяване и класови йерархии
- Абстрактни класове
- Интерфейси
- Презаписване на методи
- Магически методи
11. Управление на изключения
- Какво е изключение
- Класът Exception
- Хвърляне на изключения
- Обработване на изключения
12. Добри практики при OOP
- Автоматично зареждане на дефиниции в PHP
- 5 основни принципа за добра OOP архитектура ( SOLID )
- Какво са шаблони и антишаблони
- Шаблoни за създаване
- Структурни шаблони
- Шаблони за поведение
- Архитектурни шаблони
13. Подобряване на качеството на приложенията
- Запознаване с PHPUnit
- Основни концепции при unit testing
- Намиране и отстраняване на бъгове ( Използване на XDebug )
- Намиране и отстрняване на бавни части в приложенията ( Profiling с XDebug )
14. Въведение в MVC
- Какво представлява MVC
- Изглед ( View )
- Контролер ( Controller )
- Модел ( Model )
- Рамки на комуникацията между слоевете
- Ограничения на MVC и как да се справим с тях
15. Бърз курс по Javascript
- Променливи, масиви и обекти
- Контрол на изпълнението ( цикли, условни конструкции )
- Функции
- Манипулация на символни низове
- Запознаване с JQuery
- Обработване на събития
- Претърсване и манипулация на DOM
16. Сигурност
- Най-често срещани атаки
- Сигурна комуникация между клиент/сървър
- Сигурно съхранение на данни
- Видове XSS атаки и как да се предпазим от тях
- Предотвратяване на MySQL injection
- Похвати за защита на сесии
- Защита от неоторизирано изпълнение на файлове
17. Въведение в Web 2.0
- Какво е Web 2.0
- Запознаване с AJAX
- Запознаване с REST
- Архитектура на RESTful API
- Форматиране на данни (JSON и XML)
18. Тест
- Теоретична част – тест
- Практическа част – разработване на приложение
Светлозар Димитров
• Бакалавърска степен по „Компютърни науки“ към университета в Дортмунд• 15+ години професионален опит в софтуерната разработка
• Многогодишен опит с различни технологии и езици за програмиране
• Работил в компании като: Atrient, ICDSoft, XS Software
• В момента системен архитект в SevOne Inc.
Води: Изграждане на модерни уеб приложения с
PHP, MySQL и JavaScript