Компания
545,19
рейтинг
1 февраля 2015 в 13:59

Разработка → Лекции Технопарка. 1 семестр. Web-технологии tutorial

Сегодня этим постом мы открываем цикл еженедельных публикаций учебных материалов Технопарка. Если кто-то ещё не знает, Технопарк — это совместный образовательный проект Mail.Ru Group и МГТУ им. Н. Э. Баумана. На данный момент здесь проходит обучение по 20 IT-дисциплинам 91 наиболее талантливый студент. Технопарк существует с 18 ноября 2011 года, а первые счастливчики приступили к занятиям в декабре 2011 года.

Обучение в Технопарке совершенно бесплатное, оно проходит после занятий в университете. Стать участниками проекта могут студенты 3-5 курсов. Хотя для 2 и 6 курсов можем сделать исключение. Обучение длится 2 года, оно разбито на 4 семестра, в каждом из которых проходят по 3-4 предмета. Первый блок первого семестра посвящён всему, что связано с web-технологиями, от истории возникновения до программирования и безопасности web-приложений.

Лекция 1. Введение


На вводном занятии вы познакомитесь с краткой историей развития интернета, основными трендами в развитии web-приложений, облачных сервисов и мобильных приложений. Также на лекции разобрано устройство и работа несложного web-приложения, обсуждены такие фундаментальные понятия, как система адресации в интернете, домены, HTML-страницы и протокол HTTP. Напоследок кратко рассказано о CGI-скриптах, их назначении и особенностях работы.



Лекция 2. Сетевые протоколы


Вторая лекция посвящена сетевым протоколам. Сначала даны теоретические основы о модели OSI и вложенности протоколов, рассмотрено назначение и устройство протоколов TCP и IP, подробно рассказано о доменах, доменных зонах и делегировании. Затем лектор рассказывает о том, что собой представляет протокол HTTP, о назначении HTTP-заголовков, кодах ответа сервера и прочих нюансах передачи данных в сети. В оставшуюся часть лекции затрагиваются все вопросы, касающиеся электронных писем: какова структура e-mail, как составляются заголовок и тело письма, устройство и работа протоколов SMTP, POP3 и IMAP. В конце обсуждаются сугубо практические темы: составление списков рассылок, методы борьбы со спамом, назначение и работа расширения SPF, использование обратной зоны DNS.



Лекция 3. Web-серверы


На этой лекции рассмотрена общая схема работы web-сервера: что такое сокеты, конструкция запросов, файловая структура и ведение логов. Рассказано о различиях между frontend- и backend-серверами, а также об использовании серверов для получения статического контента и проксирования запросов. Далее затрагиваются азы конфигурирования сервера, рассказывается о таких понятиях, как MIME и Content-Type. После рассмотрения роли web-сервера в качестве сервера приложений, лектор переходит к информационному блоку об интерфейсах взаимодействия с языком программирования. А в конце лекции рассказывается о модели обработки запросов и способах сравнения производительности разных web-серверов.



Лекция 4. Серверная разработка


Вначале проведён небольшой обзор языков, используемых для разработки серверов. Затем подробно изучен протокол CGI, устройство CGI-скриптов и библиотеки для работы с ними. Лектор рассказывает о том, как обрабатывать входные данные и работать с БД. Рассматривается работа с объектами и их списками, а также с формами. Затем вы узнаете, как использовать перенаправления, где и в каком виде хранятся данные на клиенте, как использовать cookie и сессии. Напоследок будет рассмотрена работа с шаблонами: использование шаблонизаторов, для чего нужны подшаблоны и особенности наследования шаблонов.



Лекция 5. Реляционные базы данных


Из этой лекции вы узнаете о том, что такое реляционные БД, для чего они используются и как развивались. Затем рассмотрены основные понятия, связанные с работой в реляционных БД, типы данных в SQL и работа с ними (нормализация, управление данными, выборки). Также лектор рассказывает о способах проверки целостности базы, использовании внешних ключей, а в конце лекции — о преимуществах и недостатках наиболее распространённых СУБД.



Лекция 6. MVC-фреймворки


MVC — это схема использования нескольких шаблонов проектирования. На лекции рассказывается о том, что это вообще такое и как эту схему применять на практике. Далее подняты вопросы маршрутизации URL и обработки HTTP-запросов. Затем рассказывается о визуализации данных с помощью представления и использовании шаблонов.



