Учебные маршруты
Доклады и демонстрации
Когда шпаргалки мало, помогает увидеть, как это делают другие. Здесь собраны лекции преподавателей и короткие разборы по темам справочника — от первых шагов до приёмов посложнее. Выберите тему, начните с записи для новичков и держите шпаргалку открытой рядом: к каждому видео есть короткий список главного.
Git
Три минуты, чтобы увидеть Git в деле: настройка, первые коммиты, ветка и слияние на живом репозитории.
Начните здесь: Git: шпаргалка на каждый день, Сравнение текстов (diff)
Уровень: новичок · демонстрация в терминале · 2 мин
Git за две минуты: от пустой папки до слияния веток
Автор: · разбор по шпаргалке «Git» · лицензия CC BY 4.0 Что в демонстрации
- Имя и почта в настройках попадают в каждый коммит, поэтому их задают один раз в самом начале.
- Изменение проходит путь: рабочая папка → индекс (git add) → коммит. git status и git diff показывают, где оно сейчас.
- Новую работу удобно вести в отдельной ветке: main не меняется, пока вы не вольёте правки.
- Если main не ушёл вперёд, слияние просто передвигает указатель ветки (fast-forward), а влитую ветку можно удалить.
Оглавление
Регулярные выражения
Как регулярные выражения помогают в обычной работе: ищем ошибки в журнале веб-сервера, вытаскиваем адреса и телефоны из текста.
Начните здесь: Регулярные выражения: синтаксис и готовые шаблоны, Тестер регулярных выражений
Уровень: новичок · демонстрация в терминале · 1 мин
grep и регулярные выражения на живых логах
Автор: · разбор по шпаргалке «Регулярные выражения» · лицензия CC BY 4.0 Что в демонстрации
- grep -E включает привычный синтаксис: классы [45], квантификаторы {2}, группы и альтернативы.
- -o печатает только найденный кусок, и вместе с sort | uniq -c это готовая статистика по журналу.
- sed -E с группами в скобках переставляет части строки: \1, \2 в замене — это найденные группы.
- -w ищет целое слово, -v — строки без совпадения; шаблоны почты и телефонов из шпаргалки работают как есть.
Оглавление
Терминал, Bash и Linux
Если терминал пока пугает, начните с лекции: по шагам разобрано, что такое пользователи и процессы, как запускать задачи в фоне, перенаправлять вывод и писать свои скрипты. Команды на каждый день — в шпаргалках.
Начните здесь: Bash: скрипты без сюрпризов, Команды Linux на каждый день, Права файлов в Linux: chmod, chown, umask
Уровень: новичок · демонстрация в терминале · 1 мин
Скрипт на Bash: заготовка, переменные, циклы и ошибки
Автор: · разбор по шпаргалке «Bash» · лицензия CC BY 4.0 Что в демонстрации
- Переменные берут в двойные кавычки: так значение с пробелами не разваливается на части.
- Подстановки ${f##*/}, ${f%.csv} и ${PORT:-8080} режут строки и подставляют значения без внешних программ.
- set -euo pipefail останавливает скрипт на первой ошибке, а ${1:?текст} сам объясняет, какого аргумента не хватает.
- > и 2> разводят результат и сообщения об ошибках по разным файлам.
Оглавление
Уровень: новичок · лекция · 1 ч 35 мин
Командная строка GNU/Linux
Автор: · МФТИ, курс «Анализ данных на Python», занятие 5, 2021 · страница записи · лицензия CC BY 3.0 О чём лекция
- Linux — многопользовательская многозадачная система: у пользователя есть номер UID, у группы — GID, у каждого процесса — владелец. Сначала это объясняется на доске.
- Процессы: ps и top, папка /proc, где у каждого процесса своя папка со сведениями, и как узнать, кто запустил процесс.
- Задания в одном терминале: запуск в фоне через &, Ctrl+Z, jobs, fg и bg, сигналы и kill.
- Перенаправление вывода в файл, конвейеры с grep и как не перепутать вывод программы с сообщениями об ошибках.
- Свои скрипты: строка #!, право на выполнение через chmod, переменная PATH и переменные окружения.
SQL и PostgreSQL
Четыре лекции на одной учебной базе магазина игр: подключаемся к PostgreSQL, выбираем и считаем данные, связываем таблицы и аккуратно их меняем. Подойдёт тем, кто только начинает работать с базами данных.
Начните здесь: SQL: шпаргалка по запросам
Уровень: новичок · лекция · 25 мин
Консоль psql и первые команды SQL
Автор: · цикл «Базы данных» на канале «Алгоритмизация и программирование», 2025–2026 · страница записи · лицензия CC BY-SA 4.0 О чём лекция
- Для подключения к PostgreSQL нужны адрес, порт, имя базы, пользователь и пароль; основной рабочий инструмент — консоль psql.
- Команды консоли: \l — список баз, \dt — таблицы, \d имя — устройство таблицы с ключами и индексами, \du — пользователи, \q — выход.
- SQL-команда выполняется только после точки с запятой. Если её забыть, меняется приглашение консоли, а Ctrl+C сбрасывает набранное.
- \gx вместо точки с запятой показывает каждую запись отдельным блоком — удобно для широких таблиц.
- Длинные запросы удобно хранить в файлах проекта и выполнять командой \i.
Уровень: новичок · лекция · 43 мин
Простые и агрегатные запросы
Автор: · цикл «Базы данных» на канале «Алгоритмизация и программирование», 2025–2026 · страница записи · лицензия CC BY-SA 4.0 О чём лекция
- Учебная база магазина игр: схема таблиц и связи между ними, на ней построены все запросы цикла.
- SELECT с нужными столбцами, сортировка ORDER BY и отбор строк WHERE — по дате и по шаблону почты оператором ~.
- EXPLAIN показывает план запроса: полный перебор таблицы (Seq Scan) или поиск по индексу (Index Scan).
- Агрегатные запросы: COUNT и группировка по году и месяцу с функцией date_part, разбор ошибок по сообщениям PostgreSQL.
Уровень: средний · лекция · 43 мин
Перекрёстные запросы: JOIN
Автор: · цикл «Базы данных» на канале «Алгоритмизация и программирование», 2025–2026 · страница записи · лицензия CC BY-SA 4.0 О чём лекция
- Перекрёстный запрос собирает данные из нескольких таблиц, связанных внешним ключом.
- Псевдонимы таблиц и столбцов через AS делают длинный запрос читаемым.
- INNER JOIN оставляет только строки, для которых нашлась пара; LEFT OUTER JOIN сохраняет все строки левой таблицы.
- Связь «многие ко многим» через промежуточную таблицу: игры и их категории.
Уровень: средний · лекция · 43 мин
INSERT, UPDATE, DELETE и транзакции
Автор: · цикл «Базы данных» на канале «Алгоритмизация и программирование», 2025–2026 · страница записи · лицензия CC BY-SA 4.0 О чём лекция
- INSERT добавляет строки, а ограничение NOT NULL не даёт записать строку без обязательного поля — PostgreSQL объясняет, что не так.
- UPDATE и DELETE с условием WHERE; правки внутри START TRANSACTION … COMMIT становятся видны только после фиксации.
- Те же операции из программы на Python через psycopg: подключение, курсор, commit.
- Значения передаются в запрос параметрами %s, а не склейкой строк, и тестовые данные генерирует библиотека Faker.
HTTP и curl
Проверяем API прямо из терминала: запросы, коды ответа, заголовки и разбор JSON — без графических программ.
Начните здесь: curl: запросы из командной строки, Коды ответа HTTP, Заголовки HTTP: кеш, CORS, cookie, безопасность, URL-кодирование и разбор адреса, JSON-форматтер и валидатор
Уровень: новичок · демонстрация в терминале · 1 мин
curl и jq: проверяем API из терминала
Автор: · разбор по шпаргалке «curl» · лицензия CC BY 4.0 Что в демонстрации
- curl -s печатает только ответ, -i добавляет строку статуса и заголовки.
- jq делает из ответа читаемый JSON и достаёт нужные поля: .[].name, select(.role == "admin").
- Для скриптов: -o /dev/null -w '%{http_code}' даёт только код ответа, а -f превращает ошибку HTTP в код выхода.
- --json отправляет JSON методом POST, -H добавляет заголовок, например токен авторизации.
Оглавление
Python
Лекции Тимофея Хирьянова (МФТИ): от первой программы и циклов к функциональному стилю, ООП, модулям и обработке ошибок. Короткие приёмы для терминала — в шпаргалке.
Начните здесь: Python в одну строку: полезные приёмы для терминала
Уровень: новичок · лекция · 1 ч 20 мин
Первая лекция по Python: присваивание, арифметика, циклы
Автор: · МФТИ, курс «Алгоритмы и структуры данных на Python 3», лекция 1, 2017 · страница записи · лицензия CC BY 3.0 Лекция у доски, без компьютера: всё объясняется мелом.
О чём лекция
- Что такое программирование: синтаксис языка, алгоритмы и структуры данных, прикладные библиотеки и практика.
- Присваивание в Python связывает имя с объектом; обмен значений через временную переменную и множественным присваиванием a, b = b, a.
- Арифметика: возведение в степень **, деление нацело // и остаток %, и как ими пользоваться в задачах.
- Циклы while и for, вложенные циклы, break и continue, функция range() и условный оператор if.
Уровень: средний · лекция · 2 ч 00 мин
Функциональное программирование на Python
Автор: · МФТИ, курс «Анализ данных на Python», занятие 2, 2021 · страница записи · лицензия CC BY 3.0 О чём лекция
- Императивный и функциональный стиль: функция как объект, который можно передать в другую функцию и вернуть из неё.
- Рекурсия на примере снежинки Коха, нарисованной черепашкой turtle.
- Итерируемые объекты и итераторы, ленивые генераторные выражения и range, который не хранит числа в памяти.
- map, filter, lambda и zip: обработка последовательностей без явного цикла; свой итератор через __next__ и функция-генератор с yield.
- Задачи на модуль itertools: перестановки, сочетания и groupby.
Уровень: средний · лекция · 1 ч 10 мин
ООП и принципы SOLID, модули и исключения в Python
Автор: · МФТИ, курс «Анализ данных на Python», занятие 1, 2021 · страница записи · лицензия CC BY 3.0 О чём лекция
- Пять принципов SOLID простыми словами и почему не стоит увлекаться наследованием.
- Классы и объекты в Python: конструктор, атрибуты класса и экземпляра, специальные методы, статические и классовые методы, абстрактные классы.
- Как делить программу на модули и не путаться в именах, что есть в стандартной библиотеке: sys, os, os.path, tempfile, csv.
- Обработка ошибок: try, except, else и finally, и какие исключения лучше не перехватывать.
Оглавление