Чему вы научитесь
От первого запуска Zig до собственной системной утилиты
В этом курсе вы изучаете Zig через последовательную разработку ZScan — консольного анализатора каталогов. Начав с готового каркаса и вывода версии программы, вы постепенно добавите работу с данными, памятью, файлами и аргументами командной строки. В финале утилита будет обходить вложенные каталоги, применять фильтры, искать дубликаты и формировать текстовые и JSON-отчёты.
Что входит в программу
- Основы языка: инструменты Zig, типы и преобразования, условия и циклы, массивы, срезы, строки, структуры, перечисления и tagged union.
- Ошибки и память: optional, error union, try и catch, defer и errdefer, указатели, время жизни данных, аллокаторы и коллекции стандартной библиотеки.
- Практическая разработка: файловая система и CLI, тестирование, диагностика, проверка утечек и работа с производительностью.
- Возможности Zig: comptime, обобщённый код, reflection, система сборки, взаимодействие с C и кросс-компиляция.
- Финальный проект: объединение модулей ZScan, обработка ошибок пользователя, проверка отчётов и подготовка сборки.
Один проект, понятные шаги
Каждый урок начинается с цели и небольшого рабочего результата. Затем идут пошаговый маршрут, объяснение новых конструкций, схемы, разбор типичных ошибок и практические задания. Начальные и готовые версии проекта доступны в ZIP-архивах: вы работаете в своей копии, а эталон используете для сравнения и восстановления.
Версия курса — Zig 0.16.0. Для практики нужен собственный компьютер: вы запускаете код и тесты локально, сравниваете вывод с ожидаемым и переносите изученные приёмы в ZScan. Предварительное знание Zig не требуется; установка, терминал и первые команды разобраны в начале курса.
К концу обучения у вас будет проект, на котором можно объяснить весь путь данных: от аргументов запуска и обхода файлов до обработки ошибок и готового отчёта.
Об авторе курса
Рад с Вами познакомиться. Меня зовут Андрей Соболев и я являюсь действующим разработчиком, автором open source-библиотек и наставником по backend-разработке. В основной работе использую Python, а также пишу на системном языке Rust.
Разрабатываю практические инструменты для Python-экосистемы. Моя библиотека ChannelBox предназначена для WebSocket-рассылок в приложениях на FastAPI и Starlette и включена в официальный каталог сторонних пакетов Starlette. Другие мои проекты доступны в профиле на GitHub.
Несколько лет обучаю Python и backend-разработке, помогаю готовиться к техническим собеседованиям и создавать итоговые проекты. На занятиях объясняю не только как написать работающий код, но и почему он работает, как связаны компоненты системы и где искать причину ошибки.
Учебные программы мы разрабатываем вместе с супругой — выпускницей МГУ и действующим репетитором, работающим со школьниками. Она помогает выстраивать последовательность материала, понятные объяснения и систему закрепления знаний, а я отвечаю за техническое содержание, архитектуру и практику современной разработки.
Курсы строятся как последовательная работа над настоящим проектом. В каждом уроке появляется одна новая возможность, которую можно реализовать, запустить и проверить. Такой подход помогает перейти от повторения готового кода к самостоятельному пониманию всей системы.
Ученики особенно отмечают структурированную подачу, движение от простого к сложному, подробные практические задания и понятное объяснение сложных технологий. Посмотреть реальные отзывы учеников на Авито.
Высшее образование — МАИ, диплом государственного образца.
О курсе
Для кого этот курс
Начальные требования
Предварительное знание Zig не требуется. Нужно уметь скачивать и распаковывать архивы, открывать папки и редактировать текстовые файлы. Терминал, сборка и первые команды объясняются в начале курса.
Для практики нужен компьютер с Windows, Linux или macOS, доступом к интернету, текстовым редактором и возможностью установить Zig 0.16.0. Используйте версию компилятора, указанную в курсе, чтобы примеры и команды совпадали с материалами.
Опыт программирования на любом языке поможет двигаться быстрее, но обязательный маршрут начинается с первых шагов. Будьте готовы самостоятельно запускать программы, читать сообщения компилятора и исправлять ошибки. Практику нужно выполнять на компьютере; одного телефона для этого недостаточно.
Преподаватели курса
Как проходит обучение
Обучение проходит в собственном темпе по 14 модулям. В каждом уроке есть текстовый материал с пошаговым маршрутом, углублённым разбором, схемами и практическими заданиями.
Сначала скачайте начальную и готовую версии проекта в разные папки и сравните их работу. Затем внесите небольшое изменение в свою копию, соберите и запустите программу. Готовая версия нужна для сверки и восстановления, а не для замены самостоятельной работы.
Практические задания выполняются локально: Stepik показывает условия, но не запускает Zig. Вы работаете со стартовыми шаблонами, сравниваете вывод с ожидаемым, запускаете тесты и проверку форматирования. Подсказки по типичным ошибкам и остановки для самопроверки помогают закреплять материал.
После отдельных упражнений переносите изученный приём в ZScan. Финальный модуль объединяет обход каталогов, фильтры, поиск дубликатов, текстовый и JSON-отчёты в одну утилиту. Завершайте этап, когда программа собирается, тесты проходят, а результат соответствует описанию.