Лекция 7. Django (часть 2)


В конце предыдущей лекции была затронута тема реализации MVC во фреймворке Django. Здесь этот вопрос рассматривается уже подробно. В частности, вы узнаете о том, как написать скрипт управления django-приложением, что такое middleware и зачем оно нужно. Также вы познакомитесь с представлениями-классами (Class Based Views), расширениями фильтров и тэгов в шаблонизаторе и многим другим.



Лекция 8. HTML и CSS


После просмотра этой лекции вы многое узнаете о вёрстке web-страниц. Здесь рассказывается об истории развития и особенностях таких языков разметки, как HTML, XML и XHTML. В лекции преподаются основы вёрстки, рассматриваются основные тэги и атрибуты, без которых нельзя создать даже простейшую страницу. Вы узнаете, какие бывают типы элементов страницы, как создавать таблицы и списки. Затем рассказывается о каскадных таблицах стилей (CSS), их создании и использовании.



Лекция 9. Javascript


Здесь вы познакомитесь с основами языка программирования JavaScript: с его синтаксисом, способами подключения к web-странице и моделями обработки событий. Заодно вы узнаете, что такое AJAX и как подключать JS-библиотеки. Остаток лекции посвящён использованию библиотеки jQuery и её плагинов.



Лекция 10. Rich Internet Applications


На данной лекции рассказывается о том, что собой представляют Rich Internet Applications, web-приложения, доступные через интернет. Они появились благодаря недостаткам, присущим HTML, CSS и JavaScript. Вы узнаете о возможностях, преимуществах и недостатках RIA, их устройстве и наиболее популярных видах использования.



Лекция 11. Безопасность web-приложений


Последняя лекция этого блока в Технопарке. На ней рассказывается об основных аспектах безопасности, которые необходимо знать web-разработчику: как реализована авторизация в протоколе HTTP, как можно сделать систему авторизации с помощью web-приложения, базовые понятия криптографии, средства безопасности в браузерах и какие бывают виды атак на web-приложения.



Подписывайтесь на наш youtube-канал!
Автор: @Dmitry21

Комментарии (11)

  • +8
    Очень полезный ресурс
  • +4
    Недавно смотрел этот канал, особенно понравился курс highload.
  • +6
    Благодаря таким темам на хабре вспоминаю слова Гуру в древности: «Чем больше узнаю, тем больше понимаю, что я ничего не знаю».
    Огромнейшее Вам спасибо за исчезновение моего свободного времени! ;)
    • +3
      Обращайтесь ) впереди — еще 14 дисциплин )
      • 0
        Я только только начал изучать этот мир «веб-программирование». И являюсь по сути новичком в этом. Нет, не в программировании в целом, а именно в вебе.

        До сего момента у меня есть опыт исследования вирусов, их написания, взлома программ, написания защит и др, но системного характера.

        Если честно, то мир «системное программирование» более структурирован! Новичку чуть ли не каждый системный программист может сходу и пошагово написать как стать опытным и хорошим системным программистом.

        Когда же новичок в веб-программировании спрашивает «С чего начать?» вот тут-то начинается очень интересное. Ответы такие, что после них приходишь к мысли, что мир «веб программирования» ни грамму не структурирован.

        Мне бы хотелось, чтобы Вы для новичков сделали доклад «С чего начать?» и в этом докладе ответить так, чтобы новичок мог умозрительно понять и сформировать план своего дальнейшего самообучения.
        • +1


          Здесь есть немного структурирования
          • +1
            Знаю, что «спасибо» на хлеб не намажешь и в карман не положишь, тем не менее спасибо!;)
  • +1
    Приступаю к просмотру
  • –3
    Посмотрел первую лекцию — впечатление двоякое, ближе к отрицательному. Сам лектор воспринимается хорошо, но вот то что он излагает иногда похоже на обрывки пересказов каких-то книг, которые читали уже засыпая. Прыжки от web 2.0 к ajax, с плавным переходом к микроформатам просто запутают слушателя. Незнание о переходе Chrome на Webkit оставляют не лучшее впечатление, особенно в 2015 году. Ну и вообще — какие-то урывки информации с большими пробелами. Посмотрим дальше, надеюсь будет лучше.
    • 0
      Так вроде Chrome изначально был на WebKit? А перешел на Blink?
      • 0
        Да, вы правы, тут я о переходе помнил, а названия спутал.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка