# Разработка и Безопасность Web-приложений. Программа/заметки по курсу - ПОиАИС ППМ ВГУ - 1 семестр 2025

ПРИМЕЧАНИЕ: здесь были собраны материалы и ссылки курса для студентов кафедры ПОиАИС ПММ ВГУ, в версии первого семестра 2025-2026 года. Курс опирался на основную программу подготовки нашего семинара, учиться и участвовать в котором можно в любой момент времени в т.ч. дистанционно.

Есть предметы, которые мне прям интересны, а есть веб-разработка
- (ц)

Практика

Задание Рекомендуемый срок готовности
#1. Оперативное введение в Linux -
Установим Ubuntu на виртуалку или железо, разберемся с основами bash, правами пользователей и другими несложными на этом уровне вещами
12.09
#2.1 Начнем изучать Курс по бэкэндру (PHP), а именно:
  1. Настроим среду разработки на PHP
  2. Пробежимся по материалам, описывающим синтаксис (прочитать можно обзорно)
  3. Дойдем до 16-ого пункта ("первая CMS"), где сделаем форк, развернем проект выполним первую практическую задачу

- видео-комментарий к задаче 2.1

26.09.2025 - помимо решения задачи нужно будет также продемонстрировать работу отладчика (xDebug) в вашей IDE
#2.2* (опционально, на выбор, пока рассматриваем как замену для задачи 2.1) - начнем изучать курс "Алгоритмической практики":
  1. Убедимся, что можем решить две базовые задачи (ЯП тут не важен)
  2. Сделаем форк, развернем проект
  3. Составим 6 ФБН по задачам (6-ой пункт курса)
  4. Решим первую задачку - добавим поддержку "унарного минуса" в наш интерпретатор

- видео-комментарий к задаче 2.2

26.09.2025
#3.1 Продолжим изучать Курс по бэкэндру (PHP) и раздел 16-ого пункта ("первая CMS") в нем, выполним следующие практические задачи:
  1. 2-я - Добавляем новую колонку в БД и используем её
  2. 3-я - Правим систему авторизации
  3. https://fkn.ktu10.com/?q=node/9982

10.10.2025 - Быть готовым сделать одну аналогичную домашним задачу на месте в лаборатории
#4.1 Продолжим изучать Курс по бэкэндру (PHP) и раздел 16-ого пункта ("первая CMS") в нем, выполним следующие практические задачи:
  1. 4-я - Работаем со связью один-ко-многим
  2. 5-я - Работаем со связью многие-ко-многим
  3. 6-я - Загружаем данные без перезагрузки страницы
24.10.2025 - Быть готовым сделать одну аналогичную домашним задачу на месте в лаборатории
#5.1 Продолжим изучать Курс по бэкэндру (PHP) и перейдем к разделу про учебный фреймворк SimpleMVC:
  1. Ознакомиться с материалами по учебному фреймворку SimpleMvc - видео, а прежде всего с текстовой документацией из README,, внимательно изучить материалы, развернуть виртуальный хост с проектом
  2. Выполнить первое практическое задание - восстановление редактирования роли пользователя
14.11.2025 - при этом:
  • Быть готовым сделать аналогичную домашним задачу/правку на месте в лаборатории
  • Проект должен быть запушен (git push), должна быть видна история коммитов (желательно с +- осмысленными сообщениями)
  • Понимать, что такое:
    1. модель, вид, контроллер
    2. как именно осуществляется машрутизация (как выбирается контроллер и действие и нем)
    3. что такое макеты, зачем они нужны в части View (представления)
#5.2 Продолжим работать с SimpleMVC:
  1. Из задачи по переносу сайта для начала перенесем главную страницу
21.11.2025 - что здесь ожидается:
  • Для главной страницы определен отдельный шаблон (в отличии от админки, где используется bootstap)
  • HTML/CSS главной должны выглядеть как и исходном сайте, но быть на новом фреймворке

Видео по курсу

Плейлисты с видео, записанных для курса:

Теоретические вопросы

    [Приципы ООП]:
  1. SOLID
  2. Dependency Injection Инъекция - внедрение зависимостей в сравнении с Локатором служб Service Locator
  3. [Работе Интернета/Протоколов]:

  4. Что происходит при открытии сайта в браузере
  5. [Безопасность веб-приложений]:

  6. Общий обзор безопасности приложений
  7. SQL инъекции
  8. XSS
  9. CSRF
  10. SSRF
  11. XXE
  12. [Алгоритмы]

  13. Вычислительная сложность - какой она бывает (привести примеры конкретных функций в порядке возростания сложности)
  14. Алгоритмические сложность операций удаления, добавления и поиск - массивы, списки, дереья, хэш-таблиц
  15. [Базы данных]

  16. Механизм транзакций, уровни изоляции и отличия между ними
  17. Виды JOIN-ов в SQL и отличия между ними

Алгоритмические задачи

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

шаблон для копипасты видео:
Ютуб | ВкВидео | Телеграм

_____________
матфак вгу и остальная классика =)