Открытый вебинар «Обзор микрофреймворков в Golang» 16.05.2019 в 20:00 | OTUS
Скидки на курсы июня!
Только два дня! Пишите в чат, чтобы получить максимальную скидку ➞
Написать в чат

Курсы

Программирование
Web-разработчик на Python Разработчик на Spring Framework iOS Разработчик. Продвинутый курс v 2.0. PostgreSQL C# ASP.NET Core разработчик Разработчик C# Архитектор программного обеспечения Разработчик C++ MS SQL Server разработчик Android-разработчик. Базовый курс Архитектор высоких нагрузок Backend-разработчик на PHP Алгоритмы для разработчиков Team Lead 2.0 Python-разработчик. Базовый курс VOIP инженер Базы данных Разработчик Golang Разработчик программных роботов (RPA) на базе UiPath и PIX Разработчик голосовых ассистентов и чат-ботов Agile Project Manager в IT
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02
Проходил 16 мая 2019 года в 20:00

Открытый вебинар
Обзор микрофреймворков в Golang

Открытый вебинар онлайн

Напишем несложные gRPC сервисы на самых популярных микрофреймворках. Обсудим их архитектуру, слабые и сильные стороны. Рассмотрим подходы к инструментации кода и развёртыванию/оркестрации в продакшн среде.
Преподаватель
Александр Давыдов

Запись

О курсе

