Перейти к содержанию

dsa-for-ops – Алгоритмы и структуры данных для эксплуатации

База для будущих SRE / DevOps / Ops, которые хотят вырасти из bash-скриптов в инженеров-программистов. Репозиторий объединяет три направления:

  • Структуры данных и алгоритмы — лабораторные «с нуля», без магии: каждая структура реализована руками, чтобы было видно, как она устроена внутри.
  • Основы программирования — теоретический курс «Основы алгоритмизации и программирования» (Python 3.14 и Go 1.23): алгоритмизация, Python, ООП, стандартная библиотека, разработка приложений, качество кода.
  • Go для эксплуатации — на Go написаны Kubernetes, Docker, Terraform; полноценный трек от основ до конкурентности, context, net/http и профилирования.

Каждый раздел конспекта самодостаточен: что это, зачем нужно, как устроено, сложность операций и работающий пример кода — читается без обращения к исходникам.

Разделы

  •   DSA


    Структуры данных и алгоритмы «с нуля»: академические lab01lab05 (массив, стек, список, дерево, сортировки, поиск, hash map) и прикладные расширения lab00, lab06lab11 (графы, куча, LRU-кэш, rate limiting, разбор логов, consistent hashing).

  •   Основы


    Темы 01–09: алгоритмизация, языки и методы, основы Python, процедуры и файлы, библиотеки и модули, ООП, IDE, этапы разработки, иерархия классов.

  •   Эксплуатация


    Темы 10–12: стандартные модули (HTTP, regex, SQLite, конкурентность), разработка приложений (логирование, Django, standalone), качество кода и тестирование.

  •   Go


    Темы 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.