Разработка на Go

От: ФРОО

5/5
1 отзыва

Освоить свою профессию на уровне middle-специалиста GO-разработчикам поможет курс "Разработка на Go". Он рассчитан на 60 дней. Для прохождения программы достаточно выделять по 2–5 часов в неделю на прослушивание видеолекций и выполнение домашних заданий. В итоге ученик изучит основы языка для разработки веб-сервисов с помощью Go, запустит собственное приложение, узнает о типичных проблемах любых веб-сервисов и научится их устранять. Овладеет инструментами: Golang, C, JSON, SQL, RabbitMQ, MongoDB, gRPC, Consul и Swagger. Выдаётся диплом.

Сводка

Цена
45 000₽
Рассрочка
от 200₽
Статус
Идет набор
Начнется
12.10.2020
Длительность
4 недели
Язык
ru

Описание курса

Разрабатывать производительные веб-сервисы с простым кодом

- Разбираться в основах языка программирования Go
- Работать с переменными, управляющими конструкциями, функциями и интерфейсами
- Понимать особенность языка – асинхронность и простоту
- Работать с динамическими данными и JSON
- Запускать веб-сервер, обрабатывать и получать данные
- Собирать метрики производительности с работающего сервера
- Делать микросервисы и использовать фреймворки
- Конфигурировать и мониторить сервисы
- Интегрировать код на C в Go
- Устранять типичные проблемы, с которыми сталкиваются разработчики

О школе

ФРОО
Отзывы 0
Информация
Компания основана в 2017 году. Официальный сайт https://eldf.ru. Мы собрали и проверили более 11 отзывов об онлайн курсах ФРОО.

Программа курса

1 неделя. Введение в Golang
Разберетесь с основами языка:
• Переменные, базовые типы данных
• Переменные, составные типы данных
• Управляющие конструкции
• Основы функций
• Функция как объект первого класса, анонимные функции
• Отложенное выполнение и обработка паники
• Основы работы со структурами
• Методы структур
• Пакеты и область видимости
• Основы работы с интерфейсами
• Пустой интерфейс
• Композиция интерфейсов
• Написание программы уникализации
• Написание тестов для программы уникализации
2 неделя. Асинхронная работа
Освоите главную особенность языка. Асинхронность и простота — вот что делает Go таким мощным инструментом.
• Методы обработки запросов и плюсы неблокирующего подхода
• Горутины - легковесные процессы
• Каналы - передаём данные между горутинами
• Мультиплексирование каналов через оператор select
• Таймеры и таймауты
• Пакет context и отмена выполнения
• Асинхронное получение данных
• Пул воркеров
• sync.Waitgroup - ожидание завершения работы
• Ограничение по ресурсам
• Ситуация гонки на примере конкурентной записи в map
• sync.Mutex для синхронизации данных
• sync.Atomic
3 неделя. Работа с динамическими данными и производительность
Научитесь обращаться с динамическими данными и работать с JSON.
• Распаковываем JSON
• Нюансы работы с JSON
• Пакет reflect - работаем с динамикой в рантайме
• Кодогенерация - программа пишет программу
• Система бенчмарков Go
• Профилирование через pprof
• sync.Pool
• Покрытие кода тестами
• XML
4 неделя. Основы HTTP
Запустите веб-сервер, обработаете запросы и получите данные. А еще научитесь собирать метрики производительности с работающего сервера.
• Слушаем TCP-сокет с использованием пакета net
• Обслуживание HTTP-запросов
• Работа с параметрами запросов
• Обслуживание статичных данных
• Загрузка файлов формы
• HTTP-запросы во внешние сервисы
• Тестирование HTTP-запросов и ответов
• Inline-шаблоны и шаблоны из файлов
• Вызов методов и функций из шаблонов
• Поиск утечки горутин
• Трассировка поведения сервиса
• Пример с telegram-ботом
5 неделя. Анатомия веб-сервиса
Познакомитесь с самыми распространенными компонентами при разработке веб-сервисов: роутеры, веб-серверы, фреймворки и утилиты.
• Основные компоненты веб-сервиса
• Основы middleware для HTTP
• Context value
• Обработка ошибок
• Роутеры - gorilla/mux, httprouter
• Производительный веб-сервер fasthttp
• Парсинг параметров в структуру и валидация
• Фреймворк Beego
• Фреймворк Gin
• Стандартный пакет log, zap, logrus
• gorilla/websocket
• Компилируемые шаблоны
• Утилита dep
6 неделя. SQL и NoSQL
Научитесь работать с основной функцией веб-сервера — извлечение и загрузка данных.
• database/sql и mysql
• GORM - применение reflect'а для SQL
• sql-injection
• Memcached - пример с тегированным кешем
• Redis
• Message broker - RabbitMQ
• Document store - MongoDB
7 неделя. Микросервисы
Микросервисы – популярный паттерн борьбы со сложностью. В Go микросервисы можно делать сразу из коробки. А еще вы познакомитесь с фреймворком gRPC.
• Что такое микросервис, плюсы и минусы
• Микросервисы внутри монолита
• net/rpc и формат gob
• net/http/jsonrpc
• Формат сериализации protobuf
• Делаем сервис на gRPC
• Продвинутая работа с gRPC
• Стриминг сообщений
• Балансировка нагрузки и использование Consul
• grpc-gateway - получаем доступ к grpc-сервисам через HTTP
• Swagger - генерируем клиент и сервер из документации к апи
8 неделя. Сервис в работе
Поймете, как конфигурировать и мониторить сервисы, а также интегрируете код на C в Go.
• Локальный конфиг - flags, json, ldflags
• Удалённый конфиг, используем Consul
• Зачем нужен мониторинг и что мониторить
• Отправка таймингов во внешнюю систему
• Пакет Unsafe
• cgo - интеграция кода на cи
• go vet, gometalinter
Инструменты
Golang
C
JSON
SQL
RabbitMQ
MongoDB
gRPC
Consul
Swagger

Отзывы

Рейтинг 5
1 отзывов
5 месяцев назад
Мой отзыв в виде кратких тезисов: При всей кажущейся простоте теории, на практике сначала все кажется просто безумно сложным. Не удивляйтесь, если поначалу вам будет постоянно мерещиться мем про рисование совы. После консультаций с преподавателем курса и после чтения документации получается написать код для решения ДЗ. По ходу написания кода ДЗ, постоянно приходится обращаться к документации, которая очень сильно помогает. И по сути, кроме написания кода мы учимся жить в инфраструктуре golang. Т.к. я морально готовился к курсу и выжидал скидку, примерно пол года, то полученным результатом я очень доволен. Курс могу порекомендовать тем, кто предварительно все обдумал и твердо решился изучить язык go.
Отзыв взят с сайта mooc.ru