Сетевые системы и приложения
О курсе
Современному специалисту в области информатики, независимо от специализации, придется работать с сетевыми приложениями, серверным ПО. Серьезное промышленное окружение для разработки предполагает использование специализированных операционных систем, чаще всего из семейства UNIX в качестве основного окружения.
После изучения этого курса вы будете больше понимать в технологиях и инструментах, которые используются для поддержки сложного процесса производства программ. Вы будете знать основные принципы работы операционных систем, большинство основных концепций разработки, будете уметь настраивать сложное окружение для разработки и сможете автоматизировать свою работу на профессиональном уровне.
Программа курса
Название занятия | Методичка | Видео | Слайды | ||
---|---|---|---|---|---|
1. LX0 Введение в ОС Linux | |||||
Лекция: Операционные системы. UNIX. Linux. | Видео | Слайды | |||
Лабораторная: Установка Linux в виртуальную машину | Видео | ||||
2. LX1 Основы командной строки | |||||
Лекция: Основы командной строки Linux | Видео | Слайды | |||
Практика: 10 основных команд | Видео | ||||
Практика: Служебные команды | Видео | ||||
Лекция: Работа с файлами | Слайды | ||||
Практика: Работа с файлами | Видео | ||||
3. LX2 Использование удаленного доступа по SSH | |||||
Лекция: Удаленная работа по SSH | Слайды | ||||
Практика: SSH | Видео | ||||
Практика: Tmux | Видео | ||||
4. LX3 Права и пользователи | |||||
Лекция: Пользователи и права | Слайды | ||||
Практика: Управление пользователями | Видео | ||||
Практика: Права доступа | Видео | ||||
5. LX4 Процессы и пакеты в Linux | |||||
Лекция: Управление пакетами | Слайды | ||||
Практика: Управление пакетами | Видео | ||||
Лекция: Управление процессами | Слайды | ||||
Практика: Управление процессами | Видео | ||||
6. LX5 Управление загрузкой Linux | |||||
Лекция: Загрузка ОС | Слайды | ||||
Практика: Создание и управление службами | Видео | ||||
7. LX6 Управление файловыми системам в Linux | |||||
Лекция: Файловые системы и разбиение диска | Видео | Слайды | |||
Практика: Файловые системы | |||||
Практика: Сетевые файловые системы | |||||
8. LX7 Основы скриптов на bash | |||||
Лекция: Bash как язык программирования | Видео | Слайды | |||
Практика: Ваш первый сценарий | |||||
Практика: Работа с cron | |||||
Дополнительно: Работа с MD5 | |||||
9. LX8 Средства обработки текста | |||||
Лекция: Команды работы с текстом в Linux | Видео | Слайды | |||
Практика: Создание HTML-отчета | |||||
Практика: Парсинг лог-файлов | |||||
10. LX9 Настройка сетевой среды в Linux | |||||
Лекция: Основные понятия компьютерных сетей | Слайды | ||||
Практика: Диагностика сетей | Видео | ||||
Дополнительно: Способы сетевых подключений виртуальных машин | Методичка | Видео | |||
11. DO0 Использование Linux для разработки | |||||
Практика: Настройка рабочего окружения Python в Linux | Видео | ||||
Практика: Vim | Методичка | ||||
Лекция: Системное программирование на Python | Слайды | ||||
Практика: Файловый менеджер | Методичка | ||||
12. DO1 Контроль версий: Git и GitHub | |||||
Лекция: Системы контроля версий - Git и GitHub | Методичка | Видео | Слайды | ||
Практика: Основы работы с СКВ в графическом режиме | Методичка | Видео | |||
Практика: Работа с Git в терминале | Методичка | Видео | |||
Практика: Работа с удаленными репозиториями и GitHub | Методичка | Видео | |||
13. NP1 Использование сокетов | |||||
Лекция: Сетевое программирование на Python с помощью сокетов | Слайды | ||||
Практика: Простой эхо-сервер | Методичка | Видео | |||
14. NP2 Асинхронное программирование | |||||
Лекция: Асинхронное программирование в Python | Слайды | ||||
Практика: Многопоточный сервер | Методичка | Видео | |||
Практика: Мультипроцессные вычисления | Методичка | Видео | |||
Практика: Библиотека asyncio | Методичка | ||||
15. NP3 Безопасность сетевых приложений | |||||
Лекция: Основы компьютерной безопасности | Слайды | ||||
Практика: Симметричное шифрование | Методичка | ||||
Практика: Асимметричное шифрование | Методичка | ||||
Практика: Протокол рукопожатия | |||||
16. NP4 Веб-сервер | |||||
Лекция: Установка и настройка веб-сервера в Linux | Слайды | ||||
Практика: Установка Apache | Методичка | Видео | |||
Практика: Установка nginx | Видео | ||||
Практика: Виртуальные хосты | Видео | ||||
Лекция: Web-технологии | Слайды | ||||
Практика: Простой веб-клиент | Методичка | Видео | |||
Практика: Простой веб-сервер | Методичка | Видео | |||
Практика: Веб-парсер | Методичка | ||||
17. DO2 Создание и развертывание серверного приложения | |||||
Лекция: Развертывание приложений на сервере | |||||
Практика: Создание FTP-сервера | Методичка | ||||
Практика: Развертывание в ручном режиме | Видео | ||||
Практика: Развертывание через Git | Видео | ||||
Практика: Развертывание через Docker | Видео |
Тематический план
Данный курс призван познакомить с современными инфраструктурными решениями для разработки программного обеспечения, технологиями сетевого программирования. Программа данного курса включает:
- Основы операционной системы Linux
- Основы скриптов на bash
- Удаленное администрирование
- Использование Linux для разработки
- Вопросы настройки окружения разработчика
- Разработка сетевых и асинхронных приложений на Python.
- Использование СКВ Git и GitHub
- Настройка сетевых подключений и служб, основы администрирования ОС
- Вопросы развертывания программ на удаленном сервере
Предварительные требования
Для плодотворного изучения данного курса будут необходимы такие навыки:
- Уверенное знание синтаксиса Python
- Основы функционирования компьютера и компьютерных сетей
Материалы курса
Вы можете познакомиться со всеми материалами курса - презентациями к лекциям, методических рекомендациям к лабораторным работам на Google Диске.
- Плейлист с видео по данному курсу досупен на YouTube.
Источники информации
Основная литература
- Дорожная карта DevOps-разработчика
- Э. Таненбаум. Современные операционные системы
- М. Кофлер. Linux. Полное руководство
- В. Олифер. Компьютерные сети. Принципы, технологии, протоколы
- Е. Немет. Unix и Linux.Руководство системного администратора.
- Pro git
Дополнительная литература
- Б.Уорд. Внутреннее устройство Linux
- Д. Н. Колисниченко. Командная строка Linux
- У. Шоттс. Командная строка Linux. Полное руководство
- Д. Тейлор. Сценарии командной оболочки. Linux, OS X и UNIX
- Д.Н. Колисниченко. Linux. От новичка к профессионалу
- Э. Свейгард. Автоматизация рутинных задач с помощью Python
- Э. Таненбаум. Компьютерные сети
- М.В. Коротеев. Учебное пособие по дисциплине “Сетевые системы и приложения” - 2023.
Видео-ресурсы
- Канал о Linux и DevOps
- Linux Foundation Certified System Administrator
- Системное администрирование Linux
- The Linux Basics Course: Beginner to Sysadmin, Step by Step
Программное обеспечение
- Oracle VM VirtualBox
- Дистрибутив Linux Mint
- Python 3 Anaconda
- Git
- Google Chrome