Skip to content

Latest commit

 

History

History
136 lines (89 loc) · 13.6 KB

README.md

File metadata and controls

136 lines (89 loc) · 13.6 KB

NP Сетевые системы и приложения - ВТОРОЙ СЕМЕСТР

Страничка семинаров ПИ22-1 ПИ22-2 ПИ22-3 ПИ22-4

Основные темы практики:

Первый семестр:

Второй семестр:

Материалы курса

Вы можете познакомиться с материалами курса - презентациями к лекциям, методических рекомендациям к лабораторным работам на github.

Плейлист с видео по данному курсу досупен на YouTube.

План семинарных занятий

  • Системы контроля версий

    • Вначале мы изучаем git для совместной разработки
    • Учимся настраивать синхронизацию проектов через GitHub
  • Использование сокетов

    • Затем создаем простейшее серверное приложение, которое отправляет потоковое видео
  • Веб-сервер

    • Развиваем предыдущий опыт в сокетах до создания простейшего http веб-сервера
    • Добавляем функционал многопоточности для http веб-сервера
    • Добавляем функционал многопроцессности для ускорения http веб-сервера
    • Добавляем библиотеки асинхронного программирования для http веб-сервера

Вторая половина семестра

  • Развертывание сетевых приложений
    • Пакуем в контейнер - развертываем http асинхронный параллельный веб-сервер на удаленном ресурсе (hub.docker.com)

БРС

Первая половина семестра

Cеминар/Лекция дата № п/п Вид учебной деятельности Максимум  за семестр
Лекция DO1.0 Лабораторная работа-0.1 Работа с Git 1
Лекция DO1.3 Лабораторная работа-0.2 сделать форк этого репозитория и открыть его в IDE -
Лекция DO1.1 Лабораторная работа-0.3 запушить изменения в проект 1_echo на github -
Домашнее задание DO1.4 Лабораторная работа-0.4 настроить .gitignore, удалить лишнее 1
Семинар DO1.0 от 05.02-11.02 Лабораторная работа-0.5 субмодуль git submodule 1
Лекция NP1.1 Лабораторная работа-1.1 echo-server 1
Семинар NP1.1 от 12.02-18.02 Лабораторная работа-1.2 echo-client + telnet/putty 1
Домашнее задание NP1.1 Лабораторная работа-1.3 live stream video server 1
Семинар NP1.2 Лабораторная работа-5.1 ftp-сервер (файлы output+file1) 1
Домашнее задание NP1.2 Лабораторная работа-5.2 файловый менеджер 1
Семинар NP4.4 от 19.02-25.02 Лабораторная работа-4.1 Postman (запросы к ruz.fa.ru и к echo-server) 1
Лекция NP4.4 Лабораторная работа-4.2 код http-клиента из Postman -
Лекция NP4.5 Лабораторная работа-6.1 Низкоуровневая работа с веб 1
Семинар NP4.5 от 26.02-3.03 (2дубль) Лабораторная работа-6.2 Веб-сервер HTTP Часть1 (webserver1) 1
Домашнее задание NP4.5 Лабораторная работа-6.3 Веб-сервер HTTP Часть2 (фреймворк+вебсервер) 1
Лекция NP2.1 Лабораторная работа-2.2 threaded server 1
Семинар NP2.2 Лабораторная работа-3.2 Веб-сервер HTTP Часть3 (threaded) 1
Домашнее задание NP2.1 Лабораторная работа-2.1 threaded+async web-server 1
Лекция NP2.2 Лабораторная работа-3.1 multiprocessing 1
Семинар NP2.1 от 11.03-17.03 Лабораторная работа-7.1 UDP/TCP-multiprocess-сервер 1
Лекция DO2.1 Лабораторная работа-0.7 настройка pip -
Лекция DO2.2 Лабораторная работа-0.6 настройка env -
Лекция NP4.1 Лабораторная работа-10.1 apache -
Лекция NP4.1 Лабораторная работа-10.2 nginx -
Семинар 8.1 Лабораторная работа-8.1 Lets_encrypt 1
Лекция Лабораторная работа-8.2 Основные алгоритмы синхронного шифрования -
Домашнее задание 8.1 Лабораторная работа-8.3 Алгоритмы асимметричного шифрования 1
Домашнее задание NP2.2 Лабораторная работа-3.2 Асинхронный сервер 1

Вторая половина семестра

Cеминар/Лекция дата № п/п Тема и конечный результат Максимум  за семестр
Семинар Celery Workers + Queue Лабораторная работа-11 Celery Workers + Queue 2
Семинар kuber Лабораторная работа-12 Методичка по Kuber 2
Семинар балансировка nginx Лабораторная работа-13.1 балансировка nginx 2
Семинар Portainer+compose Лабораторная работа-13.2 Portainer 2
Семинар Обучаем нейросеть Лабораторная работа-1_ML Протестировать обученную нейросеть 2
Семинар echo-server_ML в docker Лабораторная работа-13.3 echo-server_ML в docker 2
Семинар Hadoop Лабораторная работа-14.1 Hadoop+luigi 2
Семинар Hadoop+Spark Лабораторная работа-14.2 Hadoop+luigi 2
Семинар Hadoop+Luigi Лабораторная работа-14.3 Hadoop+luigi 2
Контрольная работа ex01 Контрольная работа Решение задач 2

Пояснение:

  • Доля измеримых видов контроля самостоятельной работы обучающихся, исключающих субъективное суждение = 30 баллов
  • Доля cамостоятельной работы обучающегося = 10 баллов

Выполнение за половину семестра от 7 до 20 баллов, считается аттестованным


Пример экзаменационного билета Пример ответа и Оценивание

Экзаменационный билет №

  1. Понятие потокобезопасности. Причины, проблематика, способы обеспечения. (20 баллов)

Ответ

Представьте, что я работодатель, и вы проходите собеседование на должность старшего гребца на галеры. Любая скучная реплика от вас приведёт к отказу брать вас на работу. Душный ответ - 10 баллов. При ответе рисуете интересную схему с TCP-потоками, стрелочками что-то нужное указываете.(+5 баллов к душному ответу) В свободной форме пытаетесь донести необходимость в потокобезопасности, т.к. оно решает такие-то задачи, и Вы, как специалист в этом, обеспечили решение данной задачи на своей прошлой работе - придумываете историю про свой опыт и правдиво излагаете (+5 баллов). Если я поверил - 20 баллов

  1. Доступ к общим ресурсам в многопоточной программе. Механизмы блокировки ресурсов модуля threading. (20 баллов)

Рисуете потоки многопоточной программы и стрелочками указываете, как происходит взаимодействие с общими ресурсами. Схематично рисуете механизм блокировки и шаг за шагом, что происходит при блокировке ресурсов

  1. Напишите программу, которая создает четыре нити, исполняющие одну и ту же функцию. Эта функция должна распечатать последовательность текстовых строк, переданных как параметр. Каждая из созданных нитей должна распечатать различные последовательности строк. (20 баллов)

Делаете набросок скрипта на языке программирования Python либо скриптового языка программирования bash, указываете некоторые пояснения алгоритма работы, а также описание всех параметров, которые принимает скрипт (если таковые присутствуют) и описание формата вывода скрипта (если таковой присутствует). Точно указываете библиотеки, остальные неточности, даже приводящие к полной неработоспособности скрипта допускаются.