Цель курса – дать обучающимся базовые знания и навыки веб

advertisement
Цель курса – дать обучающимся базовые знания и навыки веб-дизайна и веб-программирования
на PHP для подготовки к дальнейшему самостоятельному их освоению. Курс ориентирован на
людей, желающих устроиться работать веб-программистом и ищущих, с чего бы начать.
Основное внимание курса сосредоточено на веб-программировании (РНР), а не на веб-дизайне.
Необходимые знания – базовый навык программирования на любом языке (необходимо для
того, чтобы изучать именно веб-программирование, не акцентируя внимание на элементарных
основах программирования в целом).
Продолжительность курса - 11-13 занятий по 2 академических часа.
Темы:








базовый веб-дизайн: html, javascript, css (в т.ч.)
продвинутый веб-дизайн: jQuery, ajax, haml, sass, coffeescript
фреймворк bootstrap для ускорения верстки веб-страниц
язык программирования РНР, базы данных MySQL
тестирование в РНР
концепция MVC и РНР-фреймворк Laravel
система контроля версий git
как устроиться на работу РНР-программистом
1. Введение. (1 занятие)
Краткий обзор рынка труда в IT-сфере в Украине и в мире. Актуальность профессии программиста
в целом и веб-программиста в частности.
Обоснование целесообразности выбора РНР как языка веб-программирования.
О web:





Схема работы web
Принципы работы веб-сервера и веб-клиента
Протокол http:
типы передаваемой информации (текст, бинарный файл, картинка, html, xml, )
Что такое cookie и сессии.
Технологии создания frontend’а backend’а сайтов. Что такое html, css, javascript, PHP и с чем их
едят.
Практическая часть:
посылка сообщений по протоколу http. Использование fiddler для мониторинга http-траффика.
разбор на практике, каким именно образом браузер отображает веб-сайт.
использование панели разработчика в браузере
2. Технологии создания frontend’а сайтов (2-3 занятия)
Повторный краткий обзор существующих технологий создания frontend’а. Обоснование выбора
Javascript как языка сценариев.
Введение в html, css, javascript. Возможности html5. Преобразование XML в html с помощью языка
xslt.
Haml, sass, coffeescript – надстройки над html, css, javascript.
Что такое ajax.
Javascript-фреймворк jQuery.
NPM – менеджер зависимостей для javascript.
Фреймворк bootstrap – возможность ускорения создания фронтенда сайта.
Практическая часть
практика создания веб-страницы, использующей html, css, javascript.
Использование панели веб-разработчика в браузере для отладки css и javascript.
Использование Haml, sass, coffeescript вместо традиционных html, css, javascript.
Использование jQuery.
Ajax-запросы.
Использование bootstrap для молниеносного создания дизайна веб-страницы.
3. Введение в веб-программирование и язык PHP (2 занятия).
Что такое веб-сервер и как он работает.
Характеристика РНР. Популярность языка сегодня. Его сильные и слабые стороны.
Синтаксис РНР. Обзор основных задач, решаемых РНР-программистами.
«Магические» функции РНР.
Практическая часть
Использование РНР в командной строке.
Установка и настройка веб-сервера, СУБД MySQL и языка РНР.
Создание простой динамической страницы с помощью РНР.
Отладка РНР с помощью IDE NetBeans.
Работа РНР с пользовательских формами.
Использование РНР в связке с AJAX.
Использование РНР для генерации HTML, CSS, Javascript.
Работа с базой данных MySQL с помощью РНР.
Итог – создание простейшей страницы с отзывами пользователей о чём-либо.
4 Объектно-ориентированное программирование в РНР (1 занятие).
Особенности реализации ООП в РНР.
Целесообразность использования ООП в веб-программировании на РНР.
Принципы «чистого кода» SOLID.
Менеджер зависимостей Composer.
Практическая часть
Построение одного и того же приложения с помощью функционального подхода и с помощью
ООП.
Использование composer для облегчения интеграции чужих библиотек в свой код.
5 Тестирование в РНР (1 занятие).
Необходимость создания тестов для приложений.
Что такое юнит-тесты, функциональные и приёмочные тесты.
Юнит-тестирование. Фреймворк phpunit.
Приёмочное тестирование с помощью selenium.
Фреймворк codeception как инструмент сочетания всех видов тестирования.
6. Шаблон проектирования приложений MVC. Фреймворки для PHP. Фреймворк Laravel. (2
занятия).
Что такое MVC и зачем он нужен.
Обзор существующих РНР-фреймворков.
Практическая часть
Создание собственного MVC-приложения на РНР.
Создание простейшего приложения с помощью фреймворка Laravel.
Создание реального приложения с помощью фреймворка Laravel (2 занятие).
7. Система контроля версий git (1 занятие).
Система контроля версий как необходимый инструмент для повседневной работы программиста.
Обзор существующих систем контроля версий и обоснование выбора git.
Основные возможности git.
Публикация своего кода на http://github.com. Совместная работа программистов с помощью git.
Практическая часть
Практический тур по основным возможностям git.
Создание своих пакетов для composer и публикация их на http://packagist.org.
8 Итоги (0.5-1 занятие).
Что мы изучили и что не изучили. Что изучать дальше.
Что нужно знать, чтобы устроиться на работу РНР-программистом.
9 Постскриптум (1 занятие).
Разворачивание приложений с помощью heroku.
Быстрое разворачивание виртуальной среды разработки с помощью virtualBox и vagrant.
Настройка linux-сервера.
Создание своих пакетов для composer и публикация их на http://packagist.org.
Регулярные выражения как необходимый инструмент программиста. Регулярные выражения как
средство поиска нужного кода в своих файлах.
Download