Разработчик Golang
1 ₽
Начало в августе
При переходе на Go люди зачастую сталкиваются с различными неудобствами, вызванными непохожестью Go на другие языки программирования. В этом курсе мы хотели бы объяснить, что такое Go-way, рассказать про идиомы языка и помочь избежать типичных ошибок. Программа курса позволит погрузиться в разработку на Go для решения практических задач, углубления знаний в языке и сопутствующем технологическом стеке. Этот курс подойдет для:
Программа курса
Модуль 1
Начало работы с Go
Модуль 2
Concurrency в Go
Модуль 3
Стандартные библиотеки и практики
Модуль 4
Работа с сетью и БД
Модуль 5
Микросервисы
Модуль 6
Проект
Начало работы с Go
В первом модуле мы посмотрим на Go как на язык программирования. Рассмотрим основные синтаксические конструкции и их выполнение в runtime. Основное внимание уделим конструкциям, уникальным для языка Go, которых нет в другом языке.
Инструментарий и начало работы с Go
разобраться с базовым инструментарием Go.
после занятия вы сможете:
приступить к написанию программ на Go.
Домашние задания: 1
ДЗ
Hello now. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw01_hello_now

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Тестирование в Go. Часть 1
после занятия вы сможете:
писать юнит-тесты к программам на Go.
Элементарные типы данных в Go
узнать элементарные типа языка.
после занятия вы сможете:
использовать основные типы языка;
избегать ошибок при работе со строками и указателями.
Домашние задания: 1
ДЗ
Распаковка строки. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw02_unpack_string

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Структуры
после занятия вы сможете:
создавать пользовательские типы данных и комбинировать их между собой.
9 июня, 20:00 — 21:30
Лектор: Антон Телышев
Массивы, слайсы и словари
узнать про основные структуры данных (СД) языка.
после занятия вы сможете:
пользоваться основными СД языка.
не совершать ошибок при работе с ссылочными типами Go.
11 июня, 20:00 — 21:30
Лектор: Алексей Бакин
Домашние задания: 1
ДЗ
Частотный анализ. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw03_frequency_analysis

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Функции и методы
после занятия вы сможете:
объявлять и определять функции;
избегать ошибок, связанных с областью видимости.
16 июня, 20:00 — 21:30
Лектор: Артем Желтак
Интерфейсы. Часть 1
узнать, что такое интерфейсы, как они устроены внутри и как их использовать.
18 июня, 20:00 — 21:30
Лектор: Антон Телышев
Интерфейсы. Часть 2
рассмотреть интерфейсы с более практической стороны;
после занятия вы сможете:
пользоваться type assertion и type switch.
23 июня, 20:00 — 21:30
Лектор: Артем Желтак
Домашние задания: 1
ДЗ
LRU-кэш. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw04_lru_cache

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Обработка ошибок. Понятие паники
поговорить про ошибки.
узнать, что такое паника, почему не стоит паниковать и как пользоваться отложенным вызовом функции.
после занятия вы сможете:
правильно обрабатывать ошибки;
создавать собственные типы ошибок.
25 июня, 20:00 — 21:30
Лектор: Юрий Юрочко
Тестирование в Go. Часть 2
после занятия вы сможете:
писать юнит-тесты к программам на Go.
30 июня, 20:00 — 21:30
Лектор: Алексей Бакин
Concurrency в Go
Второй модуль мы посвятим одной из самых главных тем Go - конкуррентности. Познакомимся с горутинами и каналами, с тем, как устроена память и сборка мусора в Go. Научимся писать конкуррентно-безопасные программы.
Горутины и каналы
начать работу с горутинами.
после занятия вы сможете:
реализовать передачу данных между горутинами с помощью канала.
2 июля, 20:00 — 21:30
Лектор: Алексей Бакин
Примитивы синхронизации. Часть 1
после занятия вы сможете:
пользоваться частью механизмов синхронизации в Go;
бороться с «гонками» в Go.
7 июля, 20:00 — 21:30
Лектор: Артем Желтак
Домашние задания: 1
ДЗ
Параллельное исполнение. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw05_parallel_execution

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Примитивы синхронизации. Часть 2
после занятия вы сможете:
пользоваться полным набором механизмов синхронизации.
9 июля, 20:00 — 21:30
Лектор: Артем Желтак
Concurrency patterns
узнать больше о конкурентности в Go.
после занятия вы сможете:
применять concurrency-паттерны на практике.
14 июля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Пайплайн. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw06_pipeline_execution

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Go внутри. Планировщик
познакомиться с устройством планировщика Go;
узнать, когда именно происходит «переключение» горутин.
16 июля, 20:00 — 21:30
Лектор: Алексей Бакин
Go внутри. Память и сборка мусора
получить базовую информацию об устройстве памяти в Go;
узнать о механизме GC в Go.
21 июля, 20:00 — 21:30
Лектор: Артем Желтак
Стандартные библиотеки и практики
В третьем модуле мы познакомимся с основными функциями стандартной библиотеки Golang, а также наиболее популярными open-source библиотеками. Научимся взаимодействовать с операционной и файловой системами из Go, поговорим о понятиях рефлексии и кодогенерации, а также рассмотрим инструменты профилирования программ, написанных на Go.
Работа с вводом/выводом в Go
узнать тип Buffer;
рассмотреть стандартные интерфейсы: Reader, Scanner, Writer, Closer;
узнать блочные устройства, Seeker;
узнать форматированный ввод и вывод: fmt.
30 июля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Утилита для копирования файлов. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw07_file_copying

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Форматирование данных
после занятия вы сможете:
сериализовывать и десериализовывать данные различных форматов стандартными средствами языка и сторонними библиотеками.
4 августа, 20:00 — 21:30
Лектор: Артем Желтак
Взаимодействие с OS
после занятия вы сможете:
работать с операционной системой из программы на Go.
6 августа, 20:00 — 21:30
Лектор: Алексей Бакин
Домашние задания: 1
ДЗ
Утилита envdir. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw08_envdir_tool

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Рефлексия
познакомиться с механизмом рефлексии в Go.
11 августа, 20:00 — 21:30
Кодогенерация в Go
познакомиться с механизмом кодогенерации в Go;
после занятия вы сможете:
не бояться библиотек, использующих кодогенерацию.
13 августа, 20:00 — 21:30
Лектор: Антон Телышев
Домашние задания: 1
ДЗ
Генератор валидаторов. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw09_generator_of_validators

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Файлы конфигурации и логирование
познакомиться с механизмами логирования и конфигурирования в Go.
18 августа, 20:00 — 21:30
Профилирование и оптимизация Go программ
познакомиться с инструментами профилирования в Go.
после занятия вы сможете:
писать бенчмарки в Go;
профилировать программы на Go;
использовать практики оптимизации кода на Go.
20 августа, 20:00 — 21:30
Лектор: Алексей Бакин
Домашние задания: 1
ДЗ
Оптимизация программы. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw10_program_optimization

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Работа с сетью и БД
Go чаще всего используется для написания сетевых сервисов. В четвертом модуле мы изучим, как работать с сетью в языке Go. Рассмотрим стандартные протоколы и форматы, а также напишем простой web-сервер. Отдельное внимание будет уделено обработке ошибок, возникающих при работе с сетью. Дополнительно в данном модуле мы поговорим о работе с SQL и gRPC.
Контекст и низкоуровневые сетевые протоколы
после занятия вы сможете:
работать с контекстом в Go;
использовать инструменты отладки сетевых проблем.
1 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Клиент TELNET. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/tree/master/hw11_telnet_client

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Работа с SQL
после занятия вы сможете:
работать с SQL в Go.
3 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Заготовка сервиса Календарь. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/blob/master/hw12_13_14_15_calendar/docs/12_README.md

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Работа с HTTP
после занятия вы сможете:
работать с HTTP в Go.
8 сентября, 20:00 — 21:30
Работа с gRPC
после занятия вы сможете:
писать обратно совместимые Protobuf схемы;
писать gRPC сервисы.
10 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
«API к Календарю». Описание и критерии оценки:
https://github.com/OtusGolang/home_work/blob/master/hw12_13_14_15_calendar/docs/13_README.md

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Микросервисы
В пятом модуле мы рассмотрим вопросы архитектуры web сервисов, в частности популярную на данный момент микросервисную архитектуру. Рассмотрим вопросы интеграционного тестирования, развертывания и эксплуатации приложений.
Монолит и микросервисы
получить представление о популярных архитектурах сложных систем.
15 сентября, 20:00 — 21:30
Очереди сообщений
получить представление об очередях сообщений и событийно-ориентированной архитектуре.
после занятия вы сможете:
работать с RabbitMQ из Go.
17 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Кроликизация Календаря. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/blob/master/hw12_13_14_15_calendar/docs/14_README.md

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Docker
получить представление о Docker контейнере и образе.
после занятия вы сможете:
докеризировать своё приложение.
22 сентября, 20:00 — 21:30
Тестирование микросервисов
после занятия вы сможете:
писать интеграционные тесты для своего приложения.
24 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Докеризация и интеграционное тестирование Календаря. Описание и критерии оценки:
https://github.com/OtusGolang/home_work/blob/master/hw12_13_14_15_calendar/docs/15_README.md

