Изграждане на модерни уеб приложения с 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