ТОП 20 лучших онлайн-курсов обучения Golang (Go)
Язык программирования Go от Google — прост, универсален и эффективен. Вы с нуля научитесь создавать на нём приложения с микросервисной архитектурой. За Go-разработчиков конкурируют такие компании, как Google, Dropbox, SoundCloud, Ozon, Yandex, Mail.ru и Twilio.
Профессия Go-разработчик от Skillbox
Ссылка на официальный сайт: https://skillbox.ru/course/profession-godev/
Язык программирования Go от Google — прост, универсален и эффективен. Вы с нуля научитесь создавать на нём приложения с микросервисной архитектурой. За Go-разработчиков конкурируют такие компании, как Google, Dropbox, SoundCloud, Ozon, Yandex, Mail.ru и Twilio.
Чему научитесь:
- Разрабатывать приложения на Go
- Работать с файловой системой
- Работать с алгоритмами поиска и сортировки
- Понимать принципы работы операционных систем и обмена данными по сети
- Программировать многопоточные распределённые системы для высоконагруженных проектов
- Собирать, тестировать и развёртывать готовые приложения
- Работать с системой контроля версий Git
- Делать код-ревью
- Прокачаете soft skills программиста.
Программа обучения:
- Разработчик на Go
- Вводный модуль. Первая программа
- Базовые типы. Целочисленные типы. Данные и вычисления
- Строки
- Условный оператор if
- Логические операторы и составные условия
- Введение в циклы: for как единая точка входа
- Вложенные циклы
- Оператор switch
- Диапазоны значений
- Числа с плавающей запятой. Математические вычисления
- Комплексные типы данных. Строки.
- Работа с файлами
- Функции в программировании
- Функции, возвращающие результат
- Композитные типы данных. Одномерные массивы. Базовые алгоритмы на массивах
- Настройка JetBrains GoLand, создание проекта на JetBrains GoLand
- Отладка и логирование
- Breakpoints
- Простые алгоритмы на массивах
- Двумерные массивы
- Анонимные функции
- Продвинутые алгоритмы на массивах. Поиск.
- Сортировка с пониженной алгоритмической сложностью
- Композитные типы данных. Срезы. Динамическое выделение памяти
- Подмножества и работа со срезами
- Строки и текстовые данные. Базовые алгоритмы со строками
- Композитные типы данных. Карты и структуры
- Переиспользование кода, модульность
- Многопоточность, работа с каналами
- Обмен данными по сети
- Микросервисная архитектура.
- Бонусные курсы
- Язык запросов SQL
- Универсальные знания программиста
- Система контроля версий Git
- Английский для IT-специалистов
- Карьера и развитие программиста.
- Дипломный проект
- Сетевой многопоточный демон.
Цена: Рассрочка — 4 936 ₽ / мес
Backend-разработчик на Go от SkillFactory
Ссылка на официальный сайт: https://skillfactory.ru/backend-razrabotchik-na-golang
Освойте программирование на Go и бэкенд-разработку высоконагруженных приложений.
Чему научитесь:
- Решать задачи любой сложности с помощью алгоритмов
- Программировать на Golang, ревьюить код
- Искать и исправлять ошибки в своем коде (debugging)
- Разработать приложение с микросервисной архитектурой
- Внедрять devops-практики в процесс разработки
- Проектировать архитектуру приложения
- Писать API
- Писать серверную логику и настраивать взаимодействие с базами данных.
Программа обучения:
- Основы Go и Computer Science
- Вводный блок
- Основы языка Go
- Алгоритмы и структуры данных на Go
- Основы Многопоточности
- Выполнение проекта: собрать пайплайн обработки данных.
- Инструменты разработчика
- Основы Linux
- Знакомство с Git
- Docker
- Базы данных и SQL
- Базы данных NoSql
- Углубленное изучение GO
- Выполнение проекта: разработка новостного агрегатора.
- Архитектура, DevOps, очереди
- Основы архитектуры.
- Итоговый проект
- Разделение монолита на микросервисы.
Цена: Рассрочка на 24 месяца — 4 000 ₽ / мес
Профессия Разработка на Go от GeekBrains
Ссылка на официальный сайт: https://gb.ru/professions/go-developer
Научитесь создавать приложения, безопасные и масштабируемые сервисы на современном языке от Google. Его используют IT-гиганты IBM, Intel и Adobe, а в России — ВКонтакте, Avito и Ozon.
Чему научитесь:
- Разрабатывать на языке Go;
- Проектировать микросервисную архитектуру веб-приложений;
- Использовать реляционные и нереляционные базы данных;
- Понимать принципы CI/CD.
Программа обучения:
- Основы программирования
- Программа, переменные и типы данных
- Блок-схемы и ветвления
- Циклы
- Функции
- Массивы.
- HTML/CSS. Интерактивный курс
- Основные понятия в веб-разработке
- Основы языка разметки документов HTML
- Основы языка оформления стилей документа CSS
- Псевдоклассы и псевдоэлементы, табличная верстка
- Формирование блочной модели, блочная верстка
- Работа с макетом дизайна в формате PSD
- Разметка сайта и знакомство с Bootstrap
- Стандарты web и вспомогательные инструменты.
- Базовый видеокурс по Git
- Введение в Git
- Установка и настройка Git
- Основные команды терминала
- Работа с репозиториями
- Управление файлами репозитория
- История изменений
- Работа с ветками репозитория
- Публикация репозитория
- Слияния веток
- Управление версиями
- Создание pull-request
- Сложные операции
- Работа с Fork-репозиториями.
- Базовый курс Javascript
- Основы языка JavaScript
- Основные операторы
- Циклы, массивы, структуры данных
- Объекты
- Введение в DOM
- Обработка событий
- Урок-практикум
- Анонимные функции, замыкания.
- Рабочая станция
- Установка операционной системы Linux
- Настройка интерфейса командной строки
- Управление пользователями и группами
- Процессы, загрузка операционной системы
- Устройство файловой системы. Файл и каталог
- Введение в скрипты bash. Планировщики задач crontab и at
- Управление пакетами и репозиториями. Основы сетевой безопасности
- Введение в docker.
- Go. Уровень 1
- Особенности и история появления языка Go. Работа с плейграундом и основы тулчейна.
- Базовые типы данных. Основы работы с подсистемой ввода-вывода операционной системы. Основы структурирования Go-приложений
- Операторы и управляющие конструкции, базовые функции
- Сложные типы данных: массивы, слайсы и мапы
- Сложные типы данных: структуры, функции и методы
- Сложные типы данных: указатели
- Интерфейсы. Ошибки. Основы обработки ошибок
- Основы конфигурирования приложений
- Работа с файловой системой
- Основы тестирования Go-приложений
- Финальная консультация по курсу. Ответы на вопросы.
- Go. Уровень 2
- Продвинутая генерация и обработка ошибок, и работа с panic. Отложенный вызов функций
- Кросс-компиляция в Go и более глубокое погружение в тулчейн
- Работа с внешними зависимостями
- Concurrency, часть 1. Горутины и каналы
- Concurrency, часть 2. Основы типов данных из пакета sync
- Concurrency, часть 3. Планировщик горутин, race condition и проверка на его наличие
- Рефлексия и кодогенерация в языке Go.
- Основы работы со стандартной библиотекой Go. Подготовка к курсовому проекту.
- Лучшие практики разработки Go-приложений
- Обработка ошибок сторонних сервисов и сигналов операционной системы
- Логирование
- Продвинутые практики тестирования
- Консультация
- Принципы структурирования Go-приложений
- Линтеры: продвинутый уровень
- Сборка приложений и автоматизация повторяющихся действий.
- Backend-разработка. Уровень 1
- Основы сетевого взаимодействия
- HTTP и проектирование RESTful API
- Реализация и тестирование HTTP-хендлеров
- Выбор роутера и библиотек. Middleware. Контекст запроса.
- Практика, часть 1. Реализация сервера
- Практика, часть 2. Реализация веб-приложения
- Особенности докеризации Go-приложений.
- Сборка и развёртывание приложения. CI/CD.
- Базы данных
- Введение в теорию реляционных баз данных
- Базовые понятия структуры базы данных
- Определение данных, базовые операции с данными
- Выборка данных, агрегация данных
- Вложенные запросы и объединение UNION
- Объединение JOIN
- Расширенные возможности SQL
- Оконные функции, индексы, работа в графическом клиенте.
- Postgres для Go-разработчиков
- Начало работы с PostgreSQL: базовые инструменты, сравнение с другими СУБД
- Работа со структурой базы, CTE, анализ требований при поиске данных
- Анализ выполнения запросов и индексация данных
- Использование PostgreSQL из Go-приложения
- Структура приложения, тестирование, миграции, ORM
- Уровни изоляции, конкурентный доступ, очистка, репликация.
- Наблюдаемость (observability) и оптимизация
- Monitoring + alerting
- Logging + Error handling
- Профилированиеитрейсинг
- Оптимизация и кэширование.
- Backend-разработка. Уровень 2
- Принципы взаимодействия микросервисов
- JSON-RPC и gRPC
- GraphQL
- Запуск Go-приложений в Kubernetes. Конфигурирование. Мониторинг. Отладка.
- Kubernetes-кластер
- Очереди
- Функциональное тестирование/BDD
- Основы безопасности Go-приложений.
- Подготовка к собеседованию Go-разработчика
- Создание GitHub-портфолио
- Гибкие навыки Go-разработчика
- Прохождение технического собеседования
- Консультация по портфолио.
- Командная разработка микросервисного проекта
- Совместная работа по проектированию сервисов. RFC и дизайн-документы
- Практики совместной работы с Git. Код-ревью
- Совместное тестирование и развёртывание сервисов
- Ответственность разработчика. Чек-листы готовности к продакшену
- Практика oncall-дежурств. Инциденты и постмортемы
- Три консультации по вашему проекту.
Перейти на сайт курса
Цена: Рассрочка до 36 месяцев — от 2 285 ₽ / мес
Golang для начинающих от Udemy
Ссылка на официальный сайт: https://www.udemy.com/course/golang-o/
Простыми словами, разберем как работать на языке программирования Go. Его особенности и тонкости.
Чему научитесь:
-
изучите язык программирования Go.
Программа обучения:
- Введение
- Введение
- Основы языка
- Переменные
- Переменные среды. Редактор кода
- Получение данных от пользователя
- Условные операторы
- Преобразование строки в число
- Область видимости
- Генерация случайного числа
- Преобразование строки в int
- Циклы
- массивы
- Чтение данных из файла
- Высчитываем среднее значение
- Сегменты
- Карты / map
- Структуры.
- Продвинутая часть
- Определяемые типы
- Инкапсуляция
- Интерфейсы
- Рекурсия
- Exception в Go
- Многопоточность. горутины
- Создание Веб-сервиса.
Перейти на сайт курса
Цена: 1 790 рублей
Golang Developer. Professional от OTUS
Ссылка на официальный сайт: https://otus.ru/lessons/golang-professional/
От основ языка до создания собственного микросервиса на Go.
Для тех, кто хочет углубиться во внутреннее устройство Golang и его взаимодействие с другими системами.
Чему научитесь:
- писать production-ready код, многопоточные и конкурентные программы;
- понимать синтаксис и внутреннее устройство языка Go;
- понимать особенности сетевого программирования;
- уметь создавать микросервисы с помощью Go;
- разворачивать микросервисы с помощью docker.
Программа обучения:
- Начало работы с Go
- Инструментарий и начало работы с Go
- Тестирование в Go. Часть 1
- Элементарные типы данных в Go
- Массивы, слайсы и словари
- Структуры
- Функции и методы
- Интерфейсы. Часть 1
- Интерфейсы. Часть 2
- Обработка ошибок. Понятие паники
- Тестирование в Go. Часть 2
- Concurrency в Go
- Горутины и каналы
- Примитивы синхронизации. Часть 1
- Примитивы синхронизации. Часть 2
- Concurrency patterns
- Go внутри. Планировщик
- Go внутри. Память и сборка мусора
- Разбор домашних заданий и ответы на вопросы. Ч.1
- Стандартные библиотеки и практики
- Работа с вводом/выводом в Go
- Форматирование данных
- Взаимодействие с OS
- Рефлексия
- Кодогенерация в Go
- Файлы конфигурации и логирование
- Профилирование и оптимизация Go программ
- Работа с сетью и БД
- Контекст и низкоуровневые сетевые протоколы
- Работа с SQL
- Работа с HTTP
- Работа с gRPC
- Разбор домашних заданий и ответы на вопросы. Ч.2
- Микросервисы
- Монолит и микросервисы
- Очереди сообщений
- Docker
- Тестирование микросервисов
- Мониторинг
- Проект
- Проектная работа. Вводное
- Консультация по проектам
- Итоговое занятие.
Перейти на сайт курса
Цена: 48 000 рублей
Программирование на golang learn go от Be Geek
Ссылка на официальный сайт: https://www.youtube.com/playlist?list=PLQuaNOtBP3TpjiROGjy3-hEr5xL0fN9bX
Программа обучения:
- Типы и переменные в Golang. Программирование на Go #1
- Переменные и ошибки с ними. Программирование на Go #2
- Циклы в Go. Программирование на Go #3
- Массивы и срезы в Go. Программирование на Go #4
- Карты в Go. Maps in Go. Программирование на Go #5
- Функции в Go. Программирование на Go #6
- Структуры в Go. Программирование на Go #7
- Организация кода в Go. Программирование на Go #8
- Какие книги читать по Golang???
- Библиотека Sort. Программирование на Go #9
- Парсер на Golang. Telegram и Go. Программирование на Go #10
- Telegram bot на Используем webhook. Программирование на Go #11
- Telegram bot на Собираем данные пользователей. Программирование на Go #12
- Фильтр сообщений для Telegram на Go. Программирование на Go #13
- Telegram bot на Go. Отправляем фото из облачного хранилища. Программирование на Go #14
- Go with Docker. Упаковываем приложение Go в Docker. Изучаем Golang #15
- Переменные окружения в Golang. Программирование на Go #16
- Golang ищем заказы на фриланс #4. Go http, telegram, api
- Пишем Mysql Exporter для Prometheus на Golang
- ошибки новичков #2 (язык программирования Go)
- простая веб форма авторизации (golang, templates, шаблоны, web)
- Интерактивный CLI на Go [язык программирования Go]
- Модуль md5. Сравниваем файлы на Go с помощью md5sum [язык программирования Go]
- Query vs Exec vs Prepare в Функции для работы с базой данных в Go.
Перейти на сайт курса
Стоимость: Бесплатно
Профессия Go-разработчик от АНО ДПО «ШАД»
Ссылка на официальный сайт: https://practicum.yandex.ru/promo/go-profession
Научитесь программировать на Golang при поддержке опытного ментора. Курсы для разработчиков с опытом.
Программа обучения:
- Основы языка Go
- Введение в систему типов
- Композитные типы
- Управление потоком выполнения
- Функции
- Пакеты, модули
- Особенности программирования на Go
- Обработка ошибок
- ООП
- Интерфейсы
- Тестирование.
- Пакеты стандартной библиотеки
- сontext и time
- net/http
- encoding
- os
- flag
- compress
- hash и crypto
- database/sql
- errors
- Конкурентность
- Многопоточность в Go
- Пакеты стандартной библиотеки
- сontext и time
- net/http
- encoding
- os
- flag
- compress
- hash и crypto
- database/sql
- errors
- Конкурентность
- основы многопоточности
- горутины
- каналы
- получение данных из каналов
- cинхронизация состояния
- паттерны многопоточности
- Туллинг
- Профилирование
- Стилизация кода
- Статический анализ кода
- Документация
- Кодогенерация
- Go comment flags
- Расширенная стандартная библиотека
- Net
- sync и x/sync
- bytes
- bufio
- math/rand и crypto/rand
- os
- Обзор остальной стандартной библиотеки.
Перейти на сайт курса
Цена: 66 000 — 132 000 рублей
Golang для инженеров от ООО «Слёрм»