Процесс сдачи домашнего задания:
https://github.com/OtusGolang/home_work/wiki/[Студентам]-Процесс-сдачи-ДЗ
Мониторинг
после занятия вы сможете:
мониторить свои приложения.
29 сентября, 20:00 — 21:30
Проект
Проект, разрабатываемый студентами, будет представлять собой реализацию микросервиса с полным набором компонентов, таких как: ядро, работа с хранилищем, конфигурация и логгирование, работа с очередями сообщений, liveness пробы, Makefile, юнит и интеграционные тесты, статический анализ кода, файлы для деплоя, Dockerfile'ы и пр.
Проектная работа
выбрать тему проектной работы, обсудить и начать выполнять её;
спланировать работу над проектом;
получить ответы на возможные вопросы о проекте;
ознакомиться с регламентом работы над проектом.
1 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Проект.
Консультация по проектам
получить ответы на вопросы, возникшие во время выполнения проектной работы;
получить ответы на вопросы по ДЗ и курсу в целом.
15 октября, 20:00 — 21:30
Итоговое занятие
узнать, как получить сертификат об окончании курса, как взаимодействовать после окончания курса с OTUS и преподавателями, какие вакансии и позиции есть для выпускников (опционально - в России и за рубежом) и на какие компании стоит обратить внимание.
27 октября, 20:00 — 21:30

Преподаватель

Александр Давыдов
Lazada Tech Hub Russia
В отрасли с 2009 года. Пилил монолит в Lazada, готовил ETL/data pipelines в IPONWEB, разрабатывал инфраструктурные проекты для антиспама в Яндексе. Также был СТО в programmatic-стартапе «Трамплин Медиа».

Опытный разработчик, знает несколько языков программирования (Golang, Python, Perl). Окончил факультет прикладной математики в Московском институте электроники и математики.

В настоящее время проектирует микросервисную архитектуру (Golang/Kubernetes Openshift) в стартапе про умную адресуемую рекламу.

В свободное от работы время интересуется покером, кофе и… Golang — куда же без него?
🎁 Дарим сертификаты на скидку!
Запишитесь на июньскую трансляцию интересного вам дня открытых дверей и участвуйте в Акции ➞