dsa-for-ops – Алгоритмы и структуры данных для эксплуатации¶
База для будущих SRE / DevOps / Ops, которые хотят вырасти из bash-скриптов в инженеров-программистов. Репозиторий объединяет три направления:
- Структуры данных и алгоритмы — лабораторные «с нуля», без магии: каждая структура реализована руками, чтобы было видно, как она устроена внутри.
- Основы программирования — теоретический курс «Основы алгоритмизации и программирования» (Python 3.14 и Go 1.23): алгоритмизация, Python, ООП, стандартная библиотека, разработка приложений, качество кода.
- Go для эксплуатации — на Go написаны Kubernetes, Docker, Terraform; полноценный трек от основ до конкурентности,
context,net/httpи профилирования.
Каждый раздел конспекта самодостаточен: что это, зачем нужно, как устроено, сложность операций и работающий пример кода — читается без обращения к исходникам.
Разделы¶
-
Структуры данных и алгоритмы «с нуля»: академические
lab01–lab05(массив, стек, список, дерево, сортировки, поиск, hash map) и прикладные расширенияlab00,lab06–lab11(графы, куча, LRU-кэш, rate limiting, разбор логов, consistent hashing). -
Темы 01–09: алгоритмизация, языки и методы, основы Python, процедуры и файлы, библиотеки и модули, ООП, IDE, этапы разработки, иерархия классов.
-
Темы 10–12: стандартные модули (HTTP, regex, SQLite, конкурентность), разработка приложений (логирование, Django, standalone), качество кода и тестирование.
-
Темы 13–14: основы Go и продвинутый трек — конкурентность,
context,net/http, файлы/JSON/БД, бенчмарки и pprof. -
Сквозной проект, шпаргалки, работа с Git, описания курсовых лабораторных и экзаменационные билеты.
Требования¶
- Python >= 3.14, uv для управления зависимостями.
- Go >= 1.23 для Go-трека и Go-версий лабораторных.
Быстрый старт¶
make sync # установить зависимости
make py-run # список доступных Python-лабораторных
make py-run lab01 # запустить конкретную лабораторную
make test # тесты + coverage
make docs # локальный сервер документации на http://127.0.0.1:8000
Исходники проекта: github.com/jtprogru/dsa-for-ops.