Чем занимаются Go-разработчики?
Создают высоконагруженные сервисы в сферах онлайн-ретейла, доставки, финтеха, интернета вещей. Язык программирования Go хорошо подходит для такого рода проектов, так как отличается масштабируемостью и высокой производительностью.
Навыки и инструменты, которые будете использовать
Мы составляем и обновляем программу вместе с действующими Go-разработчиками и работодателями — так вы учитесь только тому, что актуально
- REST API
- HTTP
- Базы данных
- Многопоточность
- Профилирование
- Стилизация
- Документация
- Дженерики
- Кодогенерация
- TCP/UDP
- gRPC
- Паттерны
Это курс для разработчиков с опытом
Вам понадобятся базовые знания Go и бэкенд-разработки. Чтобы программа не оказалась слишком сложной, рекомендуем свериться со списком навыков, которые понадобятся для комфортного обучения на курсе.
Курс подойдёт вам, если
- У вас есть опыт работы с Go, но вы хотите упорядочить свои знания
- Вы уже программируете на другом языке и хотите перейти на Go
- Вы работаете Go-разработчиком и хотите выйти на новый уровень
- Вы работаете на смежной должности и хотите сменить профессию
Программа курса:
Введение и вступительный тест
Вы узнаете о том, как устроено обучение, и пройдёте тест по основам бэкенд-разработки и синтаксиса Go.
Пакеты стандартной библиотеки
В этом модуле расскажем о популярных пакетах Go. Вы научитесь писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.
Конкурентность
Расскажем, что такое многопоточность на уровне операционной системы. Вы узнаете, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace. Отвечая на эти и другие вопросы, плавно перейдём к устройству планировщика Go. Потом познакомим вас с легковесными потоками в языке — goroutines и другими средствами языка для написания многопоточных приложений.
Первый выпускной проект
Вы сможете выполнить проект по предложенному нами ТЗ индивидуально или в команде с другими студентами. Также вы сможете сделать свой проект, предварительно согласовав его с ментором. Проверять выпускные проекты будут менторы. На выполнение проекта у вас будет 5 недель.
Вебинары
В дополнение к теории и практике менторы будут проводить для вас вебинары один раз в спринт, в конце первой недели. Вебинары нужны для того, чтобы подробнее остановиться на сложных темах, разобрать самые частые ошибки и ответить на вопросы по курсу, Go или программированию в целом.