Разработчик Golang

Разработка сетевых приложений и микросервисов на Go
Подойдет ли мне этот курс?

Длительность

5 месяцев

Начало

29 августа

Занятия

Чт 20:00, Вт 20:00

Общая стоимость

60 000 ₽

В месяц

15 000 ₽

В кредит:

15000 ₽ в месяц

Хочу дешевле
Общая стоимость
60 000 ₽
В месяц: 15 000 ₽
В кредит: 60000 ₽
в месяц
Продолжительность
5 месяцев, 4 академических часа в неделю
Чт 20:00, Вт 20:00
Начало занятий
29 августа
Что даст вам этот курс

При переходе на Go люди зачастую сталкиваются с различными неудобствами, вызванными непохожестью Go на другие языки программирования. В этом курсе мы хотели бы объяснить, что такое Go-way, рассказать про идиомы языка и помочь избежать типичных ошибок. Программа курса позволит погрузиться в разработку на Go для решения практических задач, углубления знаний в языке и сопутствующем технологическом стеке.

Этот курс подойдет для:

- web-разработчиков, которые хотят переквалифицироваться в Go и расширить свой уровень мастерства;
- всех тех, кто уже разобрался с основой Go и хочет начать применять язык правильно.

Особенности курса:


Изучение внутренних механизмов Golang, а не только синтаксиса языка

Практика — реальные проблемы и их решения, с которыми столкнулись авторы при работе с Go

