Продвинутый Go: эффективный код и производительные сервисы
Введение и вступительный тест. Вы узнаете о том, как устроено обучение, и пройдёте тест по основам бэкенд-разработки и синтаксиса Go.
Пакеты стандартной библиотеки. В этом модуле расскажем о популярных пакетах Go. Вы научитесь писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.
Конкурентность. Расскажем, что такое многопоточность на уровне операционной системы. Вы узнаете, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace. Отвечая на эти и другие вопросы, плавно перейдём к устройству планировщика Go. Потом познакомим вас с легковесными потоками в языке — goroutines и другими средствами языка для написания многопоточных приложений.
Первый выпускной проект. Вы сможете выполнить проект по предложенному нами ТЗ индивидуально или в команде с другими студентами. Также вы сможете сделать свой проект, предварительно согласовав его с ментором. Проверять выпускные проекты будут менторы. На выполнение проекта у вас будет 5 недель.
Паттерны проектирования. В этом модуле рассмотрим паттерны проектирования и антипаттерны программирования на Go. Вы узнаете, как реализовать наиболее распространённые паттерны проектирования приложений и как избежать неявных ошибок при программировании на Go.
Туллинг. Сильная сторона Go — встроенные инструменты разработчика. В этом модуле вы научитесь использовать туллинг для стилизации и статического анализа кода, создания документации, кодогенерации и профилирования.
Расширенная стандартная библиотека. В Go многие вещи доступны «из коробки», и приветствуется написание собственных решений на основе стандартной библиотеки. В этом модуле вы завершите знакомство со встроенными пакетами Go и познакомитесь с «расширенной» стандартной библиотекой языка, в которой содержится большое количество полезных пакетов.
Второй выпускной проект. Вы сможете выполнить проект по предложенному нами ТЗ индивидуально или в команде с другими студентами. Также вы сможете сделать свой проект, предварительно согласовав его с ментором. Проверять проекты будут эксперты — авторы и менторы курса. На выполнение проекта у вас будет 5 недель.
Вебинары. В дополнение к теории и практике менторы будут проводить для вас вебинары один раз в спринт, в конце первой недели. Вебинары нужны для того, чтобы подробнее остановиться на сложных темах, разобрать самые частые ошибки и ответить на вопросы по курсу, Go или программированию в целом.
Сессии 1:1. У каждого студента будет возможность один раз в спринт созвониться со своим ментором один на один. В отведённые полчаса вы можете не только задать вопросы по проекту, но и обсудить карьерные ожидания, поделиться опытом разработки или затронуть любую другую интересующую вас тему.
Проходил курс "Продвинутый Go-разработчик" c 17.11.2025 по 09.07.2026. Немного о том зачем я брал данный курс, являюсь DevSecOps-специалистом (опыт 10+ лет), постоянно требуется дорабатывать OpenSource-инструменты или создавать собственные. Когда то самостоятельно изучал Python, писал код, выяснял, что сделал что-то не оптимально, переписывал, узнавал новые "best-practices" и заново переписывал. Захотелось при изучении нового языка сначала изучить теорию как делать правильно, чтобы тратить меньше времени в будущем. Данный курс справился со своей задачей, что я получил: структурированный материал, теоретическая выжимка из разных книг (экономия времени), опытные ревьюеры, которые объясняют как делать хорошо, а плохо не делать, онлайн встречи (чтобы посмотреть как другие студенты усваивают материал, есть ли у них такие же вопросы), встречи 1:1 (если стесняешься спрашивать в группе), две встречи за курс. Можно ли научиться без прохождения курса? Да, но по прошлому опыту для меня вариант с курсом оказался проще (в том числе есть дедлайны по приемке работ) Что не понравилось? В курсе есть тесты с вариантами ответов, вопросы сформулированы так, что не понятно, что авторы курса имели ввиду и соотвественно правильно ответить не получится. Такое было редко, но встречалось периодически в разных спринтах. О спринтах их 10 штук, времени будет уходить много, чтобы усвоить материал. О практических работах - 2 самостоятельных задания, первое обычный REST API (CRUD) - на выбор поработать с сокращением ссылок или метриками, второе self-hosted менеджер паролей (ваш самописный keepass/vaultwarden/bitwarden).