Skip to content

2 семестр - Сетевые системы и приложения практика студентов Финансового университета

Notifications You must be signed in to change notification settings

Ilyawysy/Obukhov

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

БРС

п/п

Вид учебной деятельности

Максимум  за семестр

 

Второй семестр изучения дисциплины

 

 

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

 

1.

Аудиторная работа “Настройка рабочего окружения”

2

2.

Лабораторная работа DO2.1 “Работа с Git в текстовом и графическом режиме

3

3.

Лабораторная работа DO2.2 “Работа с Git субмодули и синтаксис README.md

2

4.

Лабораторная работа “TCP-потоковый сервер видео

3

5.

Лабораторная работа “Многопоточный сервер на Python” (основное задание)

3

6.

Лабораторная работа “Многопоточный сервер” (основное задание и доп. п. 1)

2

7.

Лабораторная работа “Веб-сервер HTTP” (основное задание)

3

8.

Лабораторная работа “Использование параллельного программирования” (основное задание и доп. пп. 1-2)

2

 

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

 

9.

Лабораторная работа “Docker-контейнер” (основное задание и доп. п. 1)

2

10.

Лабораторная работа NT4.1 “Docker-контейнер

2

11.

Лабораторная работа NT4.2 “Балансировка нагрузки

2

12.

Лабораторная работа “Docker-Composer”” (основное задание)

2

13.

Лабораторная работа “Контейнеризация приложений курса”

5

14.

Аудиторная работа “VPN”

1

15.

Тестовые опросы на лекциях

5

16.

Составление тестовых заданий (дополнительно)

5

 

Всего за семестр

40

 

Экзамен

 

 

Решение практической задачи

20

 

Теоретический опрос

40

 

Всего за экзамен

60

Примерные задания для подготовки к экзамену

  1. Напишите программу, которая создает нить. Родительская и вновь созданная нити должны распечатать десять строк текста. README
  2. Напишите простой эхо-сервер, использующий неблокирующие сокеты и клиент к нему.README
  3. Напишите простой многопоточный загрузчик URL. Список URL скрипт принимает как аргументы командной строки.README
  4. Реализуйте простой HTTP-клиент. Он принимает один параметр командной строки - URL. Клиент делает запрос по указанному URL и выдает тело ответа на терминал как текст.
  5. Напишите программу, которая вычисляет число Пи при помощи ряда Эйлера. Количество потоков программы должно определяться параметром командной строки.
  6. Дана функция calculate(x, y). Напишите программу, которая создает пул из 5 процессов и распределяет в этом пуле вычисление функции на промежутке х от 0 до 1 с шагом 0,1. у равняется 2 всегда.README
  7. Напишите программу, которая проверяет все числа от 0 на простоту и выводит простые числа на экран по мере нахождения. Числа должны проверяться в различных потоках (или процессах, по выбору студента) Программа должна работать до тех пор, пока ее не остановит пользователь.
  8. Напишите программу, которая обходит все файлы в директории, переданной ей как параметр и выводит на экран имена тех, чей размер задан как второй параметр. Реализовать рекурсивный обход поддиректорий.README
  9. Напишите программу, которая выводит на экран список номеров открытых портов на данной машине. Использовать команду netstat.
  10. Напишите программу, которая копирует файл с удаленного хоста в текущую папку по SSH. Имя файла и адрес хоста принимать как параметры.

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

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

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

About

2 семестр - Сетевые системы и приложения практика студентов Финансового университета

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.4%
  • Other 0.6%