Чему вы научитесь
- Принимать решения исходя из своих знаний устройства языка.
- Анализировать поведение рантайма.
- Лучше понимать реальную стоимость аллокаций.
- Работать с внутренней структурой слайсов, интерфейсов и новых map (на Swiss Tables).
- Проектировать эффективную асинхронность.
- Применять паттерны конкурентности не по шаблонам из статей, а исходя из задач системы, чтобы не было в приложении никаких гонок данных и утечек горутин.
- Строить HTTP-серверы и клиенты.
- Создавать CLI-приложения и работать с JSON/файлами так, как это делается в реальных высоконагруженных проектах.
- Работать со временем и данными корректно.
- Осознанно выбирать абстракции, сравнивать подходы и понимать trade-offs между удобством кода и его эффективностью на уровне памяти и CPU.
- Мыслить как инженер, не просто писать работающий код, а создавать системы, предсказуемые под нагрузкой и поддерживаемые в долгосрочной перспективе.
О курсе
Это второй курс из серии "Твой Go". Серия создана для разработчиков, которые хотят получить глубокое понимание языка, изучая его внутреннее устройство.
Почему этот курс: На рынке много материалов по основам Go, но почти нет курсов, которые разбирают углубленно нюансы языка, устройство интерфейсов и map в памяти или асинхронных паттернов с точки зрения рантайма. Этот курс заполняет этот пробел. Материал основан на опыте разработки production-систем и преподавания Go, а не на пересказе документации.
Что внутри: Курс состоит из более чем 50 часов видео, в котором нет воды, исключительно разборы и практические задачи. Из основных тем:
- Внутреннее устройство слайсов, интерфейсов и мап (Swiss Tables).
- Работа со временем.
- Файловый I/O.
- JSON. Сериализация, потоковая обработка, оптимизация.
- Асинхронность, горутины, каналы, sync-пакеты на практике.
- Паттерны конкурентности, начиная с worker pool, заканчивая graceful shutdown.
- Разработка CLI-приложений - структура, флаги, конфигурация.
- HTTP, серверы, клиенты, middleware.
Особенности: Каждая тема объясняется как в плане теории, внутренняя реализация, так и со стороны практического применения. Вы не просто учите API, вы начнете понимать, почему оно работает именно так.
Формат работы: Видеолекции с демонстрацией кода, практические задания с автоматической проверкой, тесты и разбор типичных ошибок.
Поддержка и обсуждения - в закрытом Telegram-сообществе.
Для кого этот курс
Начальные требования
Для успешного освоения курса необходимо:
- Знание синтаксиса Go и стандартной библиотеки.
- Прохождение базового курса по Go (или эквивалентные знания).
Если сомневаетесь - начните с базового курса по Go.
Наши преподаватели
Как проходит обучение
Обучение строится вокруг практики и глубокого понимания, а не пассивного просмотра видео.
Что входит в курс:
- Видеолекции с детальными разборами тем и демонстрацией кода.
- Тестовые задания, где вы будете закреплять знания, которые были получены в видео.
- Практические задания для закрепления материала. Задачи, зачастую, приближены к реальным backend-сценариям.
- Автоматическая проверка решений с подробными тестами и обратной связью по ошибкам.
- Закрытое Telegram-сообщество для вопросов, обсуждения решений и обмена опытом. Я и другие студенты отвечаем на вопросы и помогаем разобраться в сложных темах.
Формат предполагает самостоятельную работу в удобном темпе с возможностью получить помощь при возникновении трудностей.
Программа курса
Что вы получаете
- Глубокое понимание Go, которое отличает инженера от кодера.
- Знание runtime, понимание работы памяти, компилятора и их влияния на архитектуру приложений.
- Умение писать производительный, надежный и поддерживаемый код, работать с асинхронностью и HTTP на уровне реальных проектов.
- Практический опыт через задачи, моделирующие реальные инженерные проблемы, а не академические примеры.
- Доступ к сообществу единомышленников и прямую поддержку автора курса в Telegram.
- Фундамент для дальнейшего роста. Курс готовит к изучению продвинутых тем следующего уровня (БД, тестирование, дженерики, профилирование и другие темы).
- Сертификат об успешном завершении курса.