- Кто такой Go-разработчик?
- Что делают Go-разработчики и чем занимаются?
- Что должен знать и уметь Go-разработчик?
- Востребованность и зарплаты Go-разработчиков
- Как стать Go-разработчиком и где учиться?
- 15+ лучших курсов для обучения Go-разработчика: подробный обзор
- 1 место. Курс «Профессия Go-разработчик» — Skillbox
- 2 место. Курс «Разработка на Go» — GeekBrains
- 3 место. Курс «ПРОФЕССИЯ Backend-разработчик на Go» — SkillFactory
- Курс «Go-Разработчик PRO» — Skillbox
- Курс «Golang Developer. Professional» — Otus
- Курс «Стань GO-разработчиком» — ООО «ФРОО»
- Курс «Go разработчик» — TeachMeSkills
- Курс «Let`s GO! Учимся кодить на Golang за 3 дня» — Skillbox
- Курс «Изучаем go программирование на golang learn go» — Be Geek
- Курс «Golang для начинающих» — Golangify
- Курс «Разработка веб-сервисов на Go — основы языка» — Coursera
- Курс «Уроки Golang» — itProger
- Курс «Программирование на Golang» — Stepik
- Курс «Go (Golang) для веб — разработки» — «Специалист» при МГТУ им.Н.Э.Баумана
- Курс «Быстрый переход на GO» — School Ozon
- Курс «Golang на практике» — Golang Courses
- Курс «Golang Basic» — ITEA
- Курс «ВИДЕО УРОКИ GOLANG» — ITVDN
- Курс «Golang для начинающих. Подробные уроки» — Udemy
Кто такой Go-разработчик?
Go-разработчик (Golang-разработчик) — это программист, использующий язык программирования Go для создания веб-страниц и программных продуктов. В общие обязанности разработчика Go входит работа с Go и использование его полного набора инструментов и фреймворков. Большинство разработчиков Go также занимаются тестированием и отладкой.
Что делают Go-разработчики и чем занимаются?
Обязанности на примере одной из вакансий:
- Разработка и развитие микросервисной архитектуры для приложения геосоциальной сети;
- Участие в формировании архитектурных решений и оптимизации системы;
- Разработка сервисов для биллинга, геолокационного поиска;
- Исследования и разработка технических решений для реализации функционала.
Что должен знать и уметь Go-разработчик?
Требования к Go-разработчикам:
- Знание языка Go на профессиональном уровне
- Работа с микросервисной архитектурой
- Тестирование и развёртка приложений
- Работа с файловой системой
- Создание приложений на Go
- Работа с многопоточностью
- Код-ревью
- Знание алгоритмов поиска и сортировки
Востребованность и зарплаты Go-разработчиков
На сайте поиска работы в данный момент открыто 539 вакансий, с каждым месяцем спрос на Go-разработчиков растет.
Количество вакансий с указанной зарплатой Go-разработчика по всей России:
- от 110 000 руб. – 120
- от 180 000 руб. – 104
- от 250 000 руб. – 83
- от 315 000 руб. – 48
- от 385 000 руб. – 15
Вакансий с указанным уровнем дохода по Москве:
- от 165 000 руб. – 67
- от 250 000 руб. – 58
- от 335 000 руб. – 29
- от 425 000 руб. – 6
- от 510 000 руб. – 4
Вакансий с указанным уровнем дохода по Санкт-Петербургу:
- от 155 000 руб. – 14
- от 205 000 руб. – 13
- от 250 000 руб. – 12
- от 300 000 руб. – 8
- от 350 000 руб. – 2
Как стать Go-разработчиком и где учиться?
Варианты обучения для Go-разработчика с нуля:
- Самостоятельное обучение – всевозможные видео на YouTube, книги, форумы, самоучители и т.д. Плюсы – дешево или очень недорого. Минусы – нет системности, самостоятельное обучение может оказаться неэффективным, полученные навыки могут оказаться невостребованными у работодателя;
- Онлайн-обучение. Пройти курс можно на одной из образовательных платформ. Такие курсы рассчитаны на людей без особой подготовки, поэтому подойдут большинству людей. Обычно упор в онлайн-обучении делается на практику – это позволяет быстро пополнить портфолио и устроиться на работу сразу после обучения.
Ниже сделали обзор 15+ лучших онлайн-курсов.
15+ лучших курсов для обучения Go-разработчика: подробный обзор
1 место. Курс «Профессия Go-разработчик» — Skillbox
https://skillbox.ru/course/profession-godev/
Стоимость: Рассрочка на 24 месяца — 5 548 ₽ / мес
Golang от Google — прост, универсален и эффективен. Вы освоите его, научитесь создавать приложения с микросервисной архитектурой и получите высокооплачиваемую профессию.
- Длительность 12 месяцев
- 5 курсов в одной программе
- Помощь в трудоустройстве
- Доступ к курсу навсегда
На рынке не хватает Go-разработчиков
По данным hh.ru:
- 1 000 компаний
сейчас ищут программистов на Go
- от 60 000 рублей
зарплата начинающего Go-разработчика
- 150 000 рублей
зарплата разработчика уровня middle
Кому подойдёт этот курс
- Новичкам в программировании
Вы освоите востребованную профессию с нуля: поймёте принципы работы с операционными системами и обменом данными, научитесь создавать и оптимизировать приложения на языке Go. Сможете начать карьеру программиста.
- IT-специалистам
Вы расширите свои компетенции и выучите новый язык системного программирования. Научитесь писать поддерживаемые приложения, работать с микросервисной архитектурой и высоконагруженными системами. Сможете решать больше задач и стать специалистом широкого профиля.
Чему вы научитесь
- Разрабатывать приложения на Go
- Работать с файловой системой
- Работать с алгоритмами поиска и сортировки
- Понимать принципы работы операционных систем и обмена данными по сети
- Программировать многопоточные распределённые системы для высоконагруженных проектов
- Собирать, тестировать и развёртывать готовые приложения
- Работать с системой контроля версий Git
- Делать код-ревью
- Прокачаете soft skills программиста
Акция!
Всем студентам курса на время обучения мы даём бесплатный доступ к специализированной IDE (среде разработки) от компании JetBrains — GoLand.
Умная кросс-платформенная IDE.
Заботимся, чтобы каждый построил карьеру мечты
Специалисты Skillbox из Центра карьеры помогут вам получить первую стажировку и приглашение на работу мечты
Узнайте, как мы поддерживаем студентов в поиске работы
За 2021 год мы трудоустроили более 1000 студентов на работу по новой профессии
Как проходит обучение
- Изучаете тему
В курсе — практические видеоуроки.
- Выполняете задания
В том темпе, в котором вам удобно.
- Работаете с преподавателем
Закрепляете знания и исправляете ошибки.
- Защищаете дипломную работу
И дополняете ею своё портфолио.
Программа
Вас ждут онлайн-лекции и практические задания с разным уровнем сложности, а также бонусные курсы, которые помогут расширить навыки.
- 40 тематических модулей
- 167 онлайн-уроков
Основные курсы
- Разработчик на Go
- Вводный модуль. Первая программа
- Базовые типы. Целочисленные типы. Данные и вычисления
- Строки
- Условный оператор if
- Логические операторы и составные условия
- Введение в циклы: for как единая точка входа
- Вложенные циклы
- Оператор switch
- Диапазоны значений
- Числа с плавающей запятой. Математические вычисления
- Комплексные типы данных. Строки.
- Работа с файлами
- Функции в программировании
- Функции, возвращающие результат
- Композитные типы данных. Одномерные массивы. Базовые алгоритмы на массивах
- Настройка JetBrains GoLand, создание проекта на JetBrains GoLand
- Отладка и логирование
- Breakpoints
- Простые алгоритмы на массивах
- Двумерные массивы
- Анонимные функции
- Продвинутые алгоритмы на массивах. Поиск.
- Сортировка с пониженной алгоритмической сложностью
- Композитные типы данных. Срезы. Динамическое выделение памяти
- Подмножества и работа со срезами
- Строки и текстовые данные. Базовые алгоритмы со строками
- Композитные типы данных. Карты
- Композитные типы данных. Структуры
- Переиспользование кода
- Модульность и организация исходного кода в Golang
- Многопоточность
- Работа с каналами
- Битовые операции и обработка двоичных данных
- Автоматическое тестирование, юнит-тесты
- Автоматическая сборка проекта. Make install
- Микросервисная архитектура
- Обмен данными по сети. Часть 1
- Обмен данными по сети. Часть 2
- Структуры данных. Теория без домашнего задания
- Теория алгоритмов. Теория без домашнего задания
Бонусные курсы
- Универсальные знания программиста
- Система контроля версий Git
- Английский для IT-специалистов
- Карьера и развитие программиста
Дипломный проект
- Сетевой многопоточный демон
Вы разработаете демона на Golang. Он должен принимать запросы по сети, распределять их по нескольким микросервисам в режиме многопоточной работы. Вы определите архитектуру микросервисов, связь между ними, протоколы обмена данными, организуете процесс параллельной работы, потенциального горизонтального масштабирования и балансировки.
Ваше резюме после обучения
- Должность Go-разработчик
- Зарплата от: 60 000 ₽
Профессиональные навыки:
- Знание языка Go на профессиональном уровне
- Работа с микросервисной архитектурой
- Тестирование и развёртка приложений
- Работа с файловой системой
- Создание приложений на Go
- Работа с многопоточностью
- Код-ревью
- Знание алгоритмов поиска и сортировки
Диплом Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.
2 место. Курс «Разработка на Go» — GeekBrains
https://gb.ru/professions/go-developer
Стоимость: Рассрочка на 36 месяцев — от 4 828 ₽ / мес
Научитесь создавать приложения, безопасные и масштабируемые сервисы на современном языке от Google. Его используют IT-гиганты IBM, Intel и Adobe, а в России — ВКонтакте, Avito и Ozon.
- Длительность — Обучение 12 месяцев
- Результат — 5 проектов в портфолио
- Помощь — С трудоустройством после обучения
- Формат обучения — Онлайн, 2 раза в неделю
Кому подойдет курс
Новичкам
Golang отлично подходит в качестве первого языка программирования. У него простой синтаксис и короткая документация. Чтобы его освоить, не нужен технический бэкграунд.
Разработчикам с опытом
Многие компании переходят на Go и ищут специалистов со знанием двух языков. Если знаете PHP, C/C++, JavaScript, Ruby или другие языки, сможете зарабатывать больше.
Станьте Go-разработчиком с нуля
Выбирая обучение GeekBrains, вы попадаете в образовательную экосистему. Это практически единственная возможность освоить современную и востребованную специальность и получить уверенность в своём будущем.
Участвуйте в вебинарах и получайте обратную связь
Мы сделали так, чтобы вам было проще осваивать профессию с нуля. Занятия проходят в Zoom: вы можете в любой момент задать преподавателю вопрос или обменяться мнениями с однокурсниками. Каждое занятие можете пересматривать в записи, даже если его пришлось пропустить.
Лучшие практики
Вас ждет отдельный модуль, посвященный лучшим практикам разработки на Go. Вы сможете писать чистый и понятный код и научитесь работать с Git.
Инфраструктура для реальных проектов
Обучение проходит в условиях, близких к коммерческой разработке. Вы будете работать на удаленном облачном кластере Kubernetes от нашего партнера Mail.ru Cloud Solutions.
Командная разработка
Поучаствуете в командных проектах и научитесь работать по Agile. Познакомитесь с методологией DevOps и инструментами непрерывной интеграции, доставки и развертывания кода (CI/CD).
Как вы найдёте работу с помощью GeekBrains
Дадим необходимые знания
Уже за первые полгода вы получите достаточно навыков и знаний, чтобы найти работу на позицию Junior.
Вместе оформим резюме
HR-специалисты GeekBrains помогут создать конкурентоспособное резюме, а вы выложите его на сайт для поиска работы.
Предложим подходящие вакансии
Мы найдем для вас лучшие предложения о работе. Ваша задача — откликаться на них и участвовать в поиске идеального места работы.
Поможем пройти собеседование
Расскажем, какие вопросы чаще всего задают и какие знания проверяют. Поделимся рекомендациями, что говорить и как вести себя на интервью.
Отзывы студентов на сайте.
Программа курса «Go-разработчик»
2 недели, 8 уроков
HTML/CSS. Интерактивный курс
Познакомитесь с веб-технологиями и создадите простой сайт.
- Основные понятия в веб-разработке
- Основы языка разметки документов HTML
- Основы языка оформления стилей документа CSS
- Псевдоклассы и псевдоэлементы, табличная верстка
- Формирование блочной модели, блочная верстка
- Работа с макетом дизайна в формате PSD
- Разметка сайта и знакомство с Bootstrap
- Стандарты web и вспомогательные инструменты
Видео-курс
Базовый видеокурс по Git
Познакомитесь с Git — системой контроля версий, которую программисты активно используют в учебных и коммерческих проектах.
- Введение в Git
- Установка и настройка Git
- Основные команды терминала
- Работа с репозиториями
- Управление файлами репозитория
- История изменений
- Работа с ветками репозитория
- Публикация репозитория
- Слияния веток
- Управление версиями
- Создание pull-request
- Сложные операции
- Работа с Fork-репозиториями
1 месяц, 7 уроков
Базовый курс Javascript
Познакомитесь с программированием на JavaScript, чтобы создавать простые веб-страницы.
- Основы языка JavaScript
- Основные операторы
- Циклы, массивы, структуры данных
- Объекты
- Введение в DOM
- Обработка событий
- Урок-практикум
- Анонимные функции, замыкания
1 месяц, 8 уроков
Linux. Рабочая станция
Бэкенд-приложения на Go часто разворачивают на Linux. Вы познакомитесь с особенностями Linux и сможете эффективнее вести разработку.
- Установка операционной системы Linux
- Настройка интерфейса командной строки
- Управление пользователями и группами
- Процессы, загрузка операционной системы
- Устройство файловой системы. Файл и каталог
- Введение в скрипты bash. Планировщики задач crontab и at
- Управление пакетами и репозиториями. Основы сетевой безопасности
- Введение в docker
1 месяц, 9 уроков
Go. Уровень 1
Познакомитесь с основными инструментами и главными типами данных Go и научитесь создавать простые консольные приложения.
- Особенности и история появления языка Go. Работа с плейграундом и основы тулчейна.
- Базовые типы данных. Основы работы с подсистемой ввода-вывода операционной системы. Основы структурирования Go-приложений
- Операторы и управляющие конструкции, базовые функции
- Сложные типы данных: массивы, слайсы и мапы
- Сложные типы данных: структуры, функции и методы
- Сложные типы данных: указатели
- Интерфейсы. Ошибки. Основы обработки ошибок
- Основы конфигурирования приложений
- Работа с файловой системой
- Основы тестирования Go-приложений
- Финальная консультация по курсу. Ответы на вопросы
1 месяц, 8 уроков
Go. Уровень 2
Познакомитесь с вариантами реализации параллельных вычислений в конкурентной модели, научитесь управлять зависимостями и писать простые асинхронные приложения.
- Продвинутая генерация и обработка ошибок и работа с panic. Отложенный вызов функций
- Кросс-компиляция в Go и более глубокое погружение в тулчейн
- Работа с внешними зависимостями
- Concurrency, часть 1. Горутины и каналы
- Concurrency, часть 2. Основы типов данных из пакета sync
- Concurrency, часть 3. Планировщик горутин, race condition и проверка на его наличие
- Рефлексия и кодогенерация в языке Go.
- Основы работы со стандартной библиотекой Go. Подготовка к курсовому проекту
1 месяц, 8 уроков
Лучшие практики разработки Go-приложений
Познакомитесь с современными практиками разработки на Go и научитесь их внедрять в свои проекты. Они пригодятся в разработке любых приложений: от простых утилит до высоконагруженных сервисов.
- Обработка ошибок сторонних сервисов и сигналов операционной системы
- Логирование
- Продвинутые практики тестирования
- Консультация
- Принципы структурирования Go-приложений
- Линтеры: продвинутый уровень
- Сборка приложений и автоматизация повторяющихся действий
1 месяц, 10 уроков
Backend-разработка. Уровень 1
Научитесь разрабатывать приложения на Go, проектировать и поддерживать их бэкенд. В конце курса создадите проект — сокращатель ссылок.
- Основы сетевого взаимодействия
- HTTP и проектирование RESTful API
- Реализация и тестирование HTTP-хендлеров
- Выбор роутера и библиотек. Middleware. Контекст запроса.
- Практика, часть 1. Реализация сервера
- Практика, часть 2. Реализация веб-приложения
- Особенности докеризации Go-приложений.
- Сборка и развёртывание приложения. CI/CD
1 месяц, 12 уроков
Базы данных
Узнаете, как работают реляционные базы данных, сможете создавать свои, модифицировать их структуру и управлять данными с помощью SQL.
- Введение в теорию реляционных баз данных
- Базовые понятия структуры базы данных
- Определение данных, базовые операции с данными
- Выборка данных, агрегация данных
- Вложенные запросы и объединение UNION
- Объединение JOIN
- Расширенные возможности SQL
- Оконные функции, индексы, работа в графическом клиенте
3 недели, 6 уроков
Postgres для Go-разработчиков
Попробуете себя в роли администратора баз данных, научитесь работать с системой управления PostgreSQL и внедрять её в свои проекты.
- Начало работы с PostgreSQL: базовые инструменты, сравнение с другими СУБД
- Работа со структурой базы, CTE, анализ требований при поиске данных
- Анализ выполнения запросов и индексация данных
- Использование PostgreSQL из Go-приложения
- Структура приложения, тестирование, миграции, ORM
- Уровни изоляции, конкурентный доступ, очистка, репликация
2 недели, 4 урока
Наблюдаемость (observability) и оптимизация
Узнаете, как анализировать производительность программ и оптимизировать их с помощью профилирования, трейсинга и кеширования.
- In-memory-хранилища. Кеширование
- Профилирование и оптимизация приложений
- Отправка метрик, часть 1. Мониторинг сервиса
- Отправка метрик, часть 2. Трейсинг
1 месяц, 8 уроков
Backend-разработка. Уровень 2
Научитесь разворачивать приложения в Kubernetes и управлять ими, познакомитесь с различными API-протоколами и принципами проектирования микросервисов.
- Принципы взаимодействия микросервисов
- JSON-RPC и gRPC
- GraphQL
- Запуск Go-приложений в Kubernetes. Конфигурирование. Мониторинг. Отладка.
- Kubernetes-кластер
- Очереди
- Функциональное тестирование/BDD
- Основы безопасности Go-приложений
2 недели, 4 урока
Подготовка к собеседованию Go-разработчика
Создадите привлекательное резюме и подготовитесь к техническому собеседованию. Сможете собрать собственное GitHub-портфолио из своих проектов.
- Создание GitHub-портфолио
- Гибкие навыки Go-разработчика
- Прохождение технического собеседования
- Консультация по портфолио
2 месяца, 8 уроков
Командная разработка микросервисного проекта
Узнаете, как вести разработку в быстро изменяющейся среде: научитесь работать с большими задачами от заказчиков, разбирать их на части правильно приоритизировать. Реализуете собственные микросервисы в командной работе.
- Совместная работа по проектированию сервисов. RFC и дизайн-документы
- Практики совместной работы с Git. Код-ревью
- Совместное тестирование и развёртывание сервисов
- Ответственность разработчика. Чек-листы готовности к продакшену
- Практика oncall-дежурств. Инциденты и постмортемы
- Три консультации по вашему проекту
Вместе мы позаботимся о вашем профессиональном будущем
Преподаватели
Минимум 70% программы составляют вебинары — вы сможете задать вопросы, получить обратную связь и персональную помощь по своим проектам от экспертов.
HR-менеджер
Вместе со специалистом вы в индивидуальном порядке продумаете ваш карьерный трек и подготовитесь к трудоустройству.
Личный наставник
У вас будет свой наставник, который всегда на связи и помогает с домашними заданиями. Так вы быстрее усвоите материал.
Аккаунт-менеджер
Разобраться с личным кабинетом, записаться на обучение, собирать обратную связь и передать ее — вот с чем поможет этот специалист.
Специалисты техподдержки
Помогут решить сложности с личным кабинетом или загрузкой занятий.
Ваше резюме после обучения
Мои навыки:
- Разработка на языке Go;
• Проектирование микросервисной архитектуры веб-приложений;
• Разработка и конфигурация распределенных приложений для развертывания в Kubernetes-кластере;
• Использование реляционных и нереляционных баз данных;
• Написание поддерживаемого и тестируемого кода;
• Работа в кросс-функциональной команде;
• Понимание принципов CI/CD и опыт использования инструментов для реализации этих принципов;
Портфолио из 5-ти проектов
- Парсер
- Backend для сервиса по сокращению ссылок
- Клиент для работы с сетью
- Веб-сервер с JSON API, GraphQL и gRPC
- Командный проект
Технологии, которые вы освоите
- Go
- JavaScript
- HTML
- CSS
- Git
- PostgreSQL
- MongoDB
- Redis
- Kafka
- Linux
- k8s
- Docker
- Prometheus
- OpenTelemetry
- Open API
- REST API
- GraphQL
- gRPC
Удостоверение о повышении квалификации
Вы получаете электронный сертификат и удостоверение о повышении квалификации установленного образца, их можно приложить к портфолио и показать работодателю. Обучение проводим на основании гослицензии № 040485.
3 место. Курс «ПРОФЕССИЯ Backend-разработчик на Go» — SkillFactory
https://skillfactory.ru/backend-razrabotchik-na-go
Стоимость: Рассрочка на 36 месяцев — 2 111 ₽ / мес
Вы изучите программирование на Go с нуля
Мышление программиста
Мы поможем развить «мышление программиста»: вы начнете думать алгоритмически и станете эффективно раскладывать в уме даже сложные задачи
Теория и практика
Обучение Go-разработчиков состоит из сотен маленьких шагов и ориентировано на закрепление практических навыков. У нас есть тренажеры, мини-проекты, интерактивные вебинары, сквозные проекты и командный проект
Ментор и сообщество
Вы не останетесь один на один с новым. Мы организуем Q&A-сессии с ведущими экспертами, персональную обратную связь по всем вопросам от менторов и поддержку кураторов, которые помогут вам дойти до конца
Как проходит обучение на курсе по GO
Освойте профессию backend-разработчика на Go за 12 месяцев
Краткая программа профессии
- 20 часов интерактивных вебинаров
- 100 задач на алгоритмы
- 50 написанных программ
Основы computer science и Go
1 блок
4,5 месяца
Вводный блок
- Ключевые понятия в IT области
- Классификация языков программирования
- Современные технологии и работа интернета
- Архитектура компьютера и операционных систем
Основы языка Go
- Установка окружения, компиляция и запуск программ на Go, основные синтаксические конструкции (пакеты, переменные и типы данных, константы, введение в строки)
- Ветвления, циклы
- Функции и методы, структуры
- Обработка ошибок и паник, интерфейсы, рекурсия
- Массивы, словари, слайсы, строки, руны и слайсы байт
Алгоритмы и структуры данных на Go
- Введение, сложность алгоритмов и О-нотации
- Массив, список, очередь, стек. Представление в памяти
- Алгоритмы сортировки
- Деревья, графы, алгоритмы поиска
- Хэш-таблицы, Хэш-мапы, Хэш-функции
Основы Многопоточности
- Понятие процесса и потока в операционной системе
- Горутины и базовая синхронизация
- Синхронизация с использованием атомиков и каналов
- Wait group, основные шаблоны использования горутин
Выполнение проекта: собрать пайплайн обработки данных
Инструменты разработчика
2 блок
4,5 месяца
Основы Linux
- Установка Linux, работа с графической оболочкой Linux, работа с консолью
- Управление пользователями, работа с файлами, процессы
Знакомство с Git
- Основы систем контроля версий, инициализация репозитория, синхронизация изменений, запись изменений в репозиторий
- Ветвление, Git Flow
Docker
- Основы Docker, Запуск приложений в контейнере
Базы данных и SQL
- Реляционные базы данных, проектирование базы данных
- Язык SQL, Транзакции
- Индексы, триггеры, представления, хранимые процедуры
- Работа с sql базой данных в Go
Базы данных NoSql
- Документные базы данных, отличие от SQL
- Введение в Mongo DB и Redis
В результате вы:
Разработаете поисковый робот, который умеет обходить все страницы сайта по его sitemap и сохранять результаты обхода в базе данных.
Углубленное изучение GO
- Модули (сборка, Proxy), профилирование
- Регулярные выражения, работа с вводом/выводом, работа с файлами
- Протокол gRPC, его работа с GO
- Логирование, конфигурация
- Тестирование
- Планировщик горутин, память и сборка мусора, race detector
Выполнение проекта: разработка новостного агрегатора
Создание API Gateway для агрегатора новостей на Go
3 блок
2,5 месяца
Основы архитектуры
- Принципы чистой архитектуры, Основы DDD, Принципы SOLID, KISS, DRY
- Понятие 12-факторного приложения, шаблоны проектирования
Создание Rest API Gateway
- Монолит и микросервисы
- JSON, проектирование Rest API
- Создание API с помощью OpenAPI
- Реализация кэша с использованием Redis
- Тестирование API
Архитектура и DevOps для Golang
4 блок
3 недели
Очереди и брокеры сообщений
- RabbitMQ: установка и принципы работы, топики, сообщения, роутинг
- Асинхронный транспорт между агрегатором новостей и api gateway
DevOps для Golang
5 блок
2 недели
Devops
- Основы Kubernetes
- Основы Continuous integration/delivery
Что ждет тебя на курсе
Уроки и вебинары
Модули с теорией и интерактивные вебинары, на которых вы осваиваете необходимую теорию и практикуете разработку с ментором в режиме онлайн
Тренажёры
3 тренажёра по инструментам разработчика для отработки навыков: алгоритмы, Golang, SQL.
Проекты в портфолио
3 вида проектов: мини-проекты по темам для закрепления навыка, сквозные полноценные проекты по разработке, командный проект с тимлидом
Продвинутые навыки
Вы освоите работу с базами данных и построение микросервисной архитектуры, горутины и основы DevOps-практик, а также навык решения алгоритмических задач
Ты станешь крутым Go-разработчиком
Тысячи студентов достигают ее, благодаря нашему многолетнему опыту работы в сфере профессионального образования и тесному сотрудничеству с лидерами рынка.
- Наша цель —трансформация твоей карьеры
- Тренажеры
- Проекты
- Аналитика
- Soft Skills
- Решение нестандартных задач
- В отличие от большинства онлайн-школ мы используем модель фундаментального образования.
- Ты получишь подготовку не только в области практических знаний, но и базу, новые парадигмы мышления и сообщество однокурсников и преподавателей — то, чем там ценны офлайн-вузы университеты вроде Оксфорда, Гарварда, МГУ и др.
Вы гарантированно получите
- Помощь кураторов, которые следят за вашим прогрессом и остаются на связи весь курс
- Ответы на все вопросы, постоянная обратная связь
от менторов по проделанной работе - Поддержку по всем учебным вопросам в течение 1 часа в рабочее время
- Дружное сообщество, которое общается в Slack. Групповые проекты
и работа в команде.
Ваше резюме после обучения
Backend-разработчик на Go
Я уверенно могу:
— Решать задачи любой сложности с помощью алгоритмов
— Программировать на Golang, ревьюить код
— Искать и исправлять ошибки в своем коде (debugging)
— Разработать приложение с микросервисной архитектурой
— Внедрять devops-практики в процесс разработки
— Спроектировать архитектуру приложения
— Написать API
— Написать серверную логику и настроить взаимодействие с базами данных
- Научитесь разворачивать приложения в продакшне, настраивать CI/CD и покрывать их тестами
- Разработаете несколько микросервисов для агрегатора новостей
- Vectors by Freepik
- Научитесь разрабатывать надёжные, многопоточные и масштабируемые серверные приложения
- Освоите лучшие практики программирования на Golang
Вакансии от лидеров рынка
- персональная помощь в поиске работы
- пополните сеть профессиональных контактов
- посетите карьерные консультации
- составите резюме с HR
- пройдете симулятор технического собеседования
- делаем прозрачным процесс трудоустройства
Курс «Go-Разработчик PRO» — Skillbox
https://skillbox.ru/course/go-developer-pro/
Стоимость: разная стоимость
Вы изучите современный и востребованный язык Go на продвинутом уровне и сможете трудоустроиться на позицию Middle-разработчика.
- Длительность 8 месяцев
- Первые 3 месяца 0 рублей
- Обучение на практике
- Доступ к курсу навсегда
Кому подойдёт этот курс
- Junior-разработчикам
Вы освоите язык Go на продвинутом уровне. Расширите компетенции, повысите уровень до Middle и станете более востребованным специалистом.
- Middle-разработчикам
Вы освоите продвинутые темы: многопоточность в Go, тестирование и проектирование приложений, работу с Docker. Добавите в свой стек современный и востребованный язык.
Чему вы научитесь
- Разрабатывать веб-приложения с микросервисной архитектурой
- Уменьшать время отклика от сервера
- Разворачивать приложения на Go в Docker
- Работать с многопоточностью и конкурентностью
- Работать с сетевыми протоколами
- Тестировать приложения
- Проектировать приложения и API
- Понимать принципы взаимодействия приложений на Go с операционными системами *nix
- Использовать алгоритмы и паттерны
Акция!
Всем студентам курса на время обучения мы даём бесплатный доступ к специализированной IDE (среде разработки) от компании JetBrains — GoLand.
Умная кросс-платформенная IDE.
Как проходит обучение
- Изучаете тему
В курсе — практические видеоуроки.
- Выполняете задания
В том темпе, в котором вам удобно.
- Работаете с преподавателем
Закрепляете знания и исправляете ошибки.
- Защищаете дипломную работу
И дополняете ею своё портфолио.
Программа
Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.
- 37 тематических модулей
- 180 онлайн-уроков
- Основной курс
- Особенности языка программирования Go.
- Go как ООП язык программирования.
- TDD как способ разработки.
- Примитивы синхронизации в Go.
- Правила хорошего кода в Go.
- Protobuf как способ описания API.
- Валидация входящих данных в API.
- От Protobuf к REST.
- Базовые принципы проектирования реляционных БД.
- Планировщик запроса и индексы.
- Инструмент миграций.
- Генерация Go-кода по существующей схеме БД.
- Go и ORM.
- Go и чистый SQL.
- Работа с TCP и UDP на уровне net/conn.
- Принципы организации сложного консольного приложения.
- Подходы к корректному завершению работы (graceful shutdown) приложения на Go.
- Тесты на производительность (benchmarks) в Go.
- Работа с гонками данных (data races) в Go.
- Возможности компиляции приложения на Go.
- Go и Docker.
- Система контроля версий Git
- Версии программного кода.
- Установка Git.
- Индекс и частичные коммиты.
- Сравнение версий.
- Отмена изменений и откат версий.
- Репозитории и коллективная работа.
- Ветки: создание и управление.
- Слияние и разрешение конфликтов.
- Полезные инструменты.
- Правила работы с Git.
- Бонусный урок: публикация проекта на github.
- Работа в командной строке Bash (Linux)
- Что такое командная строка.
- Работа с файлами и папками.
- Авторизация и права доступа.
- Процессы, сервисы и задачи.
- Конфигурация и инструменты.
- Написание скриптов на Bash.
- Использование bash на примере настройки веб-сервера.
- Язык запросов SQL
- Введение.
- Структура БД, запрос DESCRIBE.
- Выбор и фильтрация данных, запрос SELECT.
- Функции и выражения, агрегация данных.
- Отношения и соединение таблиц: JOIN.
- Группировка.
- Модификация данных.
- Подзапросы.
- Объявление и изменение структуры данных.
- Дипломный проект. Картографический движок
Вы создадите сервис для получения данных о маршрутах с функциями рендеринга через OSRM, сохранения и отдачи данных пользователю.
Ваше резюме после обучения
Профессиональные навыки:
- Разработка приложений на Go
- Знание алгоритмов и паттернов проектирования
- Работа с сетевыми протоколам
- Проектирование приложений
- Применение микросервисной архитектуры
- Тестирование приложений
- Работа в Docker
- Оптимизация баз данных
- Многопоточная и конкурентная разработка
Диплом Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.
Курс «Golang Developer. Professional» — Otus
https://otus.ru/lessons/golang-professional/
Стоимость: 97 500 ₽
- От основ языка до создания собственного микросервиса на Go
- Для тех, кто хочет углубиться во внутреннее устройство Golang и его взаимодействие с другими системами
Длительность обучения: 5 месяцев, 4 ак. часа в нед.
Формат: Online
Дни занятий: Вт 20:00, Чт 20:00
При переходе на Go люди зачастую сталкиваются с различными неудобствами, вызванными непохожестью Go на другие языки программирования. В этом курсе мы хотели бы объяснить, что такое Go-way, рассказать про идиомы языка и помочь избежать типичных ошибок. Программа курса позволит погрузиться в разработку на Go для решения практических задач, углубления знаний в языке и сопутствующем технологическом стеке.
Первые занятия посвящены основам Golang. Таким образом программа подходит для тех, у кого есть опыт программирования на других языках, чтобы быстро перейти к углубленным темам. Для тех, кто уже знаком с Go, начало курса позволит систематизировать и освежить базовые знания.
Этот курс подойдет для:
— web-разработчиков, которые хотят переквалифицироваться в Go и расширить свой уровень мастерства;
— всех тех, кто уже разобрался с основой Go и хочет начать применять язык правильно.
Особенности курса:
Изучение внутренних механизмов Golang, а не только синтаксиса языка
Практика — реальные проблемы и их решения, с которыми столкнулись авторы при работе с Go
Теория — реальные кейсы перевода на стек языка Golang с других технологических стеков (PHP, C#) крупных высоконагруженных проектов
Выпускной проект (кейс для портфолио) — самостоятельная разработка микросервиса
Выпускники смогут:
— писать production-ready код, многопоточные и конкурентные программы;
— понимать синтаксис и внутреннее устройство языка Go;
— понимать особенности сетевого программирования;
— уметь создавать микросервисы с помощью Go;
— разворачивать микросервисы с помощью docker.
Необходимые знания— Опыт разработки от 1 года
— Опыт разработки web-приложений
— Знания по основным конструкциям и синтаксису Golang
— git, работа в GitHub
— поверхностное знание CI (GitLab CI, Travis CI, etc.)
Будет плюсом:
— знание одного из ЯП, в особенности С/C++
— опыт администрирования Linux
Программа обучения
В процессе обучения вы получите комплексные знания и навыки.
Модуль 1. Начало работы с Go
Тема 1. Инструментарий и начало работы с Go
Тема 2. Тестирование в Go. Часть 1
Тема 3. Элементарные типы данных в Go
Тема 4. Массивы, слайсы и словари
Тема 5. Структуры
Тема 6. Функции и методы
Тема 7. Интерфейсы. Часть 1
Тема 8. Интерфейсы. Часть 2
Тема 9. Обработка ошибок. Понятие паники
Тема 10. Тестирование в Go. Часть 2
Модуль 2. Concurrency в Go
Тема 11. Горутины и каналы
Тема 12. Примитивы синхронизации. Часть 1
Тема 13. Примитивы синхронизации. Часть 2
Тема 14. Concurrency patterns
Тема 15. Go внутри. Планировщик
Тема 16. Go внутри. Память и сборка мусора
Тема 17. Разбор домашних заданий и ответы на вопросы. Ч.1
Модуль 3. Стандартные библиотеки и практики
Тема 18. Работа с вводом/выводом в Go
Тема 19. Форматирование данных
Тема 20. Взаимодействие с OS
Тема 21. Рефлексия
Тема 22. Кодогенерация в Go
Тема 23. Файлы конфигурации и логирование
Тема 24. Профилирование и оптимизация Go программ
Модуль 4. Работа с сетью и БД
Тема 25. Контекст и низкоуровневые сетевые протоколы
Тема 26. Работа с SQL
Тема 27. Работа с HTTP
Тема 28. Работа с gRPC
Тема 29. Разбор домашних заданий и ответы на вопросы. Ч.2
Модуль 5. Микросервисы
Тема 30. Монолит и микросервисы
Тема 31. Очереди сообщений
Тема 32. Docker
Тема 33. Тестирование микросервисов
Тема 34. Мониторинг
Модуль 6. Проект
Тема 35. Проектная работа. Вводное
Тема 36. Консультация по проектам
Тема 37. Итоговое занятие
Курс «Стань GO-разработчиком» — ООО «ФРОО»
https://golangcourse.ru/
Стоимость: нет информации
Пиши производительные веб-сервисы с простым кодом за пару дней. Освой профессию на уровне middle-специалиста.
И получай GOры денег.
На рынке востребованы специалисты со смежной экспертизой
Курс подойдет тем, кто пишет на PHP, Python, C/C++, JavaScript, Ruby.
Во время обучения вы:
- изучите основы языка и разработки веб-сервисов с помощью Go
- запустите свое приложение
- узнаете типичные проблемы, с которыми сталкиваются разработчики любых веб-сервисов и научитесь их устранять
- прокачаетесь в веб-программировании и пополните свое резюме
За 3 месяца вы освоите профессию на уровне middle-специалиста
Мы даем много материала и сложные домашки, которые ощутимо поднимут ваш уровень и помогут уверенно использовать язык в работе.
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-шаблоны и шаблоны из файлов
• Вызов методов и функций из шаблонов
• Профилирование через pprof
• Поиск утечки горутин
• Трассировка поведения сервиса
• Пример с 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
9 неделя. Мок-тесты, JWT и CSRF-токены
- Архитектура приложения, паттерн репозиторий.
- Тестирование репозиториев и баз. Sqlmock и gomock.
- Хеширование паролей.
- CSRF-токены — на основе хеша, шифрования и JWT
- Сессии. Stateful и stateless сессии. Подводные камни сессий на основе JWT.
10 неделя. Oauth и проектирование API
- Oauth
- Горячая перезагрузка кода через Air
- Встраивание статики через vfsgen
- Проектирование API
11 неделя. GraphQL
- GraphQL — получение данны, мутаторы, сложность запросов, проблема N+1 запросов, директивы, загрузка файлов.
- Встраивание GraphQL в демонстрационный проект
- Структура приложения
12 неделя. Контейнеры, S3 и трейсинг
- Docker и golang
- Оптимизация сборки докер-контейнера, многошаговая сборка
- Docker-compose
- Объектное хранилище S3, Minio
- Организация ACL-доступа к картинкам
- Конфигурирование через Viper
- RequestID, трейсинг в GraphQL
- Распределенный трейсинг с Jaeger
Курс «Go разработчик» — TeachMeSkills
https://teachmeskills.by/kursy-programmirovaniya/go-developer-online
Стоимость: 54700 RUB
Курс Go разработчик позволяет окунуться в мир серверной разработки, понять как все устроено изнутри.
В этом курсе мы разберемся со всеми конструкциями и аспектами языка, научимся асинхроному программированию и микросервисной архитектуре. Сделаем упор на разработку, пощупаем практически все типы баз данных и научимся доставлять готовое решение в production.
Твой результат в
конце курса
1
Изучишь язык GO, все его особенности и конструкции
2
Научишься создавать серверные приложения быстро и эффективно
3
Научишься писать качественный и лаконичный код, который легко читать и поддерживать
4
Научишься выбирать и правильно применять сервисную архитектуру
5
Научишься выбирать и использовать базы данных
6
Научишься полному жизненному циклу разработки CI/CD от момента написания кода до релиза
Программа курса
124 академических часа
Составлена практикующими разработчиками для новичков в IT. Это лучший курс по Go разработке для начинающих.
- Основы 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
- Применение шаблонов проектирования в проекте
25 — 27. DevOps-практики
- Docker
- Kubernetes
- Мониторинг и анализ логов (Console, Graylog, ELK)
- Развёртывание CI/CD-пайплайна (Jenkins, CircleCI)
- Opentracing
28 — 29. Закрепление пройденного материала
- Повторение изученного материала
- Хакатон
Курс «Let`s GO! Учимся кодить на Golang за 3 дня» — Skillbox
https://intensive.skillbox.ru/golang/
Стоимость: бесплатно
Вы узнаете, почему язык Golang быстро стал популярным, и за три дня изучите его основы. Под руководством опытного спикера разработаете простое приложение для Telegram, получите подробный фидбэк и крутые подарки.
Кому подойдёт интенсив
- Новичкам без опыта
Познакомитесь с языком Go и его возможностями. Получите лайфхаки от опытного программиста, самостоятельно напишете бота для Telegram и поймёте, интересно ли вам развиваться в Go-разработке.
- Программистам на других языках
Поработаете с новым для вас языком программирования и получите фидбэк от специалиста с 11-летним опытом. Добавите проект в портфолио и сможете пополнить резюме навыком разработки на Golang.
Вы научитесь
- Создавать простые программы на Go
Научитесь настраивать окружение для Go-разработки. Познакомитесь с синтаксисом и основными функциями Golang.
- Работать с популярными библиотеками
Узнаете, какие библиотеки помогают Go-программисту при разработке. Примените новые знания при создании простого приложения и бота.
- Ориентироваться в API Telegram
Подробно изучите интерфейс для программирования в Telegram. Создадите и прокачаете многофункционального бота.
Инструменты, которые вам понадобятся
Чтобы интенсив прошёл максимально эффективно, установите следующие программы:
- Компилятор Go — чтобы иметь доступ ко всем возможностям языка.
- Система Git — для контроля версий.
- Среду разработки, где вы будете писать код — например, Goland.
Все программы или их пробные версии можно бесплатно скачать с официальных сайтов. Ссылки и инструкции по скачиванию пришлём после регистрации на интенсив.
Программа
- Урок 1
Введение в Go-разработку
- Где применяется язык Go.
- Рынок труда для Go-разработчиков.
- Первичная настройка окружения для Go-разработки.
- Создание программы «Hello World».
- Домашнее задание.
- Урок 2
Разработка приложения на Golang
- Обзор приложения.
- Регистрация бота в Telegram.
- Работа над приложением: создаём Telegram-бота по отслеживанию криптовалютного портфеля пользователя с ежечасной нотификацией.
- Домашнее задание.
- Урок 3
Go-разработка: подводим итоги
- Разбор домашних заданий.
- Итоги обучения.
Курс «Изучаем go программирование на golang learn go» — Be Geek
https://www.youtube.com/playlist?list=PLQuaNOtBP3TpjiROGjy3-hEr5xL0fN9bX
Стоимость: бесплатно
- [Go] Модуль md5. Сравниваем файлы на Go с помощью md5sum [язык программирования Go]
- [Go] ошибки новичков #2 (язык программирования Go)
- [GO] простая веб форма авторизации (golang, templates, шаблоны, web)
- Go with Docker. Упаковываем приложение Go в Docker. Изучаем Golang #15
- Golang ищем заказы на фриланс #4. Go http, telegram, api
- Telegram bot на Go. Используем webhook. Программирование на Go #11
- Telegram bot на Go. Отправляем фото из облачного хранилища. Программирование на Go #14
- Telegram bot на Golang. Собираем данные пользователей. Программирование на Go #12
- Библиотека Sort. Программирование на Go #9
- Какие книги читать по Golang???
- Карты в Go. Maps in Go. Программирование на Go #5
- Массивы и срезы в Go. Программирование на Go #4
- Организация кода в Go. Программирование на Go #8
- Переменные и ошибки с ними. Программирование на Go #2
- Переменные окружения в Golang. Программирование на Go #16
- Структуры в Go. Программирование на Go #7
- Типы и переменные в Golang. Программирование на Go #1
- Функции в Go. Программирование на Go #6
- Циклы в Go. Программирование на Go #3
- Интерактивный CLI на Go [язык программирования Go]
- Парсер на Golang. Telegram и Go. Программирование на Go #10
- Пишем Mysql Exporter для Prometheus на Golang
- Фильтр сообщений для Telegram на Go. Программирование на Go #13
Курс «Golang для начинающих» — Golangify
https://golangify.com/go/kurs-izucheniya-golang-dlya-nachinayuschih
Стоимость: бесплатно
- Начало программирования в 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 — основы языка» — Coursera
https://ru.coursera.org/learn/golang-webservices-1
Стоимость: бесплатно
Go (golang) — современный язык программирования, предназначенный для разработки высококонкурентных приложений, работающих на многопроцессорных системах.
Курс даст основы программирования на языке Go, а так же опыт применения языка в основных задачах, которые встречаются сегодня в серверной веб-разработке. В данной части курса будут рассмотрены основы языка и разработки веб-сервисов с использованием стандартной библиотеки. Это курс предназначен для людей с опытом в веб-программировании. Если вы пишете на PHP/Python/Ruby/JS (Node.js) и хотите освоить Go — этот курс для вас. Начинающим программистам может быть немного сложно, т.к. в лекциях используется профессиональных жаргон (сленг), без детальных пояснений. Курс не рассчитан на людей без опыта программирования.
Программа курса: что вы изучите
НЕДЕЛЯ
1
7 ч. на завершение
Введение в Golang
В этом занятии мы разберёмся с самыми основами языка. Несмотря то, что во всех языках это плюс-минус одинаково — в go есть свои нюансы, которые надо знать. Впереди нас ждут такие удивительные вещи, как переменные, управляющие структуры, функции, структуры с методами и интерфейсы.
18 видео ((всего 138 мин.)), 11 материалов для самостоятельного изучения, 1 тест
18 видео
- Приветствие
- МФТИ
- Зачем нужен ещё один язык
- Первая программа
- Переменные, базовые типы данных
- Переменные, составные типы данных
- Управляющие конструкции
- Основы функций
- Функция как объект первого класса, анонимные функции
- Отложенное выполнение и обработка паники
- Основы работы со структурами
- Методы структур
- Пакеты и область видимости
- Основы работы с интерфейсами
- Пустой интерфейс
- Композиция интерфейсов
- Написание программы уникализации
- Написание тестов для программы уникализации
11 материалов для самостоятельного изучения
- Доступ к курсу
- МФТИ
- Ru Group
- Фонд развития онлайн-образования
- Чат курса
- Анкета слушателя
- Полезные книги общего характера
- Установка golang
- Про редактор кода
- Код и конспект к 1-му уроку
- Материалы для чтения к 1-му уроку
НЕДЕЛЯ
2
4 ч. на завершение
Асинхронная работа
Одно из самых важных занятий на курсе — асинхрон и конкурентность. Главная особенность языка, которая в сумме с его простотой синтаксиса дают такой мощный эффект. Уделите особое внимание тому занятию.
13 видео ((всего 68 мин.)), 2 материалов для самостоятельного изучения, 1 тест
13 видео
- Методы обработки запросов и плюсы неблокирующего подхода
- Горутины — легковесные процессы
- Каналы — передаём данные между горутинами
- Мультиплексирование каналов через оператор select
- Таймеры и таймауты
- Пакет context и отмена выполнения
- Асинхронное получение данных
- Пул воркеров
- Waitgroup — ожидание завершения работы
- Ограничение по ресурсам
- Ситуация гонки на примере конкурентной записи в map
- Mutex для синхронизации данных
- Atomic
2 материала для самостоятельного изучения
Код и конспекты ко 2-му уроку
Материалы для чтения ко 2-му уроку
НЕДЕЛЯ
3
4 ч. на завершение
Работа с динамическими данными и производительность
Дальнейшие работа будет затруднительна без понимания, каким образом в go обращаться с динамическими данными. Поэтому эту лекцию мы начнём с распаковки-запаковки JSON, а далее рассмотрим что лежит под капотом — рефлексию и кодогенерацию, а так же какой из этих подходов быстрее и как это определить.
9 видео ((всего 67 мин.)), 2 материалов для самостоятельного изучения, 1 тест
НЕДЕЛЯ
4
5 ч. на завершение
Основы HTTP
Вот мы и добрались до основной темы курса. Начнём с азов — как запустить веб-сервер, как обрабатывать запросы, как получать данные запросов. Так же в этом занятии шаблоны и снятие метрик производительности с работающего веб-сервера.
13 видео ((всего 83 мин.)), 3 материалов для самостоятельного изучения, 1 тест
13 видео
- Слушаем TCP-сокет с использованием пакета net
- Обслуживание HTTP-запросов
- Работа с параметрами запросов
- Обслуживание статичных данных
- Загрузка файлов формы
- HTTP-запросы во внешние сервисы
- Тестирование HTTP-запросов и ответов
- Inline-шаблоны и шаблоны из файлов
- Вызов методов и функций из шаблонов
- Профилирование через pprof
- Поиск утечки горутин
- Трассировка поведения сервиса
- Пример с telegram-ботом
3 материала для самостоятельного изучения
Код и конспекты к 4-му уроку
Материалы для чтения к 4-му уроку
Что дальше? 2-я часть курса
Курс «Уроки Golang» — itProger
https://itproger.com/course/golang
Стоимость: бесплатно
- Изучение Golang (Создание веб сайта) / #1 – Введение в язык Go
- #2 – Отслеживание URL адресов в языке Go
- #3 – Создание структур (модели данных)
- #4 – Работа с HTML шаблонами в Go
- #5 – Подключение MySQL к Golang проекту
- #6 – Новостной сайт. Главные настройки
- #7 – Добавление данных через сайт
- #8 – Динамические страницы для отображения статей
- #9 – Публикация Golang проекта на сервер
План курса
За курс мы с вами с нуля построим небольшой веб сайт, написанный на основе языка Golang и сопутствующих технологий по типу: HTML, CSS и JavaScript.
Перед началом курса мы рекомендуем вам ознакомится с языками разметки HTML и CSS.
Курс «Программирование на Golang» — Stepik
https://stepik.org/course/54403/promo
Стоимость: бесплатно
В этом курсе по программированию на языке Golang (Go) вы познакомитесь с основными возможностями этого языка. Например, циклы, срезы, горутины, работа с JSON и многое другое. Нельзя научиться программировать без практики, поэтому вам будет предложено довольно много задач разного уровня, в которых вы сможете потренировать своё умение программировать. Ваши решения будут проверяться автоматической системой, поэтому вы будете получать быструю обратную связь. Преподаватели постараются отвечать на любые вопросы в комментариях, поэтому если у вас будут возникать проблемы, то их всегда можно обсудить с преподавателями и однокурсниками в комментариях к задачам.
Курс подходит тем, кто имеет знания о базовом программировании. Курс не предполагает каких-либо специальных знаний по информатике, но для понимания курса желательно знать основы одного из языков программирования и уметь достаточно свободно пользоваться компьютером.
Программа курса
Введение в основы
- О курсе
- О Go
- Первая программа
- Типы данных
- Переменные и ариф. операции, ввод/вывод данных
- Комментарии
- Константы
- Условные выражения
- Условные конструкции
- Циклы
- Форматированный вывод
- Массивы и срезы
- Решение задач
Функции, структуры, указатели и другое
- Функции
- Пакеты
- Указатели
- Структуры
- Строки
- Обработка ошибок
- Решение задач
Map, файлы, интерфейсы, многопоточность и многое другое
- Отображения (map)
- Преобразование типов данных
- Анонимные функции
- Интерфейсы
- Работа с файлами
- JSON
- Работа с датой и временем
- Параллелизм ч.1
- Параллелизм ч.2
- Заключение
Курс «Go (Golang) для веб — разработки» — «Специалист» при МГТУ им.Н.Э.Баумана
https://www.specialist.ru/track/t-go
Стоимость: 64 490 руб.
Go (Golang) – язык программирования, разработанный Google. Быстрый и компилируемый Go позволяет создавать производительные веб-сервисы в сжатые сроки. А его статическая типизация сокращает число ошибок и упрощает чтение кода. C помощью Go написаны проекты Docker, InfluxDB и Kubernetes.
У Go простой синтаксис: его с легкостью осваивают и новички, и специалисты, привыкшие к другим языкам программирования. Это перспективный молодой язык, востребованный на мировом рынке труда. По всей России тысячи компаний ищут разработчиков со знанием Go, многие вакансии доступны удаленно. Средняя заработная плата составляет около 100 тыс. руб., а на позициях Middle и Senior достигает 200-250 тыс. руб.
Обучение в центре «Специалист» построено на практике. Под руководством опытного преподавателя Вы научитесь создавать веб-приложения, переносить их на сервер, проектировать REST API при помощи Go.
По окончании программы у Вас будет портфолио, практические навыки и международный сертификат, подтверждающий знания.
Курс «Быстрый переход на GO» — School Ozon
https://goschool.ozon.ru/
Стоимость: нет информации
Приглашаем middle/senior — разработчиков на C++, PHP, Java, Python и др.
Курс для разработчиков от одной из самых больших Golang-команд в России. Мы ищем ребят с опытом промышленной разработки backend от 2 лет, желающих освоить один из самых востребованных на рынке языков.
Программа
Модуль А
Вводная часть
- Настройка рабочего окружения
- Работа с переменными окружениями
Первая программа
- Точка входа и обработка аргументов
- Работа с переменными окружениями
Синтаксические конструкции языка
- Константность
- Указатели
- Ветвления
- Циклы
- Функции
- Встроенные типы
Контейнеры
- Строки
- Массивы
- Отображения
- Каналы
ООП 1 часть
- Структуры
- Методы
Тестирование
- Ошибки
- Тестирование
ООП 2 часть
- Интерфейсы
- Тестирование
Жизненный цикл
- Конструкторы
- Деструкторы
- Тестирование
Модуль В
Сериализация и десериализация данных
- Атрибуты
- JSON
Работа с протоколом HTTP
- HTTP
- validation
Работа с протоколом gRPC
- gRPC
- validation
Логгирование и сбор метрик
- logging
- metrics
Работа с реляционными базами данных
- ORM
- Пакет database/sql
Работа с key-value хранилищами данных
- memory cache
- Redis
Работа с брокерами сообщений
kafka
Трассировка
- OpenTracing
- Jaeger
Курс «Golang на практике» — Golang Courses
https://www.golang-courses.ru/
Стоимость: разная стоимость
Мы не конкурируем с крупными онлайн-школами, цель которых пробежаться «галопом по Европам» и срубить с тебя денег. Наша цель — прокачать тебя путём углублённого изучения конкретной темы с упором на практику и реальный опыт.
У нас нет воды, домашки проверяются вовремя, а теория настолько глубокая, насколько возможно.
Мы не подойдём тем, кто никогда не разрабатывал ни на одном языке программирования или
едва знаком с Go. Но если ты джуниор/миддл Golang-разработчик, выпускник онлайн-школы или сеньор-помидор, желающий проверить свои силы, то welcome!
Курсы ниже – динамические: они запускаются периодически, размер потока ограничен,
есть дедлайны, ревью домашних заданий и поддержка в отдельном чате группы.
Advanced concurrency в Go
Данный курс посвящён одной из ключевых особенностей языка.
Пишем сервис на Go
От А до Я разберём написание сервисов в Go на примере чат-сервера.
Погружаемся в unsafe и CGO
После курса вы сможете контрибьютить в библиотеки, использующие под собой Си API.
Advanced SQL в Go
Поговорим о важной составляющей любого приложения — работе с хранилищем.
Курсы ниже – статические: домашки проверяются тестирующей системой,
нет ревью, нет дедлайнов и нет учебной группы.
Продвинутая работа с ошибками в Go
И опытные разработчики не всегда понимают всю магию ошибок в Go.
Готовимся к собеседованию
Рассмотрим типовые задачи и вопросы разработчику Golang. Отсобеседуем желающих 😉
Краш-курс по профилированию в Go
Учимся искать узкие места и писать эффективный код.
Всё о модулях в Go
Разберём до мелочей концепцию модулей в Go.
Курс «Golang Basic» — ITEA
https://onlineitea.com/course/go-basic/
Стоимость: 22800 RUB
Интерактивные курсы по Golang
проходят по такому плану:
Программа курса
Онлайн-занятия
Обучение программированию проводится в онлайн-формате. Подключайся к стриму в удобном месте с любого устройства. Во время урока ты можешь напрямую задавать вопросы преподавателю и общаться с одногруппниками. Не бойся пропустить интерактивный сеанс — все записи хранятся в твоем личном кабинете.
Домашнее задание
Тяжело представить обучение 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 и каналы
- Разделяемые переменные (мьютексы)
- Обзор стандартной библиотеки
Курс «ВИДЕО УРОКИ GOLANG» — ITVDN
https://itvdn.com/ru/video/golang
Стоимость: 9.99 USD
Golang (Go) — компилируемый язык программирования, разработанный компанией Google. Отличается своим минимализмом, прозрачностью кода, строгой типизацией, богатой стандартной библиотекой и высокой производительностью.
Курс “Golang” призван обучить новичков основам языка Go. После прохождения курса вы будете знать основные понятия и конструкции языка, правильно писать код на Go, а также уметь использовать инструментарий, описанный в курсе.
Чему вы научитесь с помощью данного видео курса:
- Создавать простые приложения на Go
- Работать со стандартными библиотеками и утилитами Go
- Применять методы и функции
- Работать с массивами, срезами, словарями и оператором range
- Писать многопоточные приложения
- Тестировать код и измерять производительность функций
- Введение. Основные понятия языка, стиль написания, пакеты и типы.
- Первая программа. Утилиты Go.
- Массивы, срезы, словари, оператор range.
- Структуры и интерфейсы. Интерфейсный тип данных.
- Многопоточность. Горутины, каналы, оператор select.
- Пакеты. GoDoc
- IO, пакет bytes, буферы.
- Тестирование. Измерение производительности функций.
Курс «Golang для начинающих. Подробные уроки» — Udemy
https://www.udemy.com/course/golang-o/
Стоимость: 1 090 руб.
Простыми словами, разберем как работать на языке программирования Go. Его особенности и тонкости
Материалы курса
2 разделов • 24 лекций • Общая продолжительность 5 ч 22 мин
Свернуть все разделы
Введение 17 лекции • 2 ч 56 мин
- Введение
- Основы языка
- Переменные
- Переменные среды. Редактор кода
- Получение данных от пользователя
- Условные операторы
- Преобразование строки в число
- Область видимости
- Генерация случайного числа
- Преобразование строки в int
- Циклы
- массивы
- Чтение данных из файла
- Высчитываем среднее значение
- Сегменты
- Карты / map
- Структуры
Продвинутая часть 7 лекции • 2 ч 27 мин
- Определяемые типы
- Инкапсуляция
- Интерфейсы
- Рекурсия
- Exception в Go
- Многопоточность . горутины
- Создание Веб-сервиса
Требования
- Желательно знать основы (теорию) программирования.
- Понимать, что такое переменная, что такое условные операторы и .тд.