Ссылка на официальный сайт: https://slurm.io/go-for-ops
На курсе мы научим вас создавать свой API сервер с помощью Golang, запускать контейнеры, взаимодействовать с Docker из Go, работать с кастомными операторами и многим другим приятным и полезным штукам.
Программа обучения:
- Введение
- Знакомство с курсом
- Знакомство со спикером
- Цели курса
- Как учиться онлайн
- Что из себя представляет GO?
- Основы Golang
- Переменные и типы
- Функции
- Циклы, switch-case, if
- Установочная онлайн-встреча
- Погружаемся глубже в основы
- Структуры
- Интерфейсы
- Обобщенное программирование и ООП в Go
- Garbage collector
- Concurrency
- Параллелизм и конгруэнтность. Что это такое и чем отличаются
- Треды vs горутины
- Обработка ошибок
- Базовый принципы синхронизации
- WaitGroup
- Каналы
- Select
- Разбор пакета context
- GO на практике 1
- Go modules и структура проекта
- Работа с операционной системой
- Работа с файлами и файловой системой
- Работа с сетью в Golang
- Обзор протоколов и форматов
- GO на практике 2
- Как работать с базой данных
- Пакеты для http
- Как писать тесты
- Проверка качества кода
- Кросскомпиляция и build теги
- Чек-лист итоги основного блока
- АМА-сессия + неформальная встреча
- Работа с Docker из Go
- Docker SDK для Go
- Работаем с докером из Go
- Практические советы для применения
- Практика — пишем приложение деплоящее контейнер и тестирующее его
- Паттерны Kubernetes
- Health probe/Liveness probe
- Periodic job
- Daemon service
- Stateful service
- Service discovery/Service mesh
- Sidecar/Adapter
- Controller/Operator (либо в след лекции)
- Операторы Kubernetes
- Что такое оператор Куб
- Как писать кастомные операторы
- Пишем кастомный оператор на GO
- Финальное задание
- АМА-сессия + выпускной.
Цена: 35 000 — 50 000 рублей
Golang для начинающих от golangify
Ссылка на официальный сайт: https://golangify.com/go/kurs-izucheniya-golang-dlya-nachinayuschih
Полный курс изучения программирования на Golang для начинающих. Примеры кода на Go с полным описанием. Изучение основ языка программирования Golang.
Программа обучения:
- Начало программирования в Go — что нужно знать?
- Что такое Go? Go Playground, пакеты, функции и скобки в Golang
- Основы: Работа с числами, форматирование строк, переменные и константы
- Цикл for, if-else-switch, True-False и операторы сравнения в Golang
- Оператор switch в Golang
- Область видимости переменных в Golang
- Создание программы для покупки билетов в Golang
- Вещественные числа в Golang — float64 и float32
- Целые числа integer в Golang — выбор верного типа
- Пакет Big — Крупные числа в Golang и примеры их использования
- Работа со строками в Golang
- Конвертирование типов данных в Golang
- Создаем Шифр Виженера на Golang
- Функции в Golang на примерах
- Методы в Go — Создание и использование методов в Golang
- Функции первого класса, замыкания и анонимные функции в Golang
- Программа для перевода температуры из Цельсия в Фаренгейты
- Создание и итерация массива в Golang
- Срез массива в Golang
- Работа с массивами и срезами в Golang — append() и make()
- Карта — ассоциативный массив в Golang
- Создание игры «Жизнь» в Golang
- Структуры в Golang — Экспорт структур в JSON
- Структуры и методы — объектно-ориентированный подход в Golang
- Композиция и встраивание методов в Golang
- Интерфейсы в Golang
- Создание игры-симулятора фермы в Golang
- Указатели в Golang
- Значение nil в Golang
- Обработка ошибок в Golang
- Создание игры Судоку в Golang
- Горутины и конкурентность — Многопоточность в Go
- Изучаем конкурентность и параллелизм в Golang
- Конкурентность в Go на примере создания игры для изучения Марса
- JSON в Golang — сериализация и десериализация.
Перейти на сайт курса
Стоимость: Бесплатно
Стань GO-разработчиком от ООО «ФРОО»
Ссылка на официальный сайт: https://golangcourse.ru/
Пиши производительные веб-сервисы с простым кодом за пару дней. Освой профессию на уровне middle-специалиста.
Чему научитесь:
- изучите основы языка и разработки веб-сервисов с помощью Go
- запустите свое приложение
- узнаете типичные проблемы, с которыми сталкиваются разработчики любых веб-сервисов и научитесь их устранять
- прокачаетесь в веб-программировании и пополните свое резюме.
Программа обучения:
- Введение в Golang
- Переменные, базовые типы данных
- Переменные, составные типы данных
- Управляющие конструкции
- Основы функций
- Функция как объект первого класса, анонимные функции
- Отложенное выполнение и обработка паники
- Основы работы со структурами
- Методы структур
- Пакеты и область видимости
- Основы работы с интерфейсами
- Пустой интерфейс
- Композиция интерфейсов
- Написание программы уникализации
- Написание тестов для программы уникализации
- Асинхронная работа
- Методы обработки запросов и плюсы неблокирующего подхода
- Горутины — легковесные процессы
- Каналы — передаём данные между горутинами
- Мультиплексирование каналов через оператор select
- Таймеры и таймауты
- Пакет context и отмена выполнения
- Асинхронное получение данных
- Пул воркеров
- Waitgroup — ожидание завершения работы
- Ограничение по ресурсам
- Ситуация гонки на примере конкурентной записи в map
- Mutex для синхронизации данных
- Atomic
- Работа с динамическими данными и производительность
- Распаковываем JSON
- Нюансы работы с JSON
- Пакет reflect — работаем с динамикой в рантайме
- Кодогенерация — программа пишет программу
- Система бенчмарков Go
- Профилирование через pprof
- Pool
- Покрытие кода тестами
- XML
- Основы HTTP
- Слушаем TCP-сокет с использованием пакета net
- Обслуживание HTTP-запросов
- Работа с параметрами запросов
- Обслуживание статичных данных
- Загрузка файлов формы
- HTTP-запросы во внешние сервисы
- Тестирование HTTP-запросов и ответов
- Inline-шаблоны и шаблоны из файлов
- Вызов методов и функций из шаблонов
- Профилирование через pprof
- Поиск утечки горутин
- Трассировка поведения сервиса
- Пример с telegram-ботом
- Анатомия веб-сервиса
- Основные компоненты веб-сервиса
- Основы middleware для HTTP
- Context value
- Обработка ошибок
- Роутеры — gorilla/mux, httprouter
- Производительный веб-сервер fasthttp
- Парсинг параметров в структуру и валидация
- Фреймворк Beego
- Фреймворк Gin
- Стандартный пакет log, zap, logrus
- gorilla/websocket
- Компилируемые шаблоны
- Утилита dep
- SQL и NoSQL
- database/sql и mysql
- GORM — применение reflect’а для SQL
- sql-injection
- Memcached — пример с тегированным кешем
- Redis
- Message broker — RabbitMQ
- Document store — MongoDB
- Микросервисы
- Что такое микросервис, плюсы и минусы
- Микросервисы внутри монолита
- net/rpc и формат gob
- net/http/jsonrpc
- Формат сериализации protobuf
- Делаем сервис на gRPC
- Продвинутая работа с gRPC
- Стриминг сообщений
- Балансировка нагрузки и использование Consul
- grpc-gateway — получаем доступ к grpc-сервисам через HTTP
- Swagger — генерируем клиент и сервер из документации к апи
- Сервис в работе
- Локальный конфиг — flags, json, ldflags
- Удалённый конфиг, используем Consul
- Зачем нужен мониторинг и что мониторить
- Отправка таймингов во внешнюю систему
- Пакет Unsafe
- cgo — интеграция кода на cи
- go vet, gometalinter
- Мок-тесты, JWT и CSRF-токены
- Архитектура приложения, паттерн репозиторий.
- Тестирование репозиториев и баз. Sqlmock и gomock.
- Хеширование паролей.
- CSRF-токены — на основе хеша, шифрования и JWT
- Сессии. Stateful и stateless сессии. Подводные камни сессий на основе JWT.
- Oauth и проектирование API
- Oauth
- Горячая перезагрузка кода через Air
- Встраивание статики через vfsgen
- Проектирование API
- GraphQL
- GraphQL — получение данны, мутаторы, сложность запросов, проблема N+1 запросов, директивы, загрузка файлов.
- Встраивание GraphQL в демонстрационный проект
- Структура приложения
- Контейнеры, S3 и трейсинг
- Docker и golang
- Оптимизация сборки докер-контейнера, многошаговая сборка
- Docker-compose
- Объектное хранилище S3, Minio
- Организация ACL-доступа к картинкам
- Конфигурирование через Viper
- RequestID, трейсинг в GraphQL
- Распределенный трейсинг с Jaeger.
Перейти на сайт курса
Цена: нет информации
Golang разработчик от mts teta
Ссылка на официальный сайт: https://www.teta.mts.ru/golang
Изучение языка на реальных задачах с собеседованием в конце.
Программа обучения:
- Стандартные библиотеки и практики
- Пакеты context, time, io, fmt, errors и encoding
- Файлы конфигурации и логирование
- Профилирование и оптимизация Go-программ
- Профилирование через pprof
- Трассировка поведения сервиса.
- Concurrency в Go
- Примитивы синхронизации
- Горутины и каналы
- Concurrency patterns
- Планировщик
- Память и сборка мусора
- Поиск утечки горутин.
- Документация и тестирование
- OpenAPI Swagger (Swaggo)
- Unit-тесты
- Mock
- Интеграционное тестирование (с помощью контейнеров)
- Тестирование конкурентного кода.
- Работа с базами данных: PostgreSQL
- Проектирование баз данных. Модификация и выборка данных
- Транзакции. Триггеры и функции
- Индексы. Профилирование и оптимизация запросов
- Репликация. Полнотекстовый поиск. JSON.
- Работа с базами данных: MongoDB
- CAP / PACELC теорема
- Построение запросов
- Индексирование
- Конфигурирование
- Работа с геоданными в MongoDB.
- Очереди данных
- Основные концепции и архитектура Apache Kafka
- Topic, partition и offset в Apache Kafka
- Producer и consumer API
- Command Sourcing
- Event Sourcing.
- Архитектура, шаблоны проектирования и инструменты разработки
- SOLID-принципы в Go
- Монолит и микросервисы
- Способы взаимодействия REST и gRPC
- Паттерны Two-phase commit и Saga
- Асинхронное взаимодействие
- Docker и K8s для разработчиков
- CI/CD. Линтеры кода, секьюрити чеки, подключение тестов
- Мониторинг состояния приложения (Sentry, Elasticsearch, Kibana, Beats and Logstash, Prometheus, Grafana, Jaeger).
Стоимость: Бесплатно
Golang от ITVDN
Ссылка на официальный сайт: https://itvdn.com/ru/video/golang
Курс призван обучить новичков основам языка Go. После прохождения курса вы будете знать основные понятия и конструкции языка, правильно писать код на Go, а также уметь использовать инструментарий, описанный в курсе.
Чему научитесь:
- Создавать простые приложения на Go
- Работать со стандартными библиотеками и утилитами Go
- Применять методы и функции
- Работать с массивами, срезами, словарями и оператором range
- Писать многопоточные приложения
- Тестировать код и измерять производительность функций.
Программа обучения:
- Введение. Основные понятия языка, стиль написания, пакеты и типы.
- Первая программа. Утилиты Go.
- Массивы, срезы, словари, оператор range.
- Структуры и интерфейсы. Интерфейсный тип данных.
- Многопоточность. Горутины, каналы, оператор select.
- Пакеты. GoDoc
- IO, пакет bytes, буферы.
- Тестирование. Измерение производительности функций.
Цена: нет информации
Golang-разработчик от Центр компьютерного обучения «Специалист» при МГТУ им.Н.Э.Баумана
Ссылка на официальный сайт: https://www.specialist.ru/track/dp-golang
Чему научитесь:
- Знание Go, Python
- PostgreSQL, REST API
- Система управления Git
- HTML и CSS
- Linux, администрирование Debian, CentOS
- Разработка и тестирование микросервисов.
Программа обучения:
- Программирование на языке Python. Уровень 1. Базовый курс
- HTML и CSS. Уровень 1. Создание сайтов на HTML 5 и СSS 3
- Уровень 1. Основы администрирования систем Debian, Ubuntu, CentOS
- Система управления версиями Git
- Программирование на языке Go. Уровень 1. Основы языка Go
- Программирование на языке Go. Уровень 2. Проектирование REST API
- Программирование на языке Go. Уровень 3. Разработка веб-приложений
- Разработка серверной части приложений PostgreSQL 12. Базовый курс.
Цена: 138 890 ₽ — 172 390 ₽
Golang-разработчик от Nordic IT School
Ссылка на официальный сайт: https://inordic.ru/courses/golang
Научитесь создавать сервисы и приложения на языке компании Google! GO — один из самых быстрых языков для обработки огромного количества запросов.
Чему научитесь:
- Основы языка и разработки сервисов с помощью Go
- Научитесь создавать сайты и ботов на Golang
- Управлять с их помощью компьютерами и серверами
- Познакомитесь с Linux и PostgreSQL.
Программа обучения:
- Введение в Golang
- Основные понятия
- Основы настройки серверов Linux
- Работа с консолью
- Производные типы
- Объявление типов
- Методы
- Введение в интерфейсы
- Параллельное программирование
- Golang для веб
- Создание telegram ботов
- Базы данных
- Совместная разработка
- Основы GIT
- Github
- Автоматическое тестирование.
Цена: 68 000 руб.
Golang от Luxoft Training
Ссылка на официальный сайт: https://www.luxoft-training.ru/kurs/golang.html
Базовый курс по языку программирования Go. Рассматриваются основные типы данных языка, управляющие структуры, особенности стиля программирования и встроенные инструменты компилятора. Дополнительное внимание уделяется возможностям стандартной библиотеки, а также приводятся примеры решения практических задач, в частности реализация REST-интерфейсов.
Чему научитесь:
- использовать типы данных и синтаксические конструкции языка Go.
- поймёте объектно-ориентированную модель языка и научитесь проектировать в соответствии с ней программные компоненты.
- поймёте основные сложности разработки конкурентного программного кода и способы их устранения.
- научитесь использовать встроенные инструменты языка и разрабатывать код в соответствии с ожиданиями сообщества разработчиков.
- научитесь решать практические задачи на уровне, достаточном для промышленного применения.
Программа обучения:
- Environment setup
- Как установить и настроить компилятор языка Go.
- Пример написания, компиляции и запуска простой программы на языке Go.
- Go IDEs
- Какие интегрированные среды разработки можно использовать для написания кода на языке Go, как их установить и настроить.
- Go tools
- Основной инструментарий поддержки процесса разработки.
- Как скомпилировать и запустить программу на языке Go, как получить доступ к документации, а также добавить документацию в собственный код.
- Directory structure.Go modules. Packages
- Как организовать структуру директории проекта так, чтобы она соответствовала общепринятым правилам.
- Способы декомпозиции кода на отдельные составляющие для удобства последующей поддержки и повторного использования.
- Installing dependencies
- Использование готовых решений вместо написания собственного кода. Управление зависимостями и распределенное хранение пакетов.
- Data types and variables declaration. Zero values. Type conversions
- Представление примитивных значений в языке и выполнение базовых операций над ними.
- Branching and loops. break, continue, fallthrough, goto
- Описание алгоритмов с помощью циклов и ветвлений, отличие синтаксических конструкций в Go от других языков программирования.
- Containers: arrays, slices, maps
- Как хранить последовательности значений: массивы, срезы и хеши, их внутреннее представление и примеры использования.
- Multiple return values. Variadic parameters. Function literals and closures
- Определение функций и передача параметров.
- Функции с произвольным количеством аргументов.
- Функциональные возможности языка, анонимные функции и замыкания.
- Types declarations. Constants, Iota. Structures. Embedded structs. Anonymous structs. Nested structs
- Способы определения пользовательских типов и констант, описание последовательностей значений.
- Как описать сущности предметной области при помощи конструкций языка.
- Value and references types
- Управление памятью и указатели.
- Defer statement
- Оператор отложенного вызова функций.
- Error handling. Panic, recover
- Как обнаружить и обработать ошибки времени выполнения.
- Способы написания надежного и отказоустойчивого кода.
- Methods and interfaces. Method expressions
- Понятие интерфейса и его реализации.
- Построение объектно-ориентированного кода на основе интерфейсов.
- Методы.
- Concurrency vs parallelism. Goroutines. Memory model
- Как делать несколько вещей одновременно.
- Организация конкурентного выполнения на основе горутин.
- Модель памяти в Go.
- Blocking and unblocking channels. select statement.
- Способ написания надежного конкурентного кода: обмен данными между горутинами на основе каналов.
- Waitgroups, mutexes, atomics
- Синхронизация отдельных частей программы.
- Reading and writing files
- Как сохранять данные между отдельными запусками программы.
- Standard library: fmt, log, strings, time, sort, http, math, regexp
- Встроенные механизмы языка для решения повседневных задач.
- Testing and benchmarking
- Как гарантировать стабильность программного кода с помощью модульных тестов, а также найти наиболее эффективное решение задачи.
- JSON encoding and decoding
- Обмен данными с программами, написанными на других языках.
- PostgreSQL. MongoDB
- Хранение данных в реляционных базах.
- REST application example
- Пример полноценного бек-енд приложения.
- Unsafe package
- Расширения языка для выполнения небезопасных функций.
Цена: 37 400 руб.
Программирование на Go от Stepik
Ссылка на официальный сайт: https://stepik.org/course/51100/promo
Вводный курс по языку программирования Go. После курса вы сможете написать своё сетевое многопоточное приложение чата, научитесь получать данные по сети и разбирать их (парсить), поймёте, где и как можно применять Go.
Чему научитесь:
- Сможете написать своё сетевое многопоточное приложение чата
- Научитесь получать данные по сети и разбирать их (парсить)
- Поймёте, где и как можно применять Go.
Программа обучения:
- Введение в Go
- Что такое Go. Краткая история
- Классический пример — Hello, world!
- Основные возможности языка Go.
- Фундаментальные и составные типы данных
- Имена, числа, булевы значения
- Строки
- Константы
- Массивы и срезы
- Отображения
- Структуры
- JSON
- Указатели, время жизни переменных
- Документирование кода и пакетов.
- Функции. Методы
- Объявления функций
- Рекурсивные вызовы
- Множественный возврат значений
- Ошибки. Стратегия обработки
- Значения — функции
- Анонимные функции
- Вариативные функции
- Отложенные вызовы функций
- Объявления методов
- Значения — методы и выражения — методы
- Переопределение методов
- Инкапсуляция
- Интерфейсы.
- Подпрограммы и каналы
- Go подпрограммы
- Каналы
- Параллельные циклы
- Чат — сервер
- Тестирование.
- Итоговые задачи
- Задачи по материалам курса.
Цена: 4 400 ₽
Golang от NIX LTD
Ссылка на официальный сайт: https://www.nixsolutions.com/ru/study-center/courses/onlajn-obuchenie-golang/
Курс включает в себя теорию и практические задания для ее закрепления. Если вдруг заблудишься в потоке информации или столкнешься с нерешаемой задачей — эксперты всегда придут к тебе на помощь.
Успешное прохождение программы подготовит тебя к собеседованию на вакансию Junior Golang Developer в нашу команду.
Чему научитесь:
- Освоишь базовые концепции Go и VueJS;
- инструментарий для работы в реальном проекте;
- разработку на современном фреймворке;
- азы full-stack.
Бесплатно
Golang от ITEA
Ссылка на официальный сайт: https://onlineitea.com/course/go-basic/
Пройди Golang обучение с нуля, чтобы понять основы одного из ведущих языков программирования 2021 года, изучить его идиомы и разобраться, как избежать типичных ошибок айтишника. Образовательная программа академии позволит полноценно погрузиться в разработку на Go для решения практических заданий и прокачки навыков в языке и технологическом стеке.
Чему научитесь:
- Писать консольно-сервисные приложения
- Разрабатывать консольное ПО на языке Go, под разные ОС и разные архитектуры.
Программа обучения:
- Введение
- Что такое Go
- История
- В чем преимущество Go над другими языками
- Какие задачи язык Go позволяет решать очень эффективно
- Современность языка Go
- Основы Git
- Настройка среды Go
- Установка Go
- Установка дополнительных инструментов для эффективной работы с языком Go
- Разбор основных утилит для работы с Go
- Быстрая настройка среды Go на примере Visual Studio Code
- Первая программа
- Самый простой Web Server на Go за 1 минуту
- Основы
- Типы данных
- Переменные
- Константы
- Указатели
- Пакеты и импорт
- Область видимости
- Основные операции языка
- Логические операции
- Арифметические операции
- Поразрядные операции
- Инкремент и декримент
- Управление ходом программы (Control flow)
- Оператор if
- Оператор цикла for
- Оператор switch
- Составные типы
- Массивы
- Slice
- Тип map
- Структуры
- Range
- Функции в Go
- Базовые понятия функций
- Определение функции
- Передача параметров в функцию
- Множественный возврат значений с функции
- Функции с переменным числом параметров
- Рекурсия
- Работа с файлами
- Обработка ошибок в Go
- Возврат ошибки из функции
- Deferred функции
- Panic и Recover
- Более сложные возможности Go
- Методы в Go
- Интерфейсы в Go как простой подход реализации полиморфизма
- Рефлексия
- Пакеты
- Низкоуровневое программирование
- Параллелизм в Go
- Goroutines и каналы
- Разделяемые переменные (мьютексы)
- Обзор стандартной библиотеки.
Цена: 22 650 рублей
Go программирование от Академия IT
Ссылка на официальный сайт: https://academiait.ru/course/izuchaem-go-programmirovanie-na-golang-learn-go/
Программа обучения:
- Типы и переменные в Golang. Программирование на Go #1
- Переменные и ошибки с ними. Программирование на Go #2
- Циклы в Go. Программирование на Go #3
- Массивы и срезы в Go. Программирование на Go #4
- Карты в Maps in Go. Программирование на Go #5
- Функции в Go. Программирование на Go #6
- Структуры в Go. Программирование на Go #7
- Организация кода в Go. Программирование на Go #8
- Какие книги читать по Golang???
- Библиотека Sort. Программирование на Go #9
- Парсер на Telegram и Go. Программирование на Go #10
- Telegram bot на Go. Используем webhook. Программирование на Go #11
- Telegram bot на Golang. Собираем данные пользователей. Программирование на Go #12
- Telegram bot на Golang. Собираем данные пользователей. Программирование на Go #12
- Фильтр сообщений для Telegram на Go. Программирование на Go #13
- Telegram bot на Go. Отправляем фото из облачного хранилища. Программирование на Go #14
- Golang ищем заказы на фриланс #4. Go http, telegram, api
- Go with Docker. Упаковываем приложение Go в Docker. Изучаем Golang #15
- Пишем Mysql Exporter для Prometheus на Golang
- [Go] ошибки новичков #2 (язык программирования Go)
- [GO] простая веб форма авторизации (golang, templates, шаблоны, web).
Бесплатно
Go-разработчик от TeachMeSkills
Ссылка на официальный сайт: https://teachmeskills.by/kursy-programmirovaniya/go-developer-online
Научим с нуля языку программирования Go за 4 месяца.
Чему научитесь:
- Изучишь язык GO, все его особенности и конструкции
- Научишься создавать серверные приложения быстро и эффективно
- Научишься писать качественный и лаконичный код, который легко читать и поддерживать
- Научишься выбирать и правильно применять сервисную архитектуру
- Научишься выбирать и использовать базы данных
- Научишься полному жизненному циклу разработки CI/CD от момента написания кода до релиза.
Программа обучения:
- Основы Computer Science
- Введение в программирование
- Классификация языков программирования
- Парадигмы программирования
- Устройство архитектуры компьютера и сетей
- Работа операционных систем
- Работа интернета, протоколы (TCP/IP, HTTP, FTP, SMTP, POP).
- Работа с Git
- Введение в Git
- Установка и настройка Git
- Работа с командами Git
- Git Flow
- Сложные операции
- Обзор основных репозиториев (Github, Gitlab, Bitbucket).
- Основы Linux и работа с ним
- Знакомство и установка
- Работа в графическом и консольном режиме
- Пользователи. Управление пользователями и группам
- Загрузка ОС и процесс
- Устройство файловой системы Linux.
- Понятия файла и каталога
- Веб-сервисы.
- Введение в экосистему Golang
- Обзор инструментов разработки
- Работа с плейграундом и основы тулчейна
- Настройка окружения
- Переменные окружения Golan
- Работа с консолью/ID
- Менеджер зависимостей Go Modules
- Основы Go (Часть 1)
- История возникновения языка Go
- Основные особенности языка Go
- Базовые типы данных
- Переменные
- Основные синтаксические конструкции (ветвления, циклы)
- Основы Go (Часть 2)
- Функции
- Массивы, слайсы, мапы (array, slice, map)
- Структуры (struct)
- Интерфейсы (interface)
- Объектная модель GO
- Алгоритмы и структура данных в Go
- Базовые алгоритмы
- Простые и сложные алгоритмы
- О-нотация
- Массив, список, очередь, стек. Представление в памяти
- Алгоритмы сортировки. Деревья, хэш-функция
- Асинхронная модель Go (Часть 1)
- Потоки и процессы ОС
- Отличие concurrency от многопоточности
- Методы обработки запросов и плюсы неблокирующего подхода
- Горутины
- Каналы
- Мультиплексирование каналов (select)
- Таймеры и таймауты
- Асинхронная модель Go (Часть 2)
- Асинхронное получение данных
- Пакет context и отмена выполнения
- Пул воркеров
- Механизмы синхронизации (каналы, sync.Waitgroup, sync.Mutex, sync.Atomic)
- Race condition
- Ограничение по ресурсам
- Работа с динамическими данными и производительность
- Работы с JSON
- Нюансы работы с JSON
- Работа с XML
- Pool
- Кодогенерация
- Пакет reflect
- Работа с сетью. Веб приложения, сервисы
- Протокол HTTP/HTTPS Web-приложения
- Обработка пользовательского ввода
- Конфигурирование
- Логирование. Обработка ошибок
- HTTP-запросы в сторонние сервисы
- Работа с текстом, файловая система
- Кодировки
- Работа с файлами
- Основные функции работы с файлами и строками
- Работа с внешними данными: JSON, CSV, Excel
- Буффер данных
- Базы данных (Часть 1)
- Классификация БД
- Реляционные базы данных
- Язык запросов SQL
- ORM
- Проектирование баз данных
- Базы данных (Часть 2)
- Пакет database/sql
- GORM
- SQL-injection
- Memcached
- Redis
- Document storage (MongoDB)
- Базы данных. Практика (Часть 3)
- Взаимодействие GO с SQL-решениями на примере PostgreSQL
- Взаимодействие GO с SQL-решениями на примере Redis
- Взаимодействие GO с SQ-решениями на примере Mongo
- Взаимодействие GO с SQL-решениями на примере Neo4J
- Тестирование
- Разновидности тестов
- Unit-тестирование в GO
- Mock, существующие пакеты для моков
- End-2-end тесты
- Бенчмарки в GO (тестирование производительности)
- Golang concurrency паттерны
- Базовые паттерны (waiting for task, waiting for result, waiting or finish)
- Pooling pattern
- Fan In/Fan out
- Drop pattern
- Cancelletion pattern
- Context
- Failure Detection
- Профилирование и работа с памятью
- Профилирование
- Escape-анализ
- Модель памяти GO
- Области памяти в GO (heap, stack)
- Сборка мусора
- Микросервисные приложения на Go (Часть 1)
- Что такое микросервис, плюсы и минусы
- Монолит и микросервисы
- Создание REST API
- Сетевое взаимодействие
- Проектирование REST API
- Взаимодействие с базой данных
- Создание API с помощью OpenAPI. Тестирование API
- Микросервисные приложения на Go (Часть 2)
- Что такое RPC
- net/rpc и формат gob
- net/http/jsonrpc
- Формат сериализации protobuf
- Продвинутая работа с gRPC
- Стриминг сообщений
- gRPC-gateway — получаем доступ к grpc-сервисам через HTTP
- Лучшие практики разработки Go-приложений
- Принципы структурирования Go-приложений
- Обработка сигналов
- Логирование
- Конфигурация приложения
- Линтеры
- Сборка приложений и автоматизация повторяющихся действий (Makefile)
- Шаблонизирование и автоматизация создания новых сервисов
- Очереди и брокеры сообщений
- Принцип работы месседж брокеров
- RabbitMQ: установка и принципы работы
- Постановка задач через API в RabbitMQ
- Обработка задач поисковым роботом из RabbitMQ
- Apache Kafka: отличия и принцип работы
- Продвинутые особенности языка GO
-
- Reflect
- Unsafe
- Go generate
- Низкоуровневое программирование (cgo)
- Архитектурные практики
- Шаблоны: порождающие, структурные, поведенческие
- Принципы SOLID, KISS, DRY
- Применение шаблонов проектирования в проекте
- DevOps-практики
- Docker
- Kubernetes
- Мониторинг и анализ логов (Console, Graylog, ELK)
- Развёртывание CI/CD-пайплайна (Jenkins, CircleCI)
- Opentracing
- Закрепление пройденного материала
- Повторение изученного материала
- Хакатон
- Онлайн-тренинг «Трудоустройство в IT»
- Составление резюме (теория + практика)
- Составление профиля на LinkedIn (теория + практика)
- Прохождение интервью
- Soft skills, которые важны в рамках интервью
- Проведение пробного интервью.
Цена: 54 700 RUB