Содержание пакета (4 курса)
1. Linux - администрирование сервера 4.25
Введение в Linux
3 урока
1.
Что такое Linux, его дистрибутивы и отличие от других ОС
↗
2.
Установка Linux на виртуальную машину (VirtualBox, VMware, KVM)
↗
3.
Основные различия между GUI и CLI-интерфейсом
↗
Основы работы с командной строкой
4 урока
1.
Работа с терминалом, команды bash
↗
2.
Понимание структуры файлов и директорий
↗
3.
Права доступа к файлам и директориям (chmod, chown)
↗
4.
Текстовые редакторы (nano, vi/vim)
↗
Управление пользователями и группами
3 урока
1.
Команды для управления пользователями
↗
2.
Работа с группами пользователей
↗
3.
Работа с файлами sudoers и предоставление прав суперпользователя
↗
Управление пакетами и обновлениями
3 урока
1.
Менеджеры пакетов: APT (Debian/Ubuntu)
↗
2.
Установка, обновление и удаление программ
↗
3.
Автоматическое и ручное обновление системы и приложений
↗
работа с системными журналами и процессами
3 урока
1.
Логи: /var/log, syslog, dmesg, journalctl
↗
2.
Команды управления процессами: ps, top, htop, kill
↗
3.
Планировщик задач cron: создание и управление заданиями
↗
Сетевые настройки и службы
4 урока
1.
Настройка сети: ip, ifconfig, netstat
↗
2.
команды ss, ping, traceroute
↗
3.
Статическая и динамическая (DHCP) конфигурация IP-адресов
↗
4.
Установка и настройка SSH-сервера, аутентификация ключами
↗
Безопасность системы
3 урока
1.
Установка и настройка iptables, ufw (Uncomplicated Firewall)
↗
2.
Настройка SSH, аутентификация ключами, отключение root-доступа
↗
3.
ClamAV и fail2ban
↗
Резервное копирование и восстановление
2 урока
1.
Использование tar, rsync и других утилит для резервного копирова
↗
2.
cron
↗
Виртуализация и контейнеризация
2 урока
1.
Установка и настройка виртуальных машин с использованием KVM, Vi
↗
2.
Установка Docker, создание и управление контейнерами
↗
Мониторинг и оптимизация производительности
5 уроков
1.
Утилиты для мониторинга: top, htop, iostat, iotop, vmstat
↗
2.
Анализ нагрузки на процессор, память, сеть и диск
↗
3.
Настройка swap и оптимизация системы
↗
4.
Grafana
↗
5.
Prometheus
↗
Зачет
10 уроков
1.
↗
2.
↗
3.
↗
4.
↗
5.
↗
6.
↗
7.
↗
8.
↗
9.
↗
10.
↗
2. Rust для продвинутых 4.00
Введение в Rust и основы программирования
11 уроков
1.
История и философия Rust
↗
2.
Установка Rust, настройка среды (rustup, Cargo, IDE)
↗
3.
Работа с Cargo
↗
4.
Первая программа: Hello, World!
↗
5.
Основы синтаксиса: переменные, типы данных, константы
↗
6.
Стандартный ввод (stdin)
↗
7.
Управляющие конструкции: if, match, циклы (for, while, loop)
↗
8.
Кортежи, массивы, срезы
↗
9.
Функция
↗
10.
Модули и организация кода
↗
11.
Документирование кода
↗
Работа с памятью, владение и заимствование
8 уроков
1.
Основы владения (ownership), правила владения
↗
2.
Заимствование (borrowing), ссылки (immutable и mutable)
↗
3.
Жизненный цикл переменных (lifetimes)
↗
4.
Ссылки и слайсы
↗
5.
Smart pointers: Box, Rc, Arc
↗
6.
Interior mutability: RefCell, Cell
↗
7.
Работа с коллекциями: Vector, HashMap, HashSet, String
↗
8.
Работа с Option и Result
↗
Структуры данных и ООП
6 уроков
1.
Структуры (struct), перечисления (enum), объединения (union)
↗
2.
Generic programming
↗
3.
Трейты (traits)
↗
4.
Associated types и where-ограничения
↗
5.
Базовые структуры данных
↗
6.
Trait objects и динамическая диспетчеризация (dyn Trait)
↗
Ошибки и обработка исключений
8 уроков
1.
Обработка ошибок с Result и Option
↗
2.
Оператор ? и распространение ошибок
↗
3.
Создание собственных типов ошибок (enum)
↗
4.
Использование популярных библиотек: error-chain, thiserror, anyh
↗
5.
Panic и recover
↗
6.
Паттерны обработки ошибок в реальных приложениях
↗
7.
Pattern matching для ошибок
↗
8.
Балансировка нагрузки
↗
Работа с файлами, вводом/выводом и сериализацией
6 уроков
1.
Работа с файлами
↗
2.
Потоки ввода/вывода: stdin, stdout, stderr
↗
3.
Асинхронный ввод/вывод (async I/O)
↗
4.
Сериализация и десериализация с помощью serde (JSON, TOML, YAML)
↗
5.
Работа с форматами CSV, XML (через дополнительные крейты)
↗
6.
Работа с конфигурационными файлами
↗
Многопоточность и асинхронное программирование
7 уроков
1.
Основы многопоточности: thread::spawn, join
↗
2.
Примитивы синхронизации: Mutex, RwLock, atomic типы
↗
3.
Каналы и обмен сообщениями: mpsc, crossbeam
↗
4.
Безопасность многопоточного кода: Send и Sync
↗
5.
Асинхронное программирование: async/await, Future, Pin
↗
6.
Runtime: tokio, async-std - устройство и отличия
↗
7.
Асинхронные каналы (tokio mpsc, broadcast)
↗
Веб-разработка и сетевое программирование
7 уроков
1.
Основные HTTP-методы: GET, POST, PUT, DELETE
↗
2.
TCP И UDP соединения
↗
3.
Создание REST API с actix-web, axum, rocket
↗
4.
Middleware, обработка запросов и маршрутизация
↗
5.
Аутентификация и авторизация (JWT, OAuth)
↗
6.
Работа с WebSocket
↗
7.
Клиенты HTTP: reqwest, hyper
↗
Работа с базами данных
6 уроков
1.
Обзор ORM и драйверов: diesel, sqlx, sea-orm
↗
2.
Работа с PostgreSQL, SQLite, MySQL
↗
3.
Транзакции и управление ими
↗
4.
Асинхронный доступ к базам данных
↗
5.
Работа с NoSQL базами (Redis, MongoDB)
↗
6.
Миграции и схемы
↗
Проект
1 урок
1.
Проект
↗
Заключение
1 урок
1.
итоги
↗
3. mongoDB для разработчиков
Введение в MongoDB
5 уроков
1.
История и эволюция MongoDB
↗
2.
Установка и базовая конфигурация
↗
3.
Основные понятия и терминология
↗
4.
Структура документов BSON
↗
5.
Инструменты командной строки MongoDB
↗
CRUD операции и запросы
5 уроков
1.
Создание документов и коллекций
↗
2.
Чтение и фильтрация данных
↗
3.
Обновление и замена документов
↗
4.
Удаление данных безопасно
↗
5.
Пакетные операции Bulk Write
↗
Индексы и оптимизация запросов
5 уроков
1.
Типы индексов в MongoDB
↗
2.
Создание и управление индексами
↗
3.
Использование профайлера производительности
↗
4.
Планировщик запросов и explain
↗
5.
Оптимизация многополейных индексов
↗
Агрегации и аналитика данных
5 уроков
1.
Концепции конвейера агрегирования
↗
2.
Стадии $match и $group подробно
↗
3.
Сложные преобразования с $lookup
↗
4.
Агрегации времени и оконные функции
↗
5.
Оптимизация производительности агрегатора
↗
Репликация и высокая доступность
5 уроков
1.
Архитектура Replica Set
↗
2.
Инициализация и конфигурация кворума
↗
3.
Переход первичного узла и выборы
↗
4.
Чтение с вторичных узлов безопасно
↗
5.
Мониторинг задержек репликации
↗
Шардинг и горизонтальное масштабирование
5 уроков
1.
Основы шардинга MongoDB
↗
2.
Выбор ключа шардинга
↗
3.
Балансировка чанков и миграции
↗
4.
Архитектура Query Router mongos
↗
5.
Поиск и отладка неравномерных чанков
↗
Безопасность и управление доступом
5 уроков
1.
Модель безопасности MongoDB
↗
2.
Аутентификация и механизмы SCRAM
↗
3.
Авторизация ролями и привилегиями
↗
4.
Шифрование данных на лету TLS/SSL
↗
5.
Аудит и отслеживание действий
↗
Разработка приложений с MongoDB
5 уроков
1.
Драйверы MongoDB для Node.js
↗
2.
Моделирование схем с Mongoose
↗
3.
Транзакции ACID в MongoDB 4.0+
↗
4.
Использование Change Streams
↗
5.
Тестирование и мокирование базы
↗
4. Алгоритмы и структуры данных для собеседований
Введение в алгоритмы и структуры данных
2 урока
1.
Понятие алгоритма и структуры данных
↗
2.
Значение алгоритмов в программировании
↗
Анализ сложности алгоритмов
3 урока
1.
Асимптотическая нотация: O-нотация
↗
2.
Оценка времени выполнения и использования памяти
↗
3.
Сравнение эффективности различных алгоритмов
↗
Базовые структуры данных
4 урока
1.
Массивы
↗
2.
Связные списки (односвязные и двусвязные)
↗
3.
Стек и очередь
↗
4.
Хэш-таблицы
↗
Алгоритмы сортировки
5 уроков
1.
Пузырьковая сортировка
↗
2.
Сортировка вставками
↗
3.
Сортировка выбором
↗
4.
Быстрая сортировка
↗
5.
Сортировка слиянием
↗
Поисковые алгоритмы
3 урока
1.
Линейный поиск
↗
2.
Бинарный поиск
↗
3.
Поиск в строках (алгоритм Кнута-Морриса-Пратта)
↗
Деревья
3 урока
1.
Бинарные деревья поиска
↗
2.
Деревья с балансировкой (AVL-деревья, красно-черные деревья)
↗
3.
Деревья отрезков
↗
Графы
3 урока
1.
Представление графов (матрица смежности, список смежности)
↗
2.
Обходы графов: поиск в глубину (DFS) и поиск в ширину (BFS)
↗
3.
Алгоритмы кратчайшего пути (Дейкстры, Беллмана-Форда)
↗
Рекурсия и динамическое программирование
3 урока
1.
Понятие рекурсии, примеры использования
↗
2.
Мемоизация
↗
3.
Решение задач методом динамического программирования
↗
Алгоритмы на строках
3 урока
1.
↗
2.
Алгоритм Рабина-Карпа
↗
3.
Алгоритм Бойера-Мура
↗
Практические задачи и подготовка к собеседованиям
2 урока
1.
Решение типовых задач, встречающихся на собеседованиях
↗
2.
Советы по прохождению технических интервью
↗
Практические задачи
5 уроков
1.
1
↗
2.
2
↗
3.
3
↗
4.
4
↗
5.
5
↗