Сможете вырасти до мидла: пройдёте 54 урока, сделаете 3 учебных проекта и получите 12 индивидуальных консультаций.
- Введение и вступительный тест. Вы узнаете о том, как устроено обучение, и пройдёте тест по основам бэкенд-разработки и синтаксиса Go.
- Пакеты стандартной библиотеки. В этом модуле расскажем о популярных пакетах Go. Вы научитесь писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.
- Конкурентность. Расскажем, что такое многопоточность на уровне операционной системы. Вы узнаете, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace. Отвечая на эти и другие вопросы, плавно перейдём к устройству планировщика Go. Потом познакомим вас с легковесными потоками в языке — goroutines и другими средствами языка для написания многопоточных приложений.
- Первый выпускной проект. Вы сможете выполнить проект по предложенному нами ТЗ индивидуально или в команде с другими студентами. Также вы сможете сделать свой проект, предварительно согласовав его с ментором. Проверять выпускные проекты будут менторы. На выполнение проекта у вас будет 5 недель.
- Паттерны проектирования. В этом модуле рассмотрим паттерны проектирования и антипаттерны программирования на Go. Вы узнаете, как реализовать наиболее распространённые паттерны проектирования приложений и как избежать неявных ошибок при программировании на Go.
- Туллинг. Сильная сторона Go — встроенные инструменты разработчика. В этом модуле вы научитесь использовать туллинг для стилизации и статического анализа кода, создания документации, кодогенерации и профилирования.
- Расширенная стандартная библиотека. В Go многие вещи доступны «из коробки», и приветствуется написание собственных решений на основе стандартной библиотеки. В этом модуле вы завершите знакомство со встроенными пакетами Go и познакомитесь с «расширенной» стандартной библиотекой языка, в которой содержится большое количество полезных пакетов.
- Второй выпускной проект. Вы сможете выполнить проект по предложенному нами ТЗ индивидуально или в команде с другими студентами. Также вы сможете сделать свой проект, предварительно согласовав его с ментором. Проверять проекты будут эксперты — авторы и менторы курса. На выполнение проекта у вас будет 5 недель.
- Вебинары. В дополнение к теории и практике менторы будут проводить для вас вебинары один раз в спринт, в конце первой недели. Вебинары нужны для того, чтобы подробнее остановиться на сложных темах, разобрать самые частые ошибки и ответить на вопросы по курсу, Go или программированию в целом.
- Сессии 1:1. У каждого студента будет возможность один раз в спринт созвониться со своим ментором один на один. В отведённые полчаса вы можете не только задать вопросы по проекту, но и обсудить карьерные ожидания, поделиться опытом разработки или затронуть любую другую интересующую вас тему.