[OTUS] Разработчик Golang [2020]
Что даст вам этот курс?
При переходе на Go люди зачастую сталкиваются с различными неудобствами, вызванными непохожестью Go на другие языки программирования. В этом курсе мы хотели бы объяснить, что такое Go-way, рассказать про идиомы языка и помочь избежать типичных ошибок. Программа курса позволит погрузиться в разработку на Go для решения практических задач, углубления знаний в языке и сопутствующем технологическом стеке.
Этот курс подойдет для:
Модуль 1. Начало работы с Go
Что даст вам этот курс?
При переходе на Go люди зачастую сталкиваются с различными неудобствами, вызванными непохожестью Go на другие языки программирования. В этом курсе мы хотели бы объяснить, что такое Go-way, рассказать про идиомы языка и помочь избежать типичных ошибок. Программа курса позволит погрузиться в разработку на Go для решения практических задач, углубления знаний в языке и сопутствующем технологическом стеке.
Этот курс подойдет для:
- web-разработчиков, которые хотят переквалифицироваться в Go и расширить свой уровень мастерства;
- всех тех, кто уже разобрался с основой Go и хочет начать применять язык правильно.
- Изучение внутренних механизмов Golang, а не только синтаксиса языка
- Практика — реальные проблемы и их решения, с которыми столкнулись авторы при работе с Go
- Теория — реальные кейсы перевода на стек языка Golang с других технологических стеков (PHP, C#) крупных высоконагруженных проектов
- Выпускной проект (кейс для портфолио) — самостоятельная разработка микросервиса
- писать production-ready код, многопоточные и конкурентные программы;
- понимать синтаксис и внутреннее устройство языка Go;
- понимать особенности сетевого программирования;
- уметь создавать микросервисы с помощью Go;
- разворачивать микросервисы с помощью docker.
Модуль 1. Начало работы с Go
- Сильные и слабые стороны Golang
- Инструментарий и начало работы с Go
- Тестирование в Go
- Элементарные типы данных в Go
- Структуры
- Массивы, слайсы и словари
- Функции и методы
- Обработка ошибок. Понятие паники
- Интерфейсы. Часть 1
- Интерфейсы. Часть 2
- Горутины и каналы
- Примитивы синхронизации. Часть 1
- Примитивы синхронизации. Часть 2
- Concurrency patterns
- Go внутри. Планировщик
- Go внутри. Память и сборка мусора
- Работа с вводом/выводом в Go
- Форматирование данных
- Взаимодействие с OS
- Рефлексия
- Кодогенерация в Go
- Файлы конфигурации и логирование
- Профилирование и оптимизация Go программ
- Контекст и низкоуровневые сетевые протоколы
- Работа с SQL
- Работа с HTTP
- Работа с gRPC
- Монолит и микросервисы
- Очереди сообщений
- Docker
- Тестирование микросервисов
- Мониторинг
- Проектная работа
- Консультация по проектам
- Итоговое занятие
https://otus.ru/lessons/razrabotchik-golang/