[OTUS] Разработчик Golang. Часть 1/5
При переходе на Go люди зачастую сталкиваются с различными неудобствами, вызванными непохожестью Go на другие языки программирования. В этом курсе мы хотели бы объяснить что такое Go-way, рассказать про идиомы языка и помочь избежать типичных ошибок. Программа курса позволит погрузиться в разработку на Go для решения практических задач, углубления знаний в языке и сопутствующем технологическом стеке.
Этот курс подойдет для:
При переходе на Go люди зачастую сталкиваются с различными неудобствами, вызванными непохожестью Go на другие языки программирования. В этом курсе мы хотели бы объяснить что такое Go-way, рассказать про идиомы языка и помочь избежать типичных ошибок. Программа курса позволит погрузиться в разработку на Go для решения практических задач, углубления знаний в языке и сопутствующем технологическом стеке.
Этот курс подойдет для:
- web-разработчиков, которые хотят переквалифицироваться в Go и расширить свой уровень мастерства;
- всех тех, кто уже разобрался с основой Go и хочет начать применять язык правильно.
- писать production-ready код, многопоточные и конкурентные программы;
- понимать синтаксис и внутреннее устройство языка Go;
- понимать особенности сетевого программирования;
- уметь создавать микросервисы с помощью Go;
- способен разворачивать микросервисы с помощью docker.
https://otus.ru/lessons/razrabotchik-golang/
Модуль 1. Начало работы с go
- Начало работы c Go
- Элементарные типы данных в Go
- Слайсы и словари
- Функции и обработка ошибок
- Структуры
- Интерфейсы
- Горутины и каналы
- Примитивы синхронизации
- Пакеты и библиотеки
- Инструменты Go разработчика
- Работа с вводом/выводом
- Форматирование данных
- Взаимодействие с OS
- Файлы конфигурации и логирование
- Рефлексия
- Кодогенерация в Go
- Профилирование и оптимизация Go программ
- Go Internals
- Низкоуровневые протоколы TCP, UDP, DNS
- HTTP библиотека
- GRPC
- Работа с SQL
- Продвинутая работа с базами
- NoSQL базы данных
- Очереди сообщений
- Монолит и микросервисы
- Docker
- Kubernetes
- Обнаружение сервисов
- Мониторинг
- Тестирование микросервисов
- Использование CI
- Проектная работа
- Консультация по проектам
- Презентация проектов