Теория — реальные кейсы перевода на стек языка Golang с других технологических стеков (PHP, C#) крупных высоконагруженных проектов

Выпускной проект (кейс для портфолио) — самостоятельная разработка микросервиса


Выпускники смогут:

- писать production-ready код, многопоточные и конкурентные программы;
- понимать синтаксис и внутреннее устройство языка Go;
- понимать особенности сетевого программирования;
- уметь создавать микросервисы с помощью Go;
- способен разворачивать микросервисы с помощью docker.
Старайтесь решить проблему как можно проще, сложное решение получится само по себе.
Дмитрий Смаль
Преподаватель курса
Старайтесь решить проблему как можно проще, сложное решение получится само по себе.
Дмитрий Смаль
Преподаватель курса
Преподаватели
Иван Ремень
Дмитрий Смаль
Старший разработчик в Yandex
Александр Давыдов
Lazada Tech Hub Russia
Учился в технопарке Mail.Ru. В 2013 году начал работать стажером в проекте "Почта" компании Mail.Ru. С 2015 года преподавал различные (в том числе и авторские курсы) в образовательных проектах Mail.Ru. С 2016 года занимал должность руководителя группы в Почте. В том же году получил диплом магистра по специальности "Программная инженерия" в МГТУ им. Н.Э. Баумана.

С 2018 года начал работать в Ситимобил на должность руководителя группы. С апреля 2019 года был назначен руководитель направления серверной разработки. Занимается развитием технических навыков людей, поддержкой их мотивации, развитием отказоустойчивых архитектур, внедрением новых технологий в процесс разработки (golang, tarantool).

Основные технические навыки:
Golang
C
MySQL
Tarantool
Highload architecture
Linux API

Преподаватель
Занимается разработкой инфраструктуры Яндекс.Облако и поддержкой реляционных баз данных. За 10 лет прошёл путь от рядового разработчика до старшего программиста в NetCracker, Agava, Mail.Ru Group (проектов «Игры», «Здоровье» и «Дети») и Яндексе.

Может спроектировать архитектуру, реализовать проект с помощью небольшой команды, развернуть необходимую инфраструктуру, организовать процесс разработки и деплоя. Разрабатывал сервера, поддерживающие 500k+ подключений, собирал модный фронтенд на React, отправлял тонны писем по SMTP, проектировал API и базы данных. Владеет Python, JavaScript, Go, Perl и другими языками и технологиями.

Окончил Московский физико-технический институт, где получил степень магистра. Около 6 лет был лектором в Технопарке и Технотреке Mail.Ru. Читал лекции, проводил практические занятия и экзамены. Записал видео-курс «Web-технологии» на Stepik. Проекты на гитхабе - https://github.com/mialinx

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

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

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

В свободное от работы время интересуется покером, кофе и… Golang — куда же без него?

Преподаватель
Иван
Ремень
Дмитрий
Смаль
Александр
Давыдов
Преподаватели
Иван Ремень
Учился в технопарке Mail.Ru. В 2013 году начал работать стажером в проекте "Почта" компании Mail.Ru. С 2015 года преподавал различные (в том числе и авторские курсы) в образовательных проектах Mail.Ru. С 2016 года занимал должность руководителя группы в Почте. В том же году получил диплом магистра по специальности "Программная инженерия" в МГТУ им. Н.Э. Баумана.

С 2018 года начал работать в Ситимобил на должность руководителя группы. С апреля 2019 года был назначен руководитель направления серверной разработки. Занимается развитием технических навыков людей, поддержкой их мотивации, развитием отказоустойчивых архитектур, внедрением новых технологий в процесс разработки (golang, tarantool).

Основные технические навыки:
Golang
C
MySQL
Tarantool
Highload architecture
Linux API

Преподаватель
Дмитрий Смаль
Старший разработчик в Yandex
Занимается разработкой инфраструктуры Яндекс.Облако и поддержкой реляционных баз данных. За 10 лет прошёл путь от рядового разработчика до старшего программиста в NetCracker, Agava, Mail.Ru Group (проектов «Игры», «Здоровье» и «Дети») и Яндексе.

Может спроектировать архитектуру, реализовать проект с помощью небольшой команды, развернуть необходимую инфраструктуру, организовать процесс разработки и деплоя. Разрабатывал сервера, поддерживающие 500k+ подключений, собирал модный фронтенд на React, отправлял тонны писем по SMTP, проектировал API и базы данных. Владеет Python, JavaScript, Go, Perl и другими языками и технологиями.

Окончил Московский физико-технический институт, где получил степень магистра. Около 6 лет был лектором в Технопарке и Технотреке Mail.Ru. Читал лекции, проводил практические занятия и экзамены. Записал видео-курс «Web-технологии» на Stepik. Проекты на гитхабе - https://github.com/mialinx

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

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

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

В свободное от работы время интересуется покером, кофе и… Golang — куда же без него?

Преподаватель
Минимальные знания

- Опыт разработки от 1 года
- Опыт разработки web-приложений
- Знания по основным конструкциям и синтаксису Golang

Будет плюсом:
- знание одного из ЯП, в особенности С/C++;
- опыт администрирования Linux.
Процесс обучения
Всё обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в слаке курса, сдача домашних работ и получение обратной связи от преподавателя.

Вебинары идут дважды в неделю по 1,5 часа. Все вебинары сохраняются и в записи в вашем личном кабинете.

Домашнее задание выдается в среднем одно в неделю, а его выполнение занимает от 2 до 5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.

Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту вы сможете задавать преподавателю в слаке или во время вебинаров.

Курс длится 5 месяцев, из которых финальный отводится для выполнения проектной работы.

Выполнение проектной работы помогает усвоению практических навыков, а тема проекта отдельно выносится в сертификат. Во время работы над проектом студенты получают консультации и обратную связь от преподавателей в слаке группы и на проектных занятиях.
Программа обучения
Модуль 1
Начало работы с Go
Модуль 2
Стандартные библиотеки и практики
Модуль 3
Cетевое взаимодействие
Модуль 4
Микросервисы
Модуль 5
Проект
Начало работы с Go
В первом модуле мы изучим Go как язык. Рассмотрим основные синтаксические конструкции и их выполнение в рантайме. Основное внимание уделим конструкция уникальным для языка Go, которых нет в другом языке.
Тема 1: Начало работы c Go
* Установка рабочего окружение Go
* Основные синтаксические конструкции
* Публичные и приватные идентификаторы
* Импорт пакетов
* Алиасы и импорт без использования
* init функции и порядок инициализации пакетов
* internal пакеты
* Рекомендованная структура проекта
29 августа, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 2
1 Hello now()
Завести Go репозиторий на GitHub, написать программу печатающую текущее время / точное время с использованием библиотеки NTP
2 Сокращатель ссылок - часть 1
Цель: Цель ДЗ - разобраться, что такое и как работают интерфейсы, методы и типы. Впоследствии мы реализуем полноценный API для сервиса сокращения ссылок. Это творческая задачка, которая потребует изучения документации, самостоятельной работы и общения с преподавателями.
Тема 2: Инструментарий Go, тестирование
* Подробнее про GOROOT и GOPATH
* Сборка модулей и установка программ: go get, go build, go install
* Кросс-компиляция
* Модули и зависимости: go mod
* Форматирование кода: go fmt, fix
* Линтеры: go vet, golint, металинтеры
* Тестирование Go программ
* Пакет testing
* Паттерны и анти-паттерны unit-тестирования
5 сентября, 20:00 — 21:30
Тема 3: Элементарные типы данных в Go
* Элементарные типы
* Zero value
* Константы
* Указатели
* Строки и руны и массивы байтов
* Стандартный функции для работы со строками и Unicode
* Преобразование и присвоение типов
* Передача по ссылке и значению
10 сентября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Распаковка строки
Создать Go функцию, осуществляющую примитивную распаковку строки, содержащую повторяющиеся символы / руны, например:

* "a4bc2d5e" => "aaaabccddddde"
* "abcd" => "abcd"
* "45" => "" (некорректная строка)
* `qwe\4\5` => `qwe45` (*)
* `qwe\45` => `qwe44444` (*)
* `qwe\\5` => `qwe\\\\\` (*)

Тема 4: Слайсы и словари
* Отличия массивов и слайсов
* Внутренняя структура слайсов и словарей
* Создание и работа со слайсами и словарями
* Отличие длинны и емкости (length vs capacity)
* Различные способы итерации
* Сортировка
* Распространные ошибки и затруднения
12 сентября, 20:00 — 21:30
Лектор: Дмитрий Смаль
Домашние задания: 1
1 Частотный анализ
Написать функцию, которая получает на вход текст и возвращает
10 самых часто встречающихся слов без учета словоформ
Тема 5: Функции и обработка ошибок
* Функции и области видимости
* Замыкания
* Функции с переменным числом аргументов
* Типы ошибок
* panic, recover и defer
* Стек-трейсы
* Best practiсe обработки ошибок
17 сентября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Поиск максимума
Написать функцию находящую максимальный элемент в слайсе
с произвольными элементами ([]interface{}) с использованием
пользовательской функции-компаратора.
Тема 6: Структуры
* Определение структур
* Вложенные и анонимные структуры
* Тэги элементов структуры
* Использование тэгов для JSON и работы с СУБД
* Публичные структуры и публичные элементы структур
* Методы типов
19 сентября, 20:00 — 21:30
Лектор: Дмитрий Смаль
Домашние задания: 1
1 Двусвязный список
Реализовать двусвязанный список на языке Go
Тема 7: Интерфейсы
* Определение и реализация интерфейсов
* Внутренняя структура интерфейсов
* Интерфейсы как "универсальный" тип
* Определение типа значения интерфейса
* Опасный и безопасный type cast
* Конструкций switch
* Слайсы и словари с интерфейсами
* Где мои generic-и?
24 сентября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Функция логирования Otus
Задача: написать функцию логирования LogOtusEvent, на вход которой приходят события типа HwAccepted (домашняя работа принята) и HwSubmitted (студент отправил дз) для этого - спроектировать и реализовать интерфейс OtusEvent. Для события HwAccepted мы хотим логирровать дату, айди и грейд, для HwSubmitter - дату, id и комментарий, например:

2019-01-01 submitted 3456 "please take a look at my homework"
2019-01-01 accepted 3456 4


type HwAccepted struct {
Id int
Grade int
}

type HwSubmitted struct {
Id int
Code string
Comment string
}

interface OtusEvent {
}

function LogOtusEvent(e OtusEvent, w io.Writer) {

}
Тема 8: Горутины и каналы
* Запуск горутин
* Каналы, внутреняя структура канала
* Буферизованные и небуферизованные каналы
* Операции работы с каналами
* Использование каналов для передачи данных и синхронизации
* Конструкция select
* Таймеры в Go
26 сентября, 20:00 — 21:30
Лектор: Дмитрий Смаль
Тема 9: Примитивы синхронизации
* Мьютексы
* Условные переменные
* Гарантировано одноразовое выполнение
* Pool и WaitGroup
* Модель памяти в Go
* Race-детектор
1 октября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Параллельное исполнение
Сделать функцию для параллельного выполнения N заданий.
Принимает на вход слайс с заданиями `[]func()error`, число заданий которые можно выполнять параллельно `N` и максимальное число ошибок после которого нужно приостановить обработку. Учесть что задания могу выполняться разное время.
Стандартные библиотеки и практики
Во втором модуле мы познакомимся с основными функциями стандартной библиотеки Go, а так же наиболее популярными open-source библиотеками. Научимся пользоваться инструментами для управления зависимостями, тестирования и профилирования Go кода.
Тема 1: Работа с вводом/выводом
* Тип Buffer
* Стандартные интерфейсы: Reader, Scanner, Writer, Closer
* Блочные устройства, Seeker
* Форматированный ввод и вывод: fmt
3 октября, 20:00 — 21:30
Лектор: Дмитрий Смаль
Домашние задания: 1
1 Копирование файлов
Реализовать утилиту копирования файлов (см man dd).
Выводить в консоль прогресс копирования
Тема 2: Форматирование данных
* base64 и другие форматы строк, кодировки
* Текстовые форматы: JSON, XML, YAML
* Использование стуктур и интерфейсов для парсинга
* Бинарные форматы: MsgPack и ProtocolBuffers
8 октября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Обработка JWT токенов
Сделать утилиту консольную утилиту для кодирования, декодирования JWT токенов
Тема 3: Взаимодействие с OS
* Обработка аргументов командной строки: flags, cobra
* Работа с переменными окружения
* Запуск внешних программ
* Работа с файловой системой
* Временные файлы
* Обработка сигналов
10 октября, 20:00 — 21:30
Лектор: Дмитрий Смаль
Домашние задания: 1
1 Утилита envdir

Реализовать утилиту envdir на Go.
Эта утилита позволяет запускать программы получая переменные окружения из определенной директории. См man envdir
Тема 4: Файлы конфигурации и логирование
* Различные варианты конфигурации
* Использование простых форматов: ini, yaml и т.п.
* Библиотеки для работы с конфигурацией: viper и confita
* Стандартная библиотека для логирования
* Расширенное логирование с помощью Zap
15 октября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Каркас микросервиса
Реализовать "каркас" микросервиса, считывающий конфиг из файла,
создающий логгер/логгеры с указанными уровнями детализации.
Тема 5: Рефлексия
* Использование пакета reflect
* Type и Value
* Использование рефлексии совместно с type switch
* Пакет unsafe и тип unsafe.Pointer
* Пример использования рефлексии
17 октября, 20:00 — 21:30
Лектор: Дмитрий Смаль
Домашние задания: 1
1 Сериализация JSON
Сделать простой JSON сериализатор: функцию, которая принимает interface{} и возвращает строку, содержащую JSON. Учитывать тэги структур.
Тема 6: Кодогенерация в Go
* Примеры применения кодогенерации
* Команда go generate
* Генерация кода по Protobuf спецификациям
22 октября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Простейший календарь
Сделать "заготовку" для микросервиса-календаря. Определить структуру определяющую событие, написать методы для добавления/изменения/удаления событий. Хранить события в памяти, без персистентности.
Тема 7: Go Internals - Память
* Структура памяти в Linux процессе
* Особенности памяти в Go приложении
* Выделение памяти на стеке
* Выделение и освобождение памяти в куче
* Механизм сборки мусора в Go
24 октября, 20:00 — 21:30
Лектор: Дмитрий Смаль
Домашние задания: 1
1 Самый популярный IP Белорусии
Выяснить на каком IP адресе содержится больше всего доменов из зоны .by
Сравнить скорость работы с использованием CGO и Pure-Go DNS resolver.
Сравнить количество потоков и нагрузку на систему.
Список доменов: http://csa.ee/databases-domain-lists/
Тема 8: Профилирование и оптимизация Go программ
* Общая информация о профилировании
* Виды профайлеров
* Профилирование использования CPU
* Профилирование выделения памяти
* Flame диаграммы
* Общие оптмизации в Go
* Оптимизации выделения памяти
29 октября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Оптимизация производительности
Провести анализ производительности программы из дз 2.6.
Построить Flame диаграммы и выявить наиболее медленные фрагменты.
Попытаться улучшить производительность.
Тема 9: Go Internals - Планировщик
* Основные структуры планировщика: P, M, G
* Механизм переключения горутин
* Системные вызовы в Go
* Сетевые вызовы в Go
31 октября, 20:00 — 21:30
Cетевое взаимодействие
Go чаще все используется для написания сетевых сервисов. В третьем модуле мы изучим как работать с сетью в языке Go. Рассмотрим стандартные протоколы и формат, а так же напишем простой сервер. Отдельное внимание будет уделено обработке ошибок возникающих при работе с сетью.
Тема 1: Низкоуровневые протоколы TCP, UDP, DNS
* Стандартные интерфейсы - Dialer, Conn
* Возможные сетевые проблемы: потеря пакетов, подвисшие соединения, недоступность
* Таймауты и контекст
* Отладка сетевых проблем
12 ноября, 20:00 — 21:30
Лектор: Иван Ремень
Домашние задания: 1
1 Telnet
Реализовать telnet клиент (см man telnet)
Тема 2: HTTP библиотека
* Использование HTTP клиента
* Создание простого HTTP сервера
* Декораторы и middleware
* HTTP/1.1 и HTTP/2.0
* REST
* Протокол S3
14 ноября, 20:00 — 21:30
Домашние задания: 1
1 REST сервис
Используя go-swagger сделать REST сервер и CLI клиент для сервиса-календаря из дз 2.7. Поскольку swagger генерирует занчительную часть кода имеет смысл сделать это отдельным проектом.
Тема 3: GRPC
* Описание API с помощью Protobuf
* Генерация кода для GRPC клиента и сервера
* Реализация API
* Прямая и обратная совместимость API
* Представление о Clean Architecture
19 ноября, 20:00 — 21:30
Домашние задания: 1
1 GRPC сервис
Создать GRPC спецификацию для сервиса-календаря из дз 2.7.
Сгенерировать GRPC сервер и клиент, проверить работу сервиса.
Отделить модель данных от Protobuf структур.
Тема 4: Работа с SQL
* Стандартные интерфейсы sql.DB, sql.Rows, sql.Tx
* Подключение к СУБД и настройка пула подключений
* Выполнение запросов и получение результатов
* Простейшие SQL запросы
21 ноября, 20:00 — 21:30
Домашние задания: 1
1 Работа с базами данных
Изменить код сервиса-календаря, так что бы события хранились в базе данных.
Тема 5: Продвинутая работа с базами
* Использование sqlx хелперов
* Работа с NULL значениями
* Использование транзакций
* Миграция баз данных
26 ноября, 20:00 — 21:30
Домашние задания: 1
1 Миграции баз данных
Изменить код сервиса-календаря, добавить поддержку событий "на весь день". Использовать sqlx. Написать миграции для базы данных.
Тема 6: NoSQL базы данных
* Встроенные базы данных, BoltDB
* Использование Redis для кеширования данных
* Выбор базы данных для проекта
28 ноября, 20:00 — 21:30
Домашние задания: 1
1 Кеширование данных
Реализовать методы "события на текущую неделю" и "события на текущий месяц", кешировать результаты выбороки в Redis
Тема 7: Очереди сообщений
* Использование RabbitMQ, Kafka
* Возможные проблемы с очередями: перегрузка, падение обработчиков, сбойные сообщения
* Запуск пула обработчиков с помощью systemd или supervisor
3 декабря, 20:00 — 21:30
Домашние задания: 1
1 Работа с очередями
Реализовать "напоминания" о событиях с помощью RabbitMQ.
Создать процесс, который периодически сканирует основную базу данных, выбирая события о которых нужно напомнить. Создать процесс, который читает сообщения из очереди и шлет уведомления.
Микросервисы
В четвертом модуле мы рассмотрим вопросы архитектуры web сервисов, в частности популярную сейчас микросервисную архитектуру. Рассмотрим вопросы тестирования, развертывания и эксплуатации приложении.
Тема 1: Монолит и микросервисы
* Отличия микросервисов от монолитной архитектуры
* Преимущества микросервисов
* 12 factor applications
* Архитектура одного микросервиса
* Clean Architecture
12 декабря, 20:00 — 21:30
Домашние задания: 1
1 Доработка сервиса
Доработать дз 3.8, разделив код на отдельные сервисы
Тема 2: Docker
* Основные команды docker
* Представление о контейнер и образе
* Сборка собственных Docker контейнеров
* Запуск и управление контейнерами
* Передача конфигурации и получение логов
* Использование Docker Registry
17 декабря, 20:00 — 21:30
Домашние задания: 1
1 Докеризация сервиса
Подготовить Docker файлы для каждого из сервисов из дз 3.8.
Собрать образы и загрузить в DockerHub
Тема 3: Тестирование микросервисов
* Использование docker-compose
* Интеграционные тесты
* Behaviour Driven Development
* Описание тестов на языке Gherkin
* Использование godog для запуска тестов
19 декабря, 20:00 — 21:30
Домашние задания: 1
1 Интеграционное тестирование
Создать docker-compose файл, поднимающий все сервисы проекта, включая базу и очередь. Написать простейший интеграционный тест для проекта.
Тема 4: Kubernetes
* Docker Swarm
* Puppet
* Ansible
* Как мы решаем проблему запуска сервсисов на более 1 машины
24 декабря, 20:00 — 21:30
Домашние задания: 1
1 Разворачивание в kubernetes
Развернуть проект в Kubernetes. Создать описания pod-ов и service-ов.
Избавиться от hard-code IP в конфигах проектов.
Тема 5: Обнаружение сервисов
* Необходимость Service Discovery
* Использование DNS
* Использование DCS: zookeeper, etcd, consul
26 декабря, 20:00 — 21:30
Домашние задания: 1
1 Разворачивание в kubernetes
Продолжение дз 4.4
Тема 6: Мониторинг
* Проверка работоспособности сервисов
* Health Check в Docker
* Системные метрики: LA, CPU, MEM, IO
* Количественный мониторинг, prometheus
9 января, 20:00 — 21:30
Домашние задания: 1
1 Мониторинг сервиса
Обеспечить простейший мониторинг проекта с помощью prometheus
Тема 7: Использование CI
* GitLab pipelines
14 января, 20:00 — 21:30
Домашние задания: 1
1 Continuous integration
Автоматизировать тестирование и выкатку новых версий с помощью CI
Проект
Проект, разрабатываемый студентами, будет представлять собой реализацию микросервиса с полным набором компонентов, таких как: логгирование, liveness пробы, make файлы, тесты, статические анализаторы кода, файлы для деплоя, образ в docker, репозиторий и т.п.)
Тема 1: Проектная работа
21 января, 20:00 — 21:30
Домашние задания: 1
1 Проект
Тема 2: Консультация по проектам
30 января, 20:00 — 21:30
Тема 3: Презентация проектов
13 февраля, 20:00 — 21:30
Выпускной проект
В завершении курса студентам будет предложено выполнить один из трех проектов на выбор:
1. Микросервис для борьбы с брут-форсом.
2. Сервис для подготовки превью изображений.
3. Простейшая система сбора данных.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Обзор микрофреймворков в Golang
Александр Давыдов
День открытых дверей
22 августа в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

  • заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров и презентации к занятиям;

  • сохраните в GitHub пример работоспособного сервиса на Go, которым не стыдно будет похвастаться;

  • получите сертификат о прохождении курса;

  • получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).

Дата выдачи сертификата: 4 марта 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Разработчик Golang»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Разработчик Golang»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.
Общая стоимость
60 000 ₽
В месяц: 15 000 ₽
В кредит: ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
29 августа