We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Web applications development

2023/2024
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Course type:
Compulsory course
When:
1 year, 2, 3 module

Instructor


Кирсанов Александр Викторович

Программа дисциплины

Аннотация

В этом курсе будет сделан упор на архитектуру реальных проектов. Будет много полезного безотносительно языка: как работает веб, сеть и протоколы; что такое грамотная архитектура в бекенде и в API; git, базы и многое другое. Будут и PHP-специфичные вещи: фреймворки, шаблонизаторы и FFI. Расскажем про архитектуру и работу ВКонтакте — как нам удаётся держать миллион qps, раздавать терабиты трафика и обеспечивать отказоустойчивость. А самые любопытные смогут узнать про наш собственный язык KPHP, компиляторы и анализ языков в целом.
Цель освоения дисциплины

Цель освоения дисциплины

  • Получение знаний по грамотной архитектуре в бекенде и в API
  • Формирование представления об устройстве бекенда для высоконагруженных приложений
  • Ознакомление с современным инструментарием и технологиями, используемыми в высоконагруженных приложениях
Планируемые результаты обучения

Планируемые результаты обучения

  • Понимать, что такое высоконагруженные системы
  • Знает отличительные особенности NoSQL-СУБД по сравнению с реляционными СУБД
  • работает с NoSQL. Cassandra. Знает основные понятия и процессы NoSQL. Cassandra
  • Знать что такое компилятор, как он устроен, какая часть отвечает за что
  • Владеет инструментарием мониторинга.
  • Знает место и роль баз данных в информационных системах, основы организации промышленных систем управления базами данных;
  • Имеет представление о компиляторе KPHP
  • Знает основные компоненты серверного приложения
  • Понимает значение баз данных при использовании высоконагруженных приложений, знает про репликации, шардирование, кластреризацию баз данных
  • Знает основные инструменты для автоматизации процессов разработки, сборки, деплоя приложения
  • Знает основные принципы тестирования приложений
  • Понимает отличия высоконагруженных приложений от обычных, и сложности, возникающие при высокой нагрузке
  • Знает архитектуру бекенда высоконагруженных приложений
  • Понимает значение кодировок, умеет с ними работать
  • Знает, что такое логирование и мониторинг, сложности логирования и мониторинга в высоконагруженном приложении
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Бекенд: разработка, сборка, тестирование, внедрение
  • Высоконагруженные приложения и компиляторы
  • Дополнительные разделы
  • Введение в архитектуру
Элементы контроля

Элементы контроля

  • неблокирующий Activity
  • блокирующий экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2023/2024 3rd module
    0.1 * Activity + 0.1 * Activity + 0.8 * экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Agile-тестирование : обучающий курс для всей команды, Грегори, Дж., 2019
  • NoSQL : новая методология разработки нереляционных баз данных, Садаладж, П. Дж., 2016
  • PHP 7, Котеров, Д. В., 2017
  • Высоконагруженные приложения : программирование, масштабирование, поддержка, Клеппман, М., 2019
  • Компьютерные сети : принципы, технологии, протоколы: учеб. пособие для вузов, Олифер, В. Г., 2015
  • Паттерны проектирования, Фримен, Э., 2013

Рекомендуемая дополнительная литература

  • Языки программирования и методы трансляции, Опалева, Э. А., 2005

Авторы

  • Башун Владимир Владимирович