Лекції Технотрека. Основи веб-розробки (весна 2016)



Продовжуємо публікацію наших освітніх матеріалів. Цей курс присвячений розробці web-додатків середнього масштабу (інакше кажучи, сайтів рівня особистого блогу). Курс є оглядовим і знайомить майбутніх web-розробників з широким спектром технологій і загальними принципами роботи web-додатків. По суті, курс потрібен для того, щоб занурити студентів в тему і дозволити надалі сконцентруватися на конкретних технологіях, не втрачаючи з виду загальну архітектуру.

Мета курсу — всебічне вивчення будови і принципів роботи сучасних web-додатків і мережі інтернет в цілому, а також отримання практичних навичок web-розробки. Акцент в курсі зроблений на backend-розробку. На кожному з лекційних занять студентам видається завдання, в ході виконання яких крок за кроком формується кінцевий проект, готовий до того, щоб стати першим в портфоліо майбутнього web-розробника.

В якості інструментарію студенти в ході курсу оглядово знайомляться з адмініструванням nginx, MySQL і Redis, розробкою на Django і використанням таких бібліотек і продуктів, як Centrifugo, Gunicorn, Celery, Elasticsearch. Крім того, розбираються основи верстки і роботи CSS-фреймворками і JS-компонентами. Курс ведуть Ілля Стиценко (розробник у підрозділі внутрішньої інформаційної розробки) та Денис Ісаєв (керівник групи програмістів C/C++ в Пошті Mail.Ru). Більш детально — під катом.

Лекція 1. «Введення + мережеві протоколи»

У першій лекції розповідається, кому і навіщо дійсно потрібна web-розробка, як будується проект (від наявності ТЗ і до викладення на бойові сервера). Розглядаються призначення і принципи роботи мережі в цілому і мережевих протоколів (DNS, IP, TCP, HTTP/HTTPS).

Лекція 2. «Web-сервери»

В основі цього заняття кілька тем: основи UNIX-систем, способи серверної роботи з сокетами, схема пристрою роботи web-серверів (і обробки мережевих з'єднань), адміністрування nginx як web-сервера і використання gunicorn як сервера додатків.

Лекція 3. «Серверна розробка»

Представляємо студентам поняття web-фреймворка. Розповідаємо про те, які вони бувають і чим відрізняються один від одного. Розбираємо парадигму MVC та її застосування в Django. Вивчаємо базові особливості django і кожного з компонентів, починаємо будувати моделі даних і readonly-частина майбутнього проекту.

Лекція 4. «Обробка даних»

Подивимося, як зробити так, щоб користувач міг створювати і змінювати контент на сайті: як відбувається отримання даних від користувача, валідація даних зі сторони сервера створення і редагування об'єктів. Торкаємося теми авторизації.

Лекція 5. «HTML, CSS, JavaScript»

Розглядаємо верстку. Проста тема про засади фонового в сучасних браузерах, студенти знайомляться з HTML, CSS, DOM-моделлю. Даємо самі основи застосування JavaScript, jQuery.

Лекція 6. «Серверна розробка tier 2»

Агрегування даних в БД, AJAX-запити і JSON, generic-зв'язку між моделями, management-команди Django.

Лекція 7. «Додаткові теми. Вглиб Django»

Лекція присвячена оглядових тем про те, що і чому ми робимо в web-розробки: архітектурі серверів, real-time в web-додатках (застосовуємо websockets, використовуючи Centrifugo), черг (використовуємо Celery), пошуку по сайту (Elasticsearch, Sphinx, Haystack, ось це все). Розглядаємо питання кешування в Django і у web-проектах в цілому.

Лекція 8. «Викочування сайту на продакшн»

Заключна лекція. Ви дізнаєтеся, як ми викочуємо сайти на продакшн: вибираємо домен, ім'я та сервер; працюємо з сервером (SSH/термінал, моніторинг, логи, backup, безпека тощо). І трохи про SEO. Просто так, на десерт.

По завершенню курсу ви навчитеся використовувати MVC-фреймворки, отримаєте досвід верстки HTML-сторінок як «голяка», так і з використанням CSS-фреймворків начебто Bootstrap. Крім розробки наші студенти вчаться встановлювати і налаштовувати web-сервера, проектувати модель даних, отримують навички налагодження web-додатків на всіх етапах виконання.

Плейлист всіх лекцій знаходиться за посилання. Нагадаємо, що актуальні лекції та майстер-класи про програмуванні від наших ІТ-фахівців в проектах Технопарк, Техносфера і Технотрек як і раніше, публікуються на каналі Технострим.

Ілля Стиценко зареєстрований на Хабре sat2707, якщо у вас є питання, чи зможе відповісти в коментарях.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.