ТОП-25 лучших курсов Golang: обучение онлайн, бесплатные и платные в 2023 году

Golang, также известный как Go, является относительно новым языком программирования, разработанным в Google. Он был создан с целью обеспечения более простого и эффективного способа написания программного обеспечения. Golang используется для создания высокопроизводительных систем и сетевых приложений.

На курсах Golang можно научиться разрабатывать быстрые, эффективные и надежные программы. Вы научитесь использовать синтаксис языка Golang и его стандартную библиотеку, а также изучите основные концепции языка, такие как указатели, структуры, интерфейсы и горутины. Кроме того, вы научитесь создавать сетевые приложения с помощью Golang и использовать его для работы с базами данных.

Лучшие курсы:

1 место. Курс «Профессия Go-разработчик от Skillbox»

Цена курса: Рассрочка на 22 месяца — 5 677 ₽ / мес

Ссылка на сайт: https://skillbox.ru/course/profession-godev/

Google представил простой, универсальный и эффективный язык программирования под названием Go. Благодаря этому языку, вы сможете освоить создание приложений с микросервисной архитектурой с нуля. На Go-разработчиков претендуют такие компании, как Google, Dropbox, SoundCloud, Ozon, Yandex, Mail.ru и Twilio.

  • Продолжительность курса составляет 12 месяцев.
  • Курс включает в себя 5 программ.
  • Мы гарантируем трудоустройство или вернем вам деньги.
  • Пожизненный доступ к курсу.

Go – новый и востребованный язык программирования, разработанный специально для создания высоконагруженных приложений. Его редко выбирают новички, что является ошибкой, так как синтаксис Go прост и лаконичен, позволяя быстро освоить язык даже тем, кто не имеет опыта в программировании.

Кому будет полезен этот курс:

  • Новичкам в программировании:
    Вы освоите востребованную профессию с нуля: научитесь принципам работы с операционными системами и обменом данных, создавать и оптимизировать приложения на Go. Сможете начать карьеру программиста.
  • IT-специалистам:
    Расширите свой набор навыков и изучите новый язык системного программирования. Вы научитесь создавать поддерживаемые приложения, работать с микросервисной архитектурой и высоконагруженными системами. Сможете решать больше задач и стать специалистом широкого профиля.

    Что вы изучите на курсе:

  • Разработка приложений на Go.
  • Работа с файловой системой.
  • Работа с алгоритмами поиска и сортировки.
  • Понимание принципов работы операционных систем и обмена данными по сети.
  • Программирование многопоточных распределенных систем для высоконагруженных проектов.
  • Сборка, тестирование и развертывание готовых приложений.
  • Работа с системой контроля версий Git.
  • Проведение код-ревью.
  • Развитие навыков мягкого навыка программиста.

Содержание курса:

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

– Основные курсы:

  1. Курс «Разработчик на Go»:
  • Введение: первая программа.
  • Основные типы данных. Целочисленные типы. Работа с данными и вычислениями.
  • Работа со строками.
  • Условный оператор «if».
  • Логические операторы и составные условия.
  • Основы циклов: использование цикла «for» как точки входа.
  • Вложенные циклы.
  • Оператор «switch».
  • Диапазоны значений.
  • Числа с плавающей запятой. Математические вычисления.
  • Комплексные типы данных. Работа со строками.
  • Работа с файлами.
  • Функции в программировании.
  • Функции с возвращаемыми значениями.
  • Составные типы данных. Одномерные массивы. Основные алгоритмы с использованием массивов.
  • Настройка среды разработки JetBrains GoLand, создание проекта в JetBrains GoLand.
  • Отладка и логирование.
  • Точки останова (breakpoints).
  • Простые алгоритмы с использованием массивов.
  • Двумерные массивы.
  • Анонимные функции.
  • Продвинутые алгоритмы с использованием массивов. Поиск.
  • Сортировка с более низкой алгоритмической сложностью.
  • Составные типы данных. Срезы. Динамическое выделение памяти.
  • Подмножества и работа со срезами.
  • Работа со строками и текстовыми данными. Основные алгоритмы со строками.
  • Составные типы данных. Карты и структуры.
  • Переиспользование кода, модульность.
  • Многопоточность, работа с каналами.
  • Обмен данными по сети.
  • Микросервисная архитектура.

– Бонусные курсы:

  1. SQL – язык запросов к базам данных.
  2. Универсальные навыки программиста.
  3. Использование системы контроля версий Git.
  4. Английский язык для IT-специалистов.
  5. Карьерный рост и развитие программиста.
  6. Итоговый проект:
    Разработка сетевого многопоточного демона. В рамках проекта вы создадите демона на языке Golang. Его задачей будет принимать сетевые запросы, распределять их между несколькими микросервисами с использованием многопоточной обработки. Вы определите архитектуру микросервисов, взаимодействие между ними, протоколы обмена данными, а также организуете параллельную работу, возможность горизонтального масштабирования и балансировку.

Спикеры (учителя/преподаватели) курса:

  • Кирилл Просвиров
    Technical Marketing Engineer в компании Cisco
  • Алексей Лосев
    Главный архитектор в АНО ЭИСИ
  • Антон Жуков
    Highload Engineer. Area Tech Leader
  • Александр Соколов
    Integration Development Teamlead в Ostrovok
  • Владимир Паценко
    Senior golang developer, работал в SberDevices, на данный момент — golang-разработчик в vivid.money.

Отзывы об обучении в Skillbox доступны на сайте.

Сертификат Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.

Плюсы курса:

  • Обучение на практике
  • Подробная программа обучения
  • Итоговый проект в портфолио

Минусы:

  • Не найдено

2 место. Курс «Профессия Разработка на Go от GeekBrains»

Стоимость курса: Рассрочка до 36 месяцев — от 3 066 ₽ / мес

Ссылка на сайт: https://gb.ru/professions/go-developer

Получите навыки создания безопасных и масштабируемых приложений и сервисов с использованием современного языка программирования от Google. Этот язык широко применяется в крупных IT-компаниях, таких как IBM, Intel и Adobe, а также в России его используют ВКонтакте, Avito и Ozon.

  • Продолжительность курса – 12 месяцев, 2 занятия в неделю.
  • Вы получите свидетельство о прохождении курса и 5 проектов для своего портфолио.
  • Мы также предоставляем помощь в трудоустройстве после окончания курса.

Кому подойдет этот курс:

  • Для начинающих
    Курс по Golang идеально подходит в качестве первого языка программирования. Он обладает простым синтаксисом и краткой документацией. Для его освоения не требуется техническое предварительное образование.
  • Для опытных разработчиков
    Многие компании переходят на использование Go и ищут специалистов, обладающих знаниями двух языков программирования. Если у вас есть опыт работы с PHP, C/C++, JavaScript, Ruby или другими языками, вы сможете зарабатывать больше, освоив Go.

Наши студенты достигают успеха:

Никита Ермаков
Junior Java-разработчик в EPAM Systems
«Мне 26 лет. Раньше я жил в Старом Осколе Белгородской области и работал резчиком металла на металлургическом комбинате. Перемены в жизни я планировал долго: записался на курс в GeekBrains и собирался после него начать искать вакансии. Но меньше, чем через год после старта учебы, я нашел работу в IT и переехал в Москву.
Сейчас я Junior Java-разработчик в EPAM Systems. Это крупнейший производитель заказного ПО в мире.»

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

  1. Основы программирования:
  • Введение в программирование, переменные и типы данных.
  • Работа с блок-схемами и условными операторами.
  • Циклы.
  • Функции.
  • Работа с массивами.
  1. HTML/CSS. Интерактивный курс:
    Вы познакомитесь с основами веб-разработки и создадите простой веб-сайт.
  • Основные понятия в веб-разработке.
  • Основы языка разметки HTML.
  • Основы языка стилей CSS.
  • Работа с псевдоклассами, псевдоэлементами и табличной версткой.
  • Формирование блочной модели и блочная верстка.
  • Работа с макетом дизайна в формате PSD.
  • Разметка сайта и знакомство с Bootstrap.
  • Стандарты веба и вспомогательные инструменты.
  1. Базовый видеокурс по Git:
    Вы познакомитесь с Git — системой контроля версий, широко используемой программистами в учебных и коммерческих проектах.
  • Введение в Git.
  • Установка и настройка Git.
  • Основные команды терминала.
  • Работа с репозиториями.
  • Управление файлами в репозитории.
  • История изменений.
  • Работа с ветками репозитория.
  • Публикация репозитория.
  • Слияние веток.
  • Управление версиями.
  • Создание pull-request.
  • Сложные операции.
  • Работа с форк-репозиториями.
  1. Базовый курс по JavaScript:
    Вы познакомитесь с программированием на языке JavaScript для создания простых веб-страниц.
  • Основы языка JavaScript.
  • Основные операторы.
  • Циклы, массивы, структуры данных.
  • Работа с объектами.
  • Введение в DOM (объектную модель документа).
  • Обработка событий.
  • Урок-практикум.
  • Анонимные функции, замыкания.
  1. Рабочая станция:
    Часто бэкенд-приложения на Go разворачивают на операционной системе Linux. В этом курсе вы познакомитесь с особенностями Linux и научитесь эффективно работать в разработке.
  • Установка операционной системы Linux.
  • Настройка командной строки.
  • Управление пользователями и группами.
  • Процессы, загрузка операционной системы.
  1. Go. Уровень 1:
    В этом курсе вы ознакомитесь с основными инструментами и основными типами данных в Go, а также научитесь создавать простые консольные приложения.
  • Особенности и история развития языка Go. Работа с Playground и основы инструментов.
  • Базовые типы данных. Основы ввода-вывода в операционной системе. Структурирование Go-приложений.
  • Операторы и управляющие конструкции, базовые функции.
  • Сложные типы данных: массивы, срезы и карты.
  • Сложные типы данных: структуры, функции и методы.
  • Сложные типы данных: указатели.
  • Интерфейсы. Обработка ошибок. Основы обработки ошибок.
  • Основы настройки приложений.
  • Работа с файловой системой.
  • Основы тестирования Go-приложений.
  • Финальная консультация по курсу. Ответы на вопросы.
  1. Go. Уровень 2:
    На этом уровне курса вы познакомитесь с возможностями параллельных вычислений в конкурентной модели, научитесь управлять зависимостями и писать простые асинхронные приложения.
  • Расширенная генерация и обработка ошибок, работа с panic. Отложенные вызовы функций.
  • Кросс-компиляция в Go и более глубокое понимание инструментов.
  • Работа с внешними зависимостями.
  • Конкурентность, часть 1: горутины и каналы.
  • Конкурентность, часть 2: основные типы данных из пакета sync.
  • Конкурентность, часть 3: планировщик горутин, race condition и проверка наличия.
  • Рефлексия и кодогенерация в Go.
  • Основы работы со стандартной библиотекой Go. Подготовка к курсовому проекту.
  1. Лучшие практики разработки Go-приложений:
    На этом курсе вы познакомитесь с современными практиками разработки на Go и научитесь их применять в своих проектах. Эти навыки пригодятся при разработке как простых утилит, так и высоконагруженных сервисов.
  • Обработка ошибок сторонних сервисов и сигналов операционной системы.
  • Логирование.
  1. Разработка бэкенда, Уровень 1
    Овладейте навыками создания приложений на языке Go, проектирования и поддержки бэкенд-части. В конце курса вы разработаете проект — сокращатель ссылок.
  • Основы взаимодействия в сети
  • Протокол HTTP и проектирование RESTful API
  • Реализация и тестирование обработчиков HTTP-запросов
  • Выбор роутера и библиотек. Промежуточное программное обеспечение. Контекст запроса.
  • Практическое занятие, часть 1. Создание сервера
  • Практическое занятие, часть 2. Создание веб-приложения
  • Особенности докеризации приложений на Go.
  • Сборка и развертывание приложения. Непрерывная интеграция и доставка (CI/CD).
  1. Базы данных
    Вы познакомитесь с работой реляционных баз данных, научитесь создавать свои собственные базы данных, изменять их структуру и управлять данными с использованием SQL.
  • Введение в теорию реляционных баз данных
  • Основные понятия структуры базы данных
  • Определение данных, основные операции с данными
  • Извлечение данных, агрегация данных
  • Вложенные запросы и объединение UNION
  • Объединение JOIN
  • Расширенные возможности SQL
  • Оконные функции, индексы, работа с графическим клиентом
  1. Postgres для разработчиков на Go
    Вы попробуете себя в роли администратора баз данных, научитесь работать с системой управления базами данных PostgreSQL и интегрировать ее в свои проекты.
  • Начало работы с PostgreSQL: основные инструменты, сравнение с другими СУБД
  • Работа с структурой базы данных, CTE, анализ требований при поиске данных
  • Анализ выполнения запросов и индексирование данных
  • Использование PostgreSQL в приложениях на Go
  • Структура приложения, тестирование, миграции, ORM
  • Уровни изоляции, конкурентный доступ, очистка, репликация.
  1. Осуществление наблюдаемости и оптимизация
    Вы узнаете, как анализировать производительность программ и оптимизировать их путем использования профилирования, трассировки и кэширования.
  • Мониторинг и оповещение
  • Журналирование и обработка ошибок
  • Профилирование и трассировка
  • Оптимизация и кэширование
  1. Backend-разработка. Уровень 2
    Вы научитесь разворачивать приложения в Kubernetes и управлять ими, познакомитесь с различными протоколами API и принципами проектирования микросервисов.
  • Принципы взаимодействия микросервисов
  • JSON-RPC и gRPC
  • GraphQL
  • Запуск Go-приложений в Kubernetes. Настройка. Мониторинг. Отладка.
  • Кластер Kubernetes
  • Очереди
  • Функциональное тестирование / BDD
  • Основы безопасности Go-приложений
  1. Подготовка к собеседованию Go-разработчика
    Вы создадите привлекательное резюме и подготовитесь к техническому собеседованию. Сможете собрать свое собственное портфолио на GitHub из своих проектов.
  • Создание портфолио на GitHub
  • Гибкие навыки Go-разработчика
  • Прохождение технического собеседования
  • Консультация по портфолио
  1. Командная разработка микросервисного проекта
    Вы узнаете, как вести разработку в быстро изменяющейся среде: научитесь работать с большими задачами от заказчиков, разбивать их на части и правильно определять их приоритеты. Вы будете реализовывать собственные микросервисы в командной работе.
  • Совместная работа над проектированием сервисов. RFC и документы дизайна
  • Практики совместной работы с Git. Обзор кода
  • Совместное тестирование и развертывание сервисов
  • Ответственность разработчика. Чек-листы готовности к производству
  • Практика дежурств по oncall. Инциденты и пост-мортемы
  • Три консультации по вашему проекту.

Вас будут обучать топовые эксперты

  • Елена Граховац
    Engineering Manager в GetYourGuide, автор программы «Разработка на Go»
  • Дмитрий Шеламов
    Middle GoLang Developer в Dr.Cash
  • Сергей Яныкин
    Team Lead в Delivery Club.

И др.

3 место. Курс «Golang Developer. Professional от OTUS»

Цена: 65 900 ₽

Ссылка на сайт: https://otus.ru/lessons/golang-professional/

От фундаментальных аспектов языка до разработки собственного микросервиса на Go. Для тех, кто стремится к более глубокому пониманию внутреннего устройства Golang и его взаимодействия с другими системами.

  • Продолжительность обучения: 5 месяцев, 4 академических часа в неделю.
  • Формат: Онлайн.

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

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

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

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

После окончания курса выпускники смогут:

  • писать код, готовый к использованию в производстве, включая многопоточные и конкурентные программы;
  • понимать синтаксис и внутреннюю структуру языка Go;
  • учитывать особенности сетевого программирования;
  • создавать микросервисы с помощью Go;
  • развертывать микросервисы с использованием Docker.

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

  1. Начало работы с Go
  • Инструментарий и первые шаги в Go
  • Тестирование в Go
  • Основные типы данных в Go
  • Массивы, срезы и карты
  • Структуры
  • Функции и методы
  • Интерфейсы
  • Обработка ошибок. Понятие паники
  1. Параллельность в Go
  • Goroutine и каналы
  • Примитивы синхронизации
  • Паттерны параллельного программирования
  • Внутреннее устройство Go. Планировщик
  • Внутреннее устройство Go. Память и сборка мусора
  • Обзор домашних заданий и ответы на вопросы
  1. Стандартные библиотеки и bewgтики
  • Работа с вводом/выводом в Go
  • Форматирование данных
  • Взаимодействие с операционной системой
  • Рефлексия
  • Генерация кода в Go
  • Файлы конфигурации и логирование
  • Профилирование и оптимизация программ на Go
  1. Работа с сетью и базами данных
  • Контекст и низкоуровневые сетевые протоколы
  • Работа с SQL
  • Работа с HTTP
  • Работа с gRPC
  1. Микросервисы
  • Монолит и микросервисная архитектура
  • Очереди сообщений
  • Docker
  • Тестирование микросервисов
  • Мониторинг
  1. Проект
  • Проектная работа. Вводная часть
  • Консультация по проектам
  • Заключительное занятие.

    Выпускной проект:
В конце курса студентам будет предложено выполнить один из трех проектов на выбор:

  • Сервис для борьбы с брут-форс атаками
  • Сервис для генерации превью изображений
  • Простая система сбора данных.

После обучения Вы получите сертификат о прохождении курса.

Преподаватели:

  • Артем Желтак
    Teamlead в inDriver
  • Алексей Бакин
    Enapter
  • Олег Венгер
    Avito, внутренняя разработка
  • Александр Воробьев
    Ведущий бэкенд разработчик Golang
  • Семен Шаплыгин
    Ads Platform от SberMarket.

И др.

Отзывы:

 Марат
«Очень сильный курс! Отлично структурированный и детально проработанный. Преподаватели — действующие разработчики, которые делятся своим опытом во время обучения. Большой плюс курса — наличие достаточно сложных домашних заданий. Для их выполнения нередко приходилось потратить несколько дней. Из этого следует и одно пожелание для улучшения курса — сократить время проверки домашних заданий.»

 Равиль Галактионов
«В целом я доволен курсом. В процессе изучения я уже начал на работе применять всё то чему научился, и уже большую часть времени пишу на Go и планирую полностью перейти на данный язык. Курс дал мотивацию в изучении языка и все необходимые материалы для старта. Спасибо команде Отуса за проделанную работу.»

Курс «Backend- разработчик на Go от SkillFactory »

Цена курса Go: Рассрочка на 36 месяцев — 2 933 ₽ / мес

Ссылка на сайт: https://skillfactory.ru/backend-razrabotchik-na-golang

Вы изучите программирование на языке Go с самого начала.

  • Развитие мышления программиста
    Мы поможем вам развить «мышление программиста»: вы научитесь мыслить алгоритмически и эффективно разбирать сложные задачи в своем уме.
  • Теория и практика
    Обучение разработке на Go состоит из множества маленьких шагов и направлено на закрепление практических навыков. У нас есть тренажеры, мини-проекты, интерактивные вебинары, цепочка проектов и командный проект.
  • Ментор и сообщество
    Вы не останетесь один на один со своими вопросами. Мы организуем сессии вопросов и ответов с ведущими экспертами, предоставим персональную обратную связь по всем вопросам от менторов и поддержку со стороны кураторов, которые помогут вам дойти до конца.

Краткая программа:

– 1 блок. Основы Go и Computer Science

  1. Вводный блок
  • Основные понятия в IT-области
  • Классификация языков программирования
  • Современные технологии и работа интернета
  • Архитектура компьютера и операционных систем
  1. Основы языка Go
  • Установка окружения, компиляция и запуск программ на Go, основные синтаксические конструкции (пакеты, переменные и типы данных, константы, строки)
  • Условные операторы и циклы
  • Функции и методы, структуры
  • Обработка ошибок и паник, интерфейсы, рекурсия
  • Массивы, словари, срезы, строки, руны и байтовые срезы
  • + 1 неделя практики
  1. Алгоритмы и структуры данных на Go
  • Введение, сложность алгоритмов и асимптотическая нотация
  • Массивы, связные списки, очереди, стеки. Представление в памяти
  • Алгоритмы сортировки
  • Деревья, графы, алгоритмы поиска
  • Хэш-таблицы, хэш-мапы, хэш-функции
  1. Основы многопоточности
  • Понятие процесса и потока в операционной системе
  • Горутины и базовая синхронизация
  • Синхронизация с использованием атомиков и каналов
  • Wait group, основные шаблоны использования горутин
  1. Выполнение проекта: создание конвейера обработки данных

–  2 блок. Инструменты разработчика

  1. Основы Linux
  • Установка Linux, работа с графической оболочкой
  • Управление пользователями, работа с файлами, процессы
  • Сетевые интерфейсы Linux
  1. Знакомство с Git
  • Основы системы контроля версий, инициализация репозитория, синхронизация изменений, фиксация изменений в репозиторий
  • Ветвление, Git Flow
  1. Docker
  • Основы Docker, запуск приложений в контейнерах
  • + 1 неделя практики по Git, Docker и Linux
  1. Базы данных и SQL
  • Реляционные базы данных, проектирование баз данных
  • Язык SQL, транзакции
  • Индексы, триггеры, представления, хранимые процедуры
  • Работа с базами данных SQL в Go
  1. Базы данных NoSQL
  • Документоориентированные базы данных, отличия от SQL
  • Введение в MongoDB и Redis
  • + 1 неделя практики работы с базами данных
  1. Углубленное изучение Go
  • Модули, профилирование, отладка
  • Тестирование
  • Ввод/вывод. Регулярные выражения
  • Сетевые приложения
  • Веб-приложения
  1. Выполнение проекта: разработка новостного агрегатора

– 3 блок. Архитектура, DevOps, очереди

  1. Основы архитектуры
  • Архитектурные принципы
  • Шаблоны проектирования
  • Методы доставки приложений
  • Очереди сообщений.

– Итоговый проект

  1. Разделение монолитного приложения на микросервисы
    Цель проекта: освоить процесс разделения или «разбиения» монолитного приложения — ранее разработанного новостного агрегатора — на три микросервиса с их доработкой.
    Результаты проекта для студентов:
  • Разработка трех микросервисов: новостной агрегатор, API Gateway и сервис модерации комментариев
  • Практическое сравнение монолитной и микросервисной архитектуры
  • Расширение GitHub-портфолио полноценным проектом.

Эксперты курса:

  • Илья Ибрагимов
    Backend Golang Developer в Simplinic.
    Опыт в программировании более 6 лет.
    Ещё работал в: IQ Option, Noveo, 101 Media, Поинт-it.
  • Валентин Матвейчик
    Разработчик на Go в SoftSwiss
    Опыт в программировании более 7 лет.
    Последние несколько лет писал бэкенд для криптобиржи и другие приложения на основе блокчейна, а также бэкенд для спортсбука.
  • Максим Пикалов
    Go freelancer, Backend разработка
    Преподавательский стаж более двух лет.

И др.

Курс «Golang-разработчик от Центр компьютерного обучения «Специалист» при МГТУ им.Н.Э.Баумана»

Цена: 119 890 руб. — 173 290 руб.

Ссылка на сайт: https://www.specialist.ru/track/dp-golang

  • Длительность: 400+ часов
  • Документ об окончании: Диплом.

Golang (Go) – популярный язык программирования, созданный компанией Google в 2009 году. Он пользуется спросом у всех категорий разработчиков, начиная от новичков и заканчивая опытными специалистами. Go уже вытесняет PHP, Ruby и Python благодаря своей эффективности и понятному синтаксису. На базе Golang создаются сложные веб-сервисы и облачные решения. Например, Docker, Project Mobi и система кластеризации Kubernetes уже используют Go.

Будут ли знания, полученные в дипломной программе, полезны для трудоустройства?
Да. Кроме самого языка Go, вы получите знания и навыки в других инструментах, языках и областях, которые сделают вас востребованным среди работодателей:

  • HTML – язык гипертекстовой разметки, который описывает структуру текста и его отображение на экране с помощью тегов и элементов.
  • CSS – каскадные таблицы стилей, используемые для оформления веб-страниц с помощью задания цветов, шрифтов и других стилевых элементов.
  • Операционная система Linux, включая установку, настройку и администрирование.
  • Git – распределенная система управления версиями (VCS).
  • Важные темы современной веб-разработки, такие как CRUD, моделирование данных, ресурсы и тестирование сценариев.
  • Python – мощный высокоуровневый язык программирования, идеально подходящий для разработки самостоятельных программ и сценариев.
  • Разработка серверных приложений на PostgreSQL.

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

В состав программы входят следующие курсы:

  • «Основы программирования на языке Python». Уровень 1. Базовый уровень.
  • «HTML и CSS». Уровень 1. Создание веб-сайтов с использованием HTML 5 и CSS 3.
  • «Основы администрирования систем Debian, Ubuntu, CentOS». Уровень 1.
  • «Система управления версиями Git».
  • «Основы программирования на языке Go». Уровень 1. Базовый уровень.
  • «Проектирование REST API на языке Go». Уровень 2.
  • «Разработка веб-приложений на языке Go». Уровень 3.
  • «Разработка серверной части приложений на PostgreSQL 12». Базовый уровень.

Курс «Golang-разработчик от Nordic IT School»

Цена: 78 100 руб.

Ссылка на сайт: https://inordic.ru/courses/golang

На курсе по разработке на языке Golang вы узнаете:

  • Основы языка и разработки сервисов с использованием Go.
  • Научитесь создавать веб-сайты и ботов на Golang.
  • Управлять компьютерами и серверами с помощью Golang.
  • Познакомитесь с операционной системой Linux и базой данных PostgreSQL.

По окончании курса вы сможете программировать распределенные системы с поддержкой многопоточности для высоконагруженных проектов.

Курс рассчитан как на новичков, так и на опытных специалистов.

Разработка на языке Golang будет интересна программистам, желающим познакомиться с микросервисной архитектурой, многопоточностью и научиться создавать высоконагруженные приложения.
Для новичков язык Go будет привлекателен благодаря своему низкому порогу входа: простому синтаксису и возможности использовать его в качестве первого языка программирования.
Голанг-разработчики востребованы на рынке из-за своей редкости и новизны. Их зарплаты, кстати, выше, чем у других разработчиков.

На курсе по разработке на языке Golang вы изучите:

  • Основы языка и разработку сервисов с использованием Go.
  • Научитесь создавать веб-сайты и ботов на языке Golang.
  • Управление компьютерами и серверами с помощью Golang.
  • Познакомитесь с Linux и PostgreSQL.

Программа курса включает:

  1. Введение в язык Golang.
  2. Основные понятия.
  3. Основы настройки серверов Linux.
  4. Работа с командной строкой.
  5. Объявление типов.
  6. Структуры.
  7. Методы.
  8. Введение в интерфейсы.
  9. Полиморфизм.
  10. Параллельное программирование.
  11. Применение Golang для веб-разработки.
  12. Создание Telegram-ботов.
  13. Работа с базами данных.
  14. Коллективная разработка.
  15. Основы использования системы контроля версий Git.
  16. Использование GitHub.
  17. Автоматическое тестирование.

Преподаватель – Житков Тимофей
Senior Fullstack разработчик в Московской Бирже и Team Lead в Nordic IT School.

Курс «Профессия Go-разработчик от АНО ДПО «ШАД»»

Цена: 76 000 ₽ — 156 000 ₽

Ссылка на сайт: https://practicum.yandex.ru/promo/go-profession

При поддержке опытного ментора вы освоите программирование на языке Golang. Курсы предназначены для опытных разработчиков.

Go-разработчик занимается созданием высоконагруженных сервисов в различных областях, таких как онлайн-ретейл, доставка, финтех и интернет вещей. Язык программирования Go идеально подходит для этой цели, так как он нативно поддерживает многопоточность, имеет высокую скорость компиляции и исполнения.
В данной профессии представлены три курса: «Основы Go», «Go-разработчик до уровня junior+» и «Go-разработчик до уровня middle». В зависимости от вашего опыта и целей, вы можете выбрать наиболее подходящий курс. Следует отметить, что эти курсы не предназначены для лиц без опыта в разработке.
После основной программы у вас будет возможность выполнить выпускной проект для вашего портфолио. Вы можете работать самостоятельно или присоединиться к команде, реализовать собственную идею или выбрать один из предложенных вариантов.
Вы будете иметь ментора, опытного старшего Go-разработчика, который будет помогать вам в поиске ответов на вопросы, проверять ваш код и проводить вебинары для обсуждения задач. Кроме того, каждые две недели вы будете встречаться один на один с ментором, чтобы обсудить ваш прогресс в обучении и разработке проекта.

Список курсов:

  1. «Основы Go»
    Длительность: 1 месяц
    На этом курсе вы получите представление о Go и его экосистеме, изучите синтаксис и будете готовы для основных программ, представленных в профессии. На этом курсе не предусмотрено сопровождение, вы можете начать обучение в любое время.
  2. «Go-разработчик»
    Длительность: 3 месяца
    На этом курсе вы усовершенствуете навыки, необходимые каждому Go-разработчику. По окончании вы сможете самостоятельно выполнять задачи на уровне junior+ в области Go-разработки. Вам будет оказывать поддержка ментора и куратора.
  3. «Продвинутый Go-разработчик»
    Длительность: 6 месяцев
    На этом курсе вы продвинетесь ещё дальше, изучив архитектурные паттерны и более глубоко познакомившись с возможностями Go. Вы получите навыки и знания, необходимые для выполнения задач на уровне middle-разработчика Go. Вашими сопровождающими на курсе будут ментор и куратор.

Менторы:

  • Георгий Зуйков, техлид
    Старший разработчик в «Едадиле». Программирует 10 лет, из них последние 5 — на Go. Разрабатывает архитектуру высоконагруженных систем. Входит в Go-комитет Яндекса.
  • Александр Демиденко, техлид
    Старший разработчик в Яндекс.Облаке, в команде Cloudgate. Строит масштабируемую систему доставки трафика. Имеет многолетний опыт работы в телекоме (VoIP).
  • Дмитрий Шеламов, ментор
    Старший разработчик в SoftSwiss. Начал преподавать Go, ещё будучи мидлом. Интересный факт: в 16 лет выпустил игру под Android с 10 000 установок.

И др.

Курс «Программирование на golang learn go от Be Geek»

Бесплатный курс Go (Golang)

Ссылка на сайт: https://www.youtube.com/playlist?list=PLQuaNOtBP3TpjiROGjy3-hEr5xL0fN9bX

Видеоуроки:

  1. Основы типов и переменных в Golang.
  2. Работа с переменными и обработка ошибок в Golang.
  3. Циклы в языке программирования Go.
  4. Массивы и срезы в Golang.
  5. Работа с картами (Maps) в Golang.
  6. Функции в Golang.
  7. Работа со структурами в Golang.
  8. Организация кода в Golang.
  9. Рекомендации по книгам для изучения Golang.
  10. Использование библиотеки Sort в Golang.
  11. Создание парсера для Telegram на Golang.
  12. Создание Telegram-бота с использованием Webhook в Golang.
  13. Сбор данных пользователей с Telegram-ботом на Golang.
  14. Фильтрация сообщений для Telegram на Golang.
  15. Отправка фотографий из облачного хранилища с Telegram-ботом на Golang.
  16. Работа с Docker в Golang. Упаковка приложения на Go в контейнер Docker.
  17. Использование переменных окружения в Golang.
  18. Поиск заказов на фрилансе с использованием Golang, HTTP, Telegram и API.
  19. Написание экспортера Mysql для Prometheus на Golang.
  20. Ошибки, с которыми сталкиваются новички в Golang (часть 2).
  21. Создание простой веб-формы аутентификации (Golang, шаблоны, веб).
  22. Создание интерактивного интерфейса командной строки на Golang.
  23. Использование модуля md5. Сравнение файлов на Golang с помощью md5sum.
  24. Query vs Exec vs Prepare: функции для работы с базой данных в Golang.

Преимущества:

  • Бесплатный курс
  • 24 урока

Недостатки курса:

  • Нет обратной связи
  • Мало практики

Курс «Программирование на Golang от Stepik»

Бесплатно

Ссылка на сайт: https://stepik.org/course/54403/promo?amp&

Данный курс представляет собой введение в основы языка программирования Golang. Он предназначен для тех, кто уже обладает базовым опытом в программировании. В рамках курса будут рассмотрены теоретические аспекты, которые будут подкреплены практическими заданиями и упражнениями.

  • нагрузку вы ставите самостоятельно
  • Сертификат.

Данный курс рекомендуется тем, кто уже обладает базовыми навыками программирования. Он не требует специальных знаний в области информатики, однако желательно иметь представление о базовых концепциях хотя бы одного языка программирования и уметь комфортно работать с компьютером.

Преподаватели:

  • Семён Новиков
    Golang developer and teacher (Stepik and JetBrains Academy)
    Golang разработчик и начинающий преподаватель, на stepik чтобы получить новые знания и поделиться своими 😉 Создатель курса по Go на stepik.
  • Александр Ципорин
  • Валентин Казанцев
    18 y.o Developer
    Shopify Fullstack Developer, участвовал в разработке SpeedBoostr, как со стороны сервера, так и со стороны клиента. В данный момент независимый разработчик в поисках вкусных предложений 🙂

И др.

Курс включает:

30 уроков, 63 теста, 86 интерактивных задач

Модуль 1: Основы

  • Вступление
  • Знакомство с Go
  • Создание первой программы
  • Типы данных
  • Переменные и арифметические операции, ввод/вывод данных
  • Комментарии
  • Константы
  • Условные выражения
  • Условные конструкции
  • Циклы
  • Форматированный вывод
  • Массивы и срезы
  • Решение задач

Модуль 2: Функции, структуры, указатели и другое

  • Функции
  • Пакеты
  • Указатели
  • Структуры
  • Строки
  • Обработка ошибок
  • Решение задач

Модуль 3: Map, файлы, интерфейсы, многопоточность и многое другое

  • Отображения (map)
  • Преобразование типов данных
  • Анонимные функции
  • Интерфейсы
  • Работа с файлами
  • JSON
  • Работа с датой и временем
  • Параллелизм
  • Заключение.

Отзывы о курсе Golang (Go):

Вячеслав Трофимов
«Возникали некоторые трудности, но курс отличный для новичков!»

Дмитрий Бойко
«быстро и по делу».

Курс «Golang от ITVDN»

Стоимость курса Go: 14.99 USD

Ссылка на сайт: https://itvdn.com/ru/video/golang

  • Длительность: 5 ч 51 м
  • Уроков: 8.

Go (Golang) – язык программирования, разработанный компанией Google, который компилируется в исполняемый код. Он отличается простотой, понятным кодом, строгой типизацией, обширной стандартной библиотекой и высокой производительностью.
Цель этого курса – научить новичков основам языка Go. По завершению курса вы будете знать основные понятия и конструкции языка, сможете писать код на Go и использовать инструментарий, описанный в курсе.

Что вы изучите:

  • Создание простых приложений на Go
  • Работу со стандартными библиотеками и утилитами Go
  • Применение методов и функций
  • Работу с массивами, срезами, словарями и оператором range
  • Написание многопоточных приложений
  • Тестирование кода и измерение производительности функций.

Видеоуроки:

  1. Введение. Основные понятия языка, стиль кодирования, пакеты и типы.
  2. Первая программа. Утилиты Go.
  3. Массивы, срезы, словари, оператор range.
  4. Структуры и интерфейсы. Интерфейсные типы данных.
  5. Многопоточность. Горутины, каналы, оператор select.
  6. Пакеты. GoDoc.
  7. Ввод-вывод, пакет bytes, буферы.
  8. Тестирование. Измерение производительности функций.

Отзывы о курсе доступны на сайте.

Курс «GO-разработчик от ООО «ФРОО»»

Цена: 45 000 р.

Ссылка на сайт: https://golangcourse.ru/

Пиши производительные веб-сервисы с простым кодом за пару дней. Освой профессию на уровне middle-специалиста.

Курс будет полезен программистам, работающим с PHP, Python, C/C++, JavaScript и Ruby.
В связи с ограниченным количеством мест на курсе, мы можем обеспечить качественную коммуникацию между преподавателем и слушателями.

Финальные проекты – ведущие компании индустрии подготовили финальные проекты. Успешное выполнение этих проектов поможет вам улучшить ваше резюме и увеличит ваши шансы на получение предложений о собеседованиях после окончания обучения.
Студенты, успешно выполнившие задания на курсе, получат возможность пройти собеседования в компаниях.

Во время обучения вы:

  • Освоите основы языка и разработки веб-сервисов с использованием Go.
  • Запустите собственное веб-приложение.
  • Познакомитесь с типичными проблемами, с которыми сталкиваются разработчики веб-сервисов, и научитесь их решать.
  • Повысите свои навыки в веб-программировании и обогатите свое резюме.

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

– 1 неделя. Основы языка Golang
В этом модуле вы познакомитесь с основами языка:

  • Переменные и базовые типы данных
  • Составные типы данных
  • Управляющие конструкции
  • Основы функций
  • Функции как объекты первого класса, анонимные функции
  • Отложенное выполнение и обработка паники
  • Работа со структурами
  • Методы структур
  • Пакеты и область видимости
  • Работа с интерфейсами
  • Пустой интерфейс
  • Композиция интерфейсов
  • Написание программы для уникализации
  • Написание тестов для программы уникализации

– 2 неделя. Асинхронное программирование
В этом модуле вы освоите ключевую особенность языка — асинхронное программирование, которое делает Go таким мощным инструментом.

  • Обработка запросов и преимущества неблокирующего подхода
  • Горутины — легковесные процессы
  • Каналы — передача данных между горутинами
  • Мультиплексирование каналов с помощью оператора select
  • Таймеры и таймауты
  • Пакет context и отмена выполнения
  • Асинхронный прием данных
  • Пул воркеров
  • Waitgroup — ожидание завершения работы
  • Ограничение ресурсов
  • Ситуация гонки на примере конкурентной записи в map
  • Mutex для синхронизации данных
  • Атомарные операции

– 3 неделя. Работа с динамическими данными и оптимизация производительности
В этом модуле вы научитесь работать с динамическими данными и улучшать производительность.

  • Разбор JSON-данных
  • Нюансы работы с JSON
  • Пакет reflect — работа с динамическими данными во время выполнения
  • Генерация кода — программа, которая создает программу
  • Бенчмаркинг в Go
  • Профилирование с помощью pprof
  • Пулы объектов
  • Покрытие кода тестами
  • Работа с XML

– 4 неделя. Основы протокола HTTP
На этой неделе вы научитесь запускать веб-сервер, обрабатывать запросы и получать данные. Кроме того, вы изучите сбор метрик производительности с работающего сервера.

  • Прослушивание TCP-сокета с использованием пакета net
  • Обработка HTTP-запросов
  • Работа с параметрами запросов
  • Обслуживание статических данных
  • Загрузка файлов из формы
  • HTTP-запросы к внешним сервисам
  • Тестирование HTTP-запросов и ответов
  • Inline-шаблоны и шаблоны из файлов
  • Вызов методов и функций из шаблонов
  • Профилирование с использованием pprof
  • Отслеживание утечек горутин
  • Трассировка поведения сервиса
  • Пример с Telegram-ботом

– 5 неделя. Анатомия веб-сервиса
На этой неделе вы познакомитесь с основными компонентами при разработке веб-сервисов, такими как роутеры, веб-серверы, фреймворки и утилиты.

  • Основные компоненты веб-сервиса
  • Основы использования middleware для HTTP
  • Контекстные значения
  • Обработка ошибок
  • Роутеры — gorilla/mux, httprouter
  • Производительный веб-сервер fasthttp
  • Парсинг параметров в структуру и их валидация
  • Фреймворк Beego
  • Фреймворк Gin
  • Стандартные пакеты log, zap, logrus
  • gorilla/websocket
  • Компилируемые шаблоны
  • Утилита dep

– 6 неделя. Работа с базами данных
На этой неделе вы научитесь работать с базами данных, основной функцией веб-сервера, и извлекать/загружать данные.

  • Использование database/sql и MySQL
  • Применение GORM и рефлексии для работы с SQL
  • Защита от SQL-инъекций
  • Пример работы с кешированием с помощью Memcached
  • Работа с Redis
  • Очереди сообщений с использованием RabbitMQ
  • Работа с документоориентированной базой данных MongoDB

– 7 неделя. Микросервисы
На этой неделе вы познакомитесь с популярным паттерном микросервисов и изучите фреймворк gRPC.

  • Определение микросервисов, их преимущества и недостатки
  • Микросервисы в рамках монолита
  • Использование пакета net/rpc и формата gob
  • Использование net/http/jsonrpc
  • Протокол сериализации protobuf
  • Создание сервиса с использованием gRPC
  • Продвинутые возможности работы с gRPC
  • Стриминг сообщений
  • Балансировка нагрузки и использование Consul
  • Использование grpc-gateway для доступа к gRPC-сервисам через HTTP
  • Генерация клиента и сервера из документации с помощью Swagger

– 8 неделя. Работа сервиса в производстве
На этой неделе вы узнаете, как настраивать и мониторить сервисы, а также интегрировать код на C в Go.

  • Локальная конфигурация с использованием флагов, JSON и ldflags
  • Удаленная конфигурация с использованием Consul
  • Значение мониторинга и его компоненты
  • Отправка таймингов во внешнюю систему
  • Использование пакета Unsafe
  • Интеграция кода на C с помощью cgo
  • Использование инструментов 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 совместно с Go
  • Оптимизация сборки контейнеров Docker, многоэтапная сборка
  • Работа с Docker Compose
  • Объектное хранилище S3 и использование Minio
  • Организация контроля доступа к изображениям с помощью ACL
  • Конфигурирование приложения с использованием Viper
  • Генерация идентификатора запроса (RequestID) и трейсинг в GraphQL
  • Распределенный трейсинг с использованием Jaeger.

Курс «Golang для инженеров от ООО «Слёрм»»

Цена: 45 000 ₽ — 60 000 ₽

Ссылка на сайт: https://slurm.io/go-for-ops

Golang уже считается перспективным языком программирования — он прост в освоении, быстрый, эффективный и останется актуальным на долгое время.
На этом курсе вы научитесь создавать свой сервер API с помощью Golang, запускать контейнеры, взаимодействовать с Docker из Go, работать с пользовательскими операторами и другими полезными возможностями.

Кому будет полезен этот курс:

  • Специалистам по DevOps
    Вы сможете автоматизировать процесс разработки и улучшить уровень администрирования. Это поможет вам работать более эффективно.
  • Разработчикам
    Научитесь работать с микросервисной архитектурой и высоконагруженными системами. Вы сможете решать больше задач и повысить свою ценность как специалист.
  • Новичкам в программировании
    Вы познакомитесь с основными принципами операционных систем и обмена данными. Научитесь создавать и оптимизировать приложения на языке Go.

Перед началом курса рекомендуется проверить и систематизировать ваши знания Git.

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

  1. Вступление и основы Golang
  • Знакомство с курсом
  • Организация онлайн-обучения
  • Ориентационное собрание
  • Выбор методов практики
  • Философия Go. Подходящие и неподходящие проекты. Роль Go для инженеров
  • Переменные и типы данных. Переменные и константы
  • Переменные и типы данных. Простые типы
  • Переменные и типы данных. Составные типы
  • Функции
  • Циклы, оператор switch-case, оператор if
  • Практические задания
  • Дополнительные материалы
  1. Онлайн-собрание для начала обучения
    Познакомимся с преподавателями, узнаем, как будет проходить курс и определим свои цели. Углубляемся в основы
  • Структуры
  • Интерфейсы
  • Обобщенное программирование и ООП в Go
  • Сборщик мусора
  • Практические задания
  • Дополнительные материалы
  1. Параллельное выполнение операций
  • Концепция многозадачности
  • Горутины
  • Обработка ошибок
  • Каналы
  • Средства синхронизации
  • Практические задания
  • Дополнительные материалы
  1. Go на практике, часть 1
  • Go модули и структура проекта
  • Работа с операционной системой
  • Работа с файлами и файловой системой
  • Работа с сетью в Go
  • Обзор протоколов и форматов
  1. Go на практике, часть 2
  • Работа с базами данных
  • Пакеты для обработки HTTP-запросов
  • Написание тестов
  • Проверка качества кода
  • Кросс-компиляция и использование build-тегов
  • Контрольный список и итоги основного блока
  • Вопросы и ответы + неформальная встреча
  • Онлайн-встреча с преподавателями, промежуточные итоги, ответы на вопросы.
  1. Работа с Docker в Go
  • Docker SDK для Go
  • Взаимодействие с Docker из Go
  • Практические рекомендации и советы
  • Практическое задание: написание приложения для развертывания контейнера и его тестирования
  1. Паттерны в Kubernetes
  • Health probe / Liveness probe
  • Периодические задачи
  • Демон-сервисы
  • Состояний сервис
  • Обнаружение сервисов / Сеть сервисов
  • Sidecar / Адаптер
  • Контроллер / Оператор
  1. Операторы в Kubernetes
  • Концепция операторов Kubernetes
  • Роль операторов
  • Компоненты оператора (контроллер, индексатор и API Kubernetes)
  • CRD (создание, заполнение переменных, генерация CRD)
  • Компоненты контроллера
  • Написание собственного контроллера для развертывания
  • Написание оператора с использованием kubebuilder
  • Сборка проекта для ручного тестирования в кластере
  • Обзор ginkgo (написание тестов), обзор основных фреймворков для создания операторов, kubeclient, готового HTTP-сервера
  • Написание теста для валидации контроллера
  • Развертывание приложения
  • Вопросы и ответы + заключительный этап
  1. Заключительная онлайн-встреча с преподавателями и командой, подведение итогов, ответы на вопросы.

Спикеры курса:

Всеволод Севостьянов
Tech Lead в проекте vene.io
– Более 10 лет опыта разработки на разных языках (php, java, Go)
– Архитектор и разработчик решений для обеспечения очень высокой пропускной способности (до 30 тысяч запросов в секунду на реальных бизнес кейсах)
– Tech Advisor команды DevOps
– Специализируется на облачных решениях
– Спикер на профильных митапах и конференциях.

Тигран Ханагян
Team Lead & Backend Developer в Citymobil
– Более 7 лет опыта разработки на разных языках (python, php, Go)
– Архитектор высоконагруженных сервисов на Go с нуля, один из которых — сервис программы лояльности в city-mobil
– Автор статей в публичных каналах
– Спикер на профильных митапах и конференциях.

Курс «Golang для начинающих от golangify»

Бесплатно

Ссылка на сайт: https://golangify.com/go/kurs-izucheniya-golang-dlya-nachinayuschih

Полный набор материалов для новичков, который позволяет изучить программирование на языке Golang. Включает в себя иллюстрации примеров кода на Go с детальным разъяснением. Обучение основам языка программирования Golang.

Содержание:

  1. Введение в программирование на Go: необходимые знания.
  2. Основы Go: Go Playground, пакеты, функции и скобки в языке Golang.
  3. Основные принципы: работа с числами, форматирование строк, переменные и константы.
  4. Цикл for, условные операторы if-else-switch, True-False и операторы сравнения в языке Golang.
  5. Оператор switch в языке Golang.
  6. Область видимости переменных в языке Golang.
  7. Создание программы для приобретения билетов на языке Golang.
  8. Работа с дробными числами в языке Golang: float64 и float32.
  9. Работа с целыми числами в языке Golang: выбор правильного типа.
  10. Пакет Big: работа с большими числами в языке Golang и примеры их использования.
  11. Работа со строками в языке Golang.
  12. Преобразование типов данных в языке Golang.
  13. Создание шифра Виженера на языке Golang.
  14. Функции в языке Golang на примерах.
  15. Методы в языке Go: создание и использование методов в языке Golang.
  16. Функции первого класса, замыкания и анонимные функции в языке Golang.
  17. Программа для перевода температуры из Цельсия в Фаренгейты.
  18. Создание и итерация массивов в языке Golang.
  19. Срезы массивов в языке Golang.
  20. Работа с массивами и срезами в языке Golang: append() и make().
  21. Карты — ассоциативные массивы в языке Golang.
  22. Создание игры «Жизнь» на языке Golang.
  23. Структуры в языке Golang: экспорт структур в формате JSON.
  24. Структуры и методы: объектно-ориентированный подход в языке Golang.
  25. Композиция и встраивание методов в языке Golang.
  26. Интерфейсы в языке Golang.
  27. Создание фермерского симулятора на языке Golang.
  28. Указатели в языке Golang.
  29. Значение nil в языке Golang.
  30. Обработка ошибок в языке Golang.
  31. Создание игры «Судоку» на языке Golang.
  32. Горутины и конкурентность: многопоточность в языке Go.
  33. Изучение конкурентности и параллелизма в языке Golang.
  34. Конкурентность в Go на примере создания игры для исследования Марса.
  35. Работа с JSON в языке Golang: сериализация и десериализация.
  36. Редактирование видео на языке Golang.

Курс «Golang-разработчик от CloudMTS»

Бесплатно

Ссылка на сайт: https://www.teta.mts.ru/golang

Освоение языка через решение практических задач и подготовка к интервью. Трехмесячный погружение в разработку на Go.

Занятия проводятся в онлайн-формате. Лекции можно будет просмотреть в записи трансляций. После каждой темы будет предложено практическое домашнее задание, которое будет оценено опытным разработчиком.

Для прохождения курса требуются следующие навыки:

  • Знание синтаксиса и основных конструкций языка Go.
  • Умение писать простые SQL-запросы.
  • Понимание основ работы с базами данных и системами обмена сообщениями.
  • Опыт коммерческой разработки продолжительностью не менее полугода.

Программа:

  1. Архитектура, паттерны проектирования и инструменты разработки
  • Применение принципов SOLID в языке Go
  • Сравнение монолитной архитектуры и микросервисов
  • Взаимодействие через REST и gRPC
  • Паттерны Two-phase commit и Saga
  • Асинхронное взаимодействие
  • Использование Docker и K8s в разработке
  • Настройка CI/CD. Использование линтеров кода, проверок безопасности и подключение тестов
  1. Основы Go
  • Работа с срезами (Slice) и отображениями (Map)
  • Использование горутин (Goroutines)
  • Взаимодействие через каналы (Channels)
  • Работа с контекстом (Context)
  • Использование интерфейсов (Interfaces)
  • И другие основные концепции
  1. Конкурентность в Go
  • Примитивы синхронизации
  • Использование горутин и каналов
  • Паттерны конкурентности
  • Планировщик выполнения
  • Управление памятью и сборка мусора
  • Поиск утечек горутин
  1. Документация и тестирование
  • Использование OpenAPI Swagger (Swaggo)
  • Написание юнит-тестов
  • Использование мок-объектов (Mock)
  • Интеграционное тестирование (с использованием контейнеров)
  • Тестирование конкурентного кода
  1. Работа с базами данных: PostgreSQL
  • Проектирование баз данных. Запросы и модификация данных
  • Транзакции. Триггеры и хранимые процедуры
  • Оптимизация запросов и профилирование
  • Репликация. Полнотекстовый поиск. Работа с JSON
  1. Работа с базами данных: MongoDB
  • Принципы CAP/PACELC
  • Создание запросов
  • Индексирование данных
  • Настройка и конфигурирование
  • Работа с геоданными в MongoDB
  1. Обработка очередей данных
  • Основные концепции и архитектура Apache Kafka
  • Работа с топиками, партициями и смещениями в Apache Kafka
  • Использование API для производителя и потребителя
  • Command Sourcing
  • Event Sourcing
  1. Новые возможности в Go
  • Использование дженериков.

Преподаватели:

  • Сергей Парамошкин
    Технический менеджер Яндекс.Поиск
    Работал в эксплуатации, аналитиком, архитектором, руководителем.
    Больше 10 лет опыта в IT, опыт в разработке на Go 7 лет.
  • Роман Цованян
    Старший Архитектор автоматизации бизнес-процессов МТС
    Более 30 лет опыта в IT, опыт в разработке на Go 6 лет.
  • Максим Сёмочкин
    Руководитель направления в отделе автоматизации бизнес-процессов МТС
    Прошёл путь от DevOps инженера до ведущего архитектора.
    Опыт в разработке на Go 6 лет.

О прошлом курсе:

Виталий Попов
Golang-разработчик в CloudMTS
«От курса по языку программирования я ждал не только введения в основы языка, но и плотной работы с экосистемой и инструментами, использования подходов к разработке, максимально приближенных к реальной работе. И на курсе от МТС я получил нечто похожее: сквозной проект на курсе — почти боевое приложение. Преподаватели и менторы рассказывали, как применять современные подходы к разработке на Golang. При этом на курсе дается информация небольшими порциями, успеваешь всё изучить и закрепить на практике.
Очень хороший курс, рекомендую!»

Герман Лепин
Golang-разработчик в CloudMTS
«Обучение на курсе MTS Teta позволило мне накопить большой объем знаний, которым я сейчас активно пользуюсь в своих рабочих задачах.
Курс наполнен качественными теоретическими материалами и практическими заданиями. Помимо развития технических скилов, также прорабатываются навыки работы в команде, умение договариваться и разделять ответственность. Если качественно изучать материал и ответственно подходить к выполнению задания по курсу, то за три месяца можно добиться отличного результата и устроиться на работу в MTS Cloud.
Всем, кто принимал участие в создании и ведении курса, выражаю огромную благодарность за их титанический труд!»

Курс «Golang от ITEA»

Цена: 280 EUR

Ссылка на сайт: https://onlineitea.com/course/go-course/

Пройдите обучение по языку программирования Golang с самого начала, чтобы понять основы одного из ведущих языков программирования в 2021 году. Изучите его идиомы и научитесь избегать типичных ошибок, характерных для IT-специалистов. Образовательная программа нашей академии предоставит вам полное погружение в разработку на Go, позволяя решать практические задачи и развивать навыки в этом языке и технологическом стеке.

  • 12 занятий / 2 месяца.

Для кого предназначен этот курс:

  • Если вы ищете свое предназначение и хотите освоить высокооплачиваемую профессию разработчика, в которой можно быстро расти и развиваться.
  • Если у вас есть опыт работы в IT-сфере, но вы продолжаете развивать свои навыки и расширять свое персональное портфолио.
  • Если вы мечтаете изменить свою карьерную направленность и начать заниматься делом, которое приносит удовольствие и обеспечивает стабильный доход.

Обучение программированию проводится онлайн. Если у вас возникнут вопросы, затруднения с материалом или нужна помощь с домашними заданиями, коуч обязательно поможет и объяснит сложные темы. Ментор консультирует студентов по вопросам разработки как во время, так и после занятий. После завершения обучения вам потребуется выполнить курсовой проект, чтобы продемонстрировать ваш уровень знаний. Вы сможете добавить его в ваше персональное портфолио.

В рамках этого курса вы научитесь:

  • Создавать консольные и сервисные приложения.
  • Разрабатывать консольное программное обеспечение на языке Go, под разные операционные системы и различные архитектуры.

План обучения:

  1. Введение
  • Определение языка Go
  • История развития
  • Преимущества Go по сравнению с другими языками
  • Типичные задачи, которые можно эффективно решать с помощью Go
  • Актуальность языка Go
  1. Основы Git
  2. Настройка среды разработки на Go
  • Установка Go
  • Установка дополнительных инструментов для эффективной работы с Go
  • Обзор основных утилит для работы с Go
  • Быстрая настройка среды разработки на примере Visual Studio Code
  • Написание первой программы
  • Создание простого веб-сервера на Go за 1 минуту
  1. Основы языка
  • Типы данных
  • Переменные
  • Константы
  • Указатели
  • Пакеты и импорт
  • Область видимости
  1. Основные операции
  • Логические операции
  • Арифметические операции
  • Побитовые операции
  • Инкремент и декремент
  1. Управление ходом программы
  • Условные операторы if
  • Циклы for
  • Оператор switch
  1. Составные типы данных
  • Массивы
  • Срезы (Slice)
  • Ассоциативные массивы (Map)
  • Структуры (Struct)
  • Итерация по коллекциям с помощью Range
  1. Функции в Go
  • Основные понятия функций
  • Определение и использование функций
  • Передача параметров в функции
  • Возвращение множества значений из функции
  • Функции с переменным числом параметров
  • Рекурсия
  • Работа с файлами
  1. Обработка ошибок в Go
  • Возврат ошибок из функций
  • Отложенное выполнение функций (defer)
  • Использование panic и recover
  1. Дополнительные возможности языка Go
  • Методы в Go
  • Интерфейсы в Go как способ реализации полиморфизма
  • Рефлексия
  • Пакеты
  • Низкоуровневое программирование
  1. Параллелизм в Go
  • Горутины (Goroutines) и каналы (Channels)
  • Синхронизация доступа к разделяемым переменным с помощью мьютексов
  1. Обзор стандартной библиотеки языка Go

По окончании курса по Golang у вас будет:

  • Сертификат, подтверждающий успешное завершение обучения в соответствии с уровнем успеваемости.
  • Годовой доступ к материалам и записям занятий в вашем личном кабинете на удобной платформе.
  • Возможность присоединиться к сообществу ITEA.
  • Портфолио с проектами и выполненными работами.
  • Поддержка в трудоустройстве.
  • Ценный опыт работы с профессиональными инструментами.

Отзывы студентов:

Максим Левин
«Рекомендую академию! Высокий уровень подготовки выпускников, которые могут занять лидирующие позиции на рынке труда Украины. Нескольких ребят удалось трудоустроить в продуктовую компанию».

Игорь Кубицкий
«Проходил несколько курсов в ITEA Львов. Хорошая организация курсов и подбор учителей. Хорошо объясняют материал. В ITEA приветливый коллектив и дружеская атмосфера. Рекомендую их обучающие курсы!»

Курс «Продвинутая разработка микросервисов на Go от Ozon Tech»

Бесплатно

Ссылка на сайт: https://route256.ozon.ru/go-developer

  • Два месяца теории и практики
  • Менторство от экспертов и тьюторов.

Твой путь в захватывающий мир электронной коммерции:

  • Первый модуль
    Изучение языка Go и принципов проектирования приложений. Создание собственного бота для мессенджера, использующего gRPC для управления и базу данных для хранения информации. Реализация асинхронных обработчиков с применением паттернов проектирования и написание юнит-тестов.
  • Второй модуль
    Создание распределенных приложений, обеспечение наблюдаемости, применение SRE-подхода, работа с очередями, обработка больших данных, управление высокой нагрузкой, машинное обучение и опыт разработчиков в компании Ozon.

А что еще?

  • Изучение синтаксиса Go и разработка программного обеспечения
  • Асинхронное программирование и использование gRPC
  • Работа с базой данных Postgres и понимание ее внутреннего устройства
  • Использование очередей сообщений и применение паттернов проектирования для разработки сложных систем
  • Обеспечение наблюдаемости приложений и применение подхода SRE
  • Шардирование и кэширование данных
  • Работа с файловым хранилищем и специальными типами баз данных
  • Применение машинного обучения в условиях высокой нагрузки.

Эксперты и тьюторы:

  • Кирилл Шматов
    Старший разработчик в команде «Платформа коммуникаций»
  • Леонид Могучев
    Разработчик в команде «Тарификации»
  • Евгений Гуров
    Руководитель отдела «Билетные витрины, Маркетинг и SEO»
  • Вадим Дмитриев
    Тимлид команды «ЖД»

И др.

Приглашенный эксперт – Алексей Шаграев
IT-предприниматель.

По окончании курса ты сможешь:

  • Разрабатывать программное обеспечение на языке Go
  • Создавать код, который является надежным и легко поддерживаемым
  • Проектировать сложные распределенные системы
  • Обеспечивать мониторинг и поддержку систем, которые вы разработали
  • Работать в самой динамично развивающейся отрасли
  • Освоить принципы работы системы лифтов в «Москва-Сити»
  • Представить три репозитория на GitHub с вашими разработками, выполненными во время курса.

Курс «Go программирование от Академия IT»

Бесплатно

Ссылка на сайт: https://academiait.ru/course/izuchaem-go-programmirovanie-na-golang-learn-go/

Видеоуроки:

  1. Типы данных и переменные в языке программирования Go.
  2. Работа с переменными и обработка ошибок.
  3. Циклы в Go: основы и примеры.
  4. Массивы и срезы в языке программирования Go.
  5. Использование карт (Maps) в Go.
  6. Функции в языке программирования Go: основы и применение.
  7. Работа со структурами (Structures) в Go.
  8. Организация кода в языке программирования Go.
  9. Рекомендации по чтению книг по Go.
  10. Использование библиотеки Sort в Go.
  11. Создание парсера для Telegram на языке Go.
  12. Разработка Telegram-бота на Go с использованием webhook.
  13. Сбор данных пользователей в Telegram-боте на языке Golang.
  14. Фильтрация сообщений для Telegram на языке Go.
  15. Отправка фотографий из облачного хранилища в Telegram-боте на Go.
  16. Поиск фриланс-заказов на Go: использование Go HTTP, Telegram API и других API.
  17. Работа с Docker в Go: упаковка приложения Go в контейнер Docker.
  18. Написание экспортера для Mysql и Prometheus на языке программирования Go.
  19. Ошибки, с которыми сталкиваются новички в Go: примеры и рекомендации.
  20. Создание простой веб-формы для авторизации (golang, templates, шаблоны, web).

Курс «Golang-разработчик. Advanced от Rebrain»

Цена: 35 000 руб.

Ссылка на сайт: https://rebrainme.com/golang-advanced/

  • 90% практики
  • 25+ заданий.

Кому будет полезен практикум:

  • Программисты
  • Специалисты в области тестирования
  • Системные архитекторы и аналитики
  • Инженеры DevOps

Программа обучения включает следующие модули:

  1. Работа с базами данных
  • Настройка подключения к базе данных (PostgreSQL)
  • Работа с базой данных (PostgreSQL)
  • Миграции данных (Goose)
  • Использование GORM для работы с базой данных
  • Работа с NoSQL (MongoDB)
  1. Создание сервера на Go (обработка запросов, контекст, промежуточное ПО)
  • Запуск сервера, маршрутизация, первый обработчик
  • Работа с параметрами запроса
  • Использование роутера Gorilla
  • Использование роутера Chi
  • Применение промежуточного ПО (Middleware)
  • Работа с контекстом запроса
  • Использование fasthttp
  • Работа с WebSockets
  1. Низкоуровневое программирование и продвинутая сборка
  • Продвинутая работа с модулями
  • Сборка приложения с использованием Idflags
  • Создание сборок для разных операционных систем
  • Использование пакета unsafe
  • Взаимодействие с C через Cgo
  1. Микросервисная архитектура
  • Создание образа для нашего сервиса
  • Продвинутая сборка образа
  • Получение конфигураций из key-value хранилища (Consul)
  1. Взаимодействие между сервисами
  • Синхронное взаимодействие через REST
  • Взаимодействие с помощью gRPC
  • Использование Interceptors
  • Асинхронное взаимодействие (Kafka) и публикация-подписка
  • Работа с GraphQL в Go
  1. Оптимизация
  • Хранение данных в памяти
  • Использование Redis
  • Создание собственного LRU-кэша
  1. Работа сервиса в кластере
  • Форматирование и уровни логирования
  • Запись логов (Greylog)
  • Распределенное логирование
  • Сбор и визуализация метрик (Prometheus + Grafana)
  • Graceful обработка сигналов
  • Проверка состояния сервиса (healthcheck)

По завершению практикума вы будете получать электронный сертификат с вашим именем, который подтверждает вашу успешность в выполнении всех заданий. Кроме того, вы получите карту Hard Skills. Эта карта компетенций отражает ваши достижения в выполнении заданий и освоении технологического стека.

Hard Skills Card — ваша техническая карточка специалиста.

Отзыв участника:

Юрий Медведев, 28 лет

До практикума: Digital Marketing
После практикума: Junior DevOps

«До практикума я работал в сфере Digital Marketing — удаленно занимался рекламой, маркетингом. Ранее работал инженером связи, от механика и до ведущего инженера, поэтому IT мне близко, и я всегда хотел развиваться в этом направлении и вернуться в профессию. Потому заинтересовался открытым практикумом по DevOps, который предложила мне таргетная реклама. После него желание изучать DevOps усилилось — привлекли перспективы и сложная, но интересная работа. Так я решил пойти дальше на практикум. И уже в середине него устроился в аутсорсинговую компанию по администрированию инфраструктуры и дорос до Junior DevOps.
Сам практикум — бомба! Намного круче классического формата с лекциями. Когда есть лекции, ты привязан к группе, ко времени. Здесь же отстать невозможно: включайся, когда удобно, и получай на любом этапе быструю обратную связь по всем заданиям. Выходит, как формат индивидуального обучения, но только еще и с возможностью постоянно находиться в сообществе — общаться, развивать кругозор.
После практикума меня позвали в команду REBRAIN как одного из лучших выпускников. И это тоже очень крутой опыт. Сейчас я курирую практикум — отвечаю на вопросы ребят, вместе разбираем задачи, что помогает укреплять знания и разбираться в нюансах.
Сам формат практикума с упором именно на выполнение заданий — именно то, что нужно, чтобы сформировать достаточный кругозор и базис для развития. Так что, если тема DevOps или развития Operations вам близка — практикум это именно то, что нужно!»

Курс «Go от Microsoft »

Бесплатно

Ссылка на сайт: https://docs.microsoft.com/ru-ru/learn/paths/go-first-steps/

«Хотите изучать язык программирования, но не знаете, с чего начать? Начните отсюда! Узнайте о базовом синтаксисе и направлении мыслей для создания простых программ с помощью Go.»

Содержание этой учебной программы включает:

  • Установка необходимых инструментов для написания кода на языке Go.
  • Использование потоков управления в Go.
  • Работа с типами данных в Go.
  • Обработка ошибок.
  • Использование методов и интерфейсов.
  • Параллелизм в Go.
  • Написание и тестирование программы.

Предварительные требования: базовое знание программирования; ознакомление хотя бы с одним языком программирования.

Модули, включенные в эту учебную программу:

  1. Введение в язык Go
    В этом модуле вы познакомитесь с основами использования Go.
  2. Работа с пакетами, переменными и функциями в Go
    Изучите основные типы данных в Go, объявление переменных, написание функций и использование пакетов.
  3. Управление потоком выполнения в Go
    Изучите принципы управления потоком выполнения в Go.
  4. Работа с типами данных, структурами, массивами, срезами и картами в Go
    Узнайте о структурах, массивах, срезах и картах в Go, их различиях и использовании.
  5. Обработка ошибок и ведение журнала в Go
    Изучите методы обработки ошибок и ведения журнала в программировании на Go.
  6. Использование методов и интерфейсов в Go
    Познакомьтесь с использованием методов и интерфейсов в языке программирования Go.
  7. Параллельное выполнение в Go
    Узнайте больше о параллельном выполнении, одной из ключевых особенностей Go.
  8. Написание и тестирование программы на Go
    Создайте и протестируйте полноценную программу, применяя полученные знания о Go.

Курс «Введение в программирование на Go от Caleb Doxsey»

Бесплатно

Ссылка на сайт: http://golang-book.ru/

Содержание:

  1. Начало работы
  2. Ваш первый код
  3. Типы данных
  4. Переменные
  5. Управление выполнением
  6. Массивы, срезы, словари
  7. Функции
  8. Указатели
  9. Структуры и интерфейсы
  10. Параллельное выполнение
  11. Пакеты и повторное использование кода
  12. Тестирование
  13. Стандартная библиотека
  14. Дальнейшие шаги.

Курс «Golang от Miralabs»

Цена: 23 700 RUB

Ссылка на сайт: https://iteacorp.com/course/golang/

  • Длительность — 36 ч.

По окончании курса вы сможете:

  • Разрабатывать консольные программы на языке Go, под различные операционные системы и архитектуры.
  • Создавать консольно-сервисные приложения.

Занятия проводятся в формате онлайн-взаимодействия, где студенты имеют возможность напрямую общаться с тренером. Как и в офлайн-формате, студенты могут задавать вопросы тренеру и мгновенно получать обратную связь. Таким образом, онлайн-занятия почти неотличимы от традиционных лекций, при этом вы можете учиться в комфортной обстановке, будь то дом, кафе или коворкинг.

План обучения на данном курсе выглядит следующим образом:

  1. Введение
  • Знакомство с языком Go
  • История развития языка
  • Преимущества Go по сравнению с другими языками программирования
  • Области применения и эффективность Go
  • Современные тенденции в развитии языка Go
  1. Основы Git
  • Введение в систему контроля версий Git
  1. Настройка рабочей среды Go
  • Установка компилятора Go
  • Установка дополнительных инструментов для эффективной работы с Go
  • Основные утилиты для работы с Go
  • Быстрая настройка рабочей среды на примере Visual Studio Code
  • Создание и запуск первой программы
  • Простой веб-сервер на Go за 1 минуту
  1. Основы языка
  • Типы данных в Go
  • Объявление и использование переменных
  • Константы
  • Указатели
  • Пакеты и импорт
  • Область видимости переменных
  1. Основные операции
  • Логические операции
  • Арифметические операции
  • Поразрядные операции
  • Инкремент и декремент
  1. Управление ходом программы (Control flow)
  • Условный оператор if
  • Циклы for
  • Оператор switch
  1. Составные типы данных
  • Массивы
  • Срезы (Slice)
  • Тип map
  • Структуры
  • Итерация с помощью цикла Range
  1. Функции в Go
  • Основные понятия о функциях
  • Определение функций
  • Передача параметров в функцию
  • Множественный возврат значений из функции
  • Функции с переменным числом параметров
  • Рекурсия
  • Работа с файлами
  1. Обработка ошибок в Go
  • Возвращение ошибок из функций
  • Отложенные (deferred) функции
  • Panic и Recover для обработки исключительных ситуаций
  1. Расширенные возможности Go
  • Методы в Go
  • Интерфейсы в Go как простой способ реализации полиморфизма
  • Рефлексия
  • Работа с пакетами
  • Низкоуровневое программирование
  1. Параллелизм в Go
  • Goroutines и каналы для параллельного выполнения задач
  • Работа с разделяемыми переменными и использование мьютексов для обеспечения безопасности доступа
  1. Обзор стандартной библиотеки
  • Изучение основных компонентов и функций стандартной библиотеки Go

Этот план обучения поможет вам овладеть основами языка Go и его ключевыми возможностями. Вы получите не только теоретические знания, но и практические навыки, выполняя различные задания и проекты. По окончании курса вы будете готовы разрабатывать приложения на Go, использовать эффективные паттерны программирования и работать с распространенными компонентами и библиотеками.

Курс «Разработка веб-сервисов на Golang от VK Образование»

Бесплатно

Ссылка на сайт: https://education.vk.company/curriculum/program/discipline/1285/

Освой в теории и на практике один из самых востребованных языков программирования.

  • 13 занятий, 52 ак.часа.

Какие преимущества даёт курс?

  • Получишь всестороннее понимание необходимых компонентов в современных веб-системах.
  • Освоишь асинхронное программирование, оптимизацию производительности и кодогенерацию.
  • Научишься работать с базами данных и микросервисами.
  • Разработаешь навыки создания веб-сервисов на языке Go.

Онлайн-интенсивы проводятся один раз в неделю вечером. Записи занятий доступны на портале вместе с домашними заданиями, чтобы закрепить изученные темы.

Преподаватели:

  • Антон Сулаев
    Руководитель команды backend-разработки Почты Mail.ru.
  • Никита Алтунин
    Разработчик Почты и Календаря Mail.ru.
  • Вероника Персиянова
    Разработчик Почты Mail.ru.

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

  1. Асинхронное программирование
  2. Основы работы с протоколами HTTP 1 и 2, создание веб-приложений
  3. Работа с системами хранения данных и базами данных
  4. Обеспечение безопасности веб-приложений
  5. Микросервисы, управление конфигурацией, мониторинг
  6. Непрерывная интеграция и развертывание.

Курс «Cовременная разработка на Go от Hardcode.Dev»

Цена: 42 000 руб.

Ссылка на сайт: https://hardcode.dev/golang

Образовательная программа предназначена для разработчиков backend, которые стремятся освоить язык программирования Golang с целью расширить или изменить свой текущий технологический стек.

  • Продолжительность — 12 недель.

Главная цель данного курса заключается в освоении языка Go и его экосистемы, обучении созданию сервисов на этом языке, представлении лучших подходов и практик, а также подготовке участников к работе в реальных проектах.

В результате прохождения курса вы:

  • Научитесь разрабатывать готовые к применению в производственной среде приложения на Go
  • Освоите экосистему и стандартную библиотеку данного языка
  • Приобретете понимание правильной архитектуры приложений на Go и ознакомитесь с лучшими практиками и реальным опытом использования данного языка в проектах
  • Освоите тестирование, профилирование и отладку Go-приложений
  • Научитесь проектировать и создавать REST API на Go, а также познакомитесь с микросервисной архитектурой
  • Приобретете навыки работы с concurrency и go routines
  • Погрузитесь в тему высоких нагрузок и масштабируемости, а также узнаете, как Go может помочь в таких ситуациях
  • Научитесь проектировать и создавать API на Go, работать с сетью и базами данных, вебсокетами и RPC
  • Расширите свои знания и повысите свою ценность как специалиста на рынке труда.

Учебная программа:

  1. Обзор программы и целей курса. Введение в язык Go.
  2. Особенности синтаксиса Go и его использование.
  3. Изучение алгоритмов на языке Go.
  4. Работа со структурами данных в Go.
  5. Основы ввода и вывода данных.
  6. Применение принципов объектно-ориентированного программирования в Go.
  7. Тестирование кода и модулей.
  8. Измерение производительности с помощью бенчмарков и отладка программы.
  9. Профилирование и оптимизация производительности приложения.
  10. Использование интерфейсов в Go.
  11. Конкурентное программирование и работа с параллельными процессами.
  12. Создание сетевых приложений на Go.
  13. Разработка веб-приложений на Go.
  14. Создание и использование прикладного программного интерфейса (API).
  15. Удаленный вызов процедур (RPC) и использование gRPC.
  16. Работа с реляционными базами данных.
  17. Разработка приложений, использующих базы данных.
  18. Архитектура приложений на языке Go.
  19. Применение микросервисной архитектуры в Go.
  20. Использование очередей сообщений и нереляционных баз данных.
  21. Финальный проект для закрепления полученных знаний.

Автор – Дмитрий Титов
Старший Go-разработчик в МТС Банк.
Более 15 лет в ИТ из них 7 лет — в разработке
Fullstack-разработчик, архитектор и руководитель группы разработки
Разрабатывает на Golang с 2016 года.

Курс «Go от metanit»

Бесплатно

Ссылка на сайт: https://metanit.com/go/tutorial/

Содержание:

Глава 1. Введение в язык Go

  • Что такое Go
  • Первая программа
  • Go в LiteIDE
  • Go в Visual Studio Code

Глава 2. Основы языка Go

  • Структура программы
  • Переменные
  • Типы данных
  • Константы
  • Арифметические операции
  • Условные выражения
  • Поразрядные операции
  • Массивы
  • Условные конструкции
  • Циклы
  • Функции и их параметры
  • Возвращение результата из функции
  • Тип функции
  • Анонимные функции
  • Рекурсивные функции
  • defer и panic
  • Срезы
  • Отображения

Глава 3. Указатели

  • Что такое указатели
  • Указатели и функции

Глава 4. Производные типы

  • Объявление типов
  • Структуры
  • Вложенные структуры
  • Методы
  • Методы указателей

Глава 5. Пакеты и модули

  • Пакеты и их импорт
  • Введение в модули

Глава 6. Интерфейсы

  • Введение в интерфейсы
  • Соответствие интерфейсу
  • Полиморфизм

Глава 7. Параллельное программирование. Горутины

  • Горутины
  • Каналы
  • Закрытие канала
  • Синхронизация
  • Передача потоков данных
  • Мьютексы
  • WaitGroup

Глава 8. Потоки и файлы

  • Операции ввода-вывода. Reader и Writer
  • Создание и открытие файлов
  • Чтение и запись файлов
  • Стандартные потоки ввода-вывода и io.Copy
  • Форматированный вывод
  • Вывод на консоль
  • Форматируемый ввод
  • Чтение с консоли
  • Буферизированный ввод-вывод

Глава 9. Сетевое программирование

  • Отправка запросов
  • Сервер. Обработка подключений
  • Взаимодействие клиента и сервера
  • Установка таймаута
  • Отправка запросов по HTTP
  • Client

Глава 10. Базы данных

  • Работа с реляционными база данных
  • MySQL
  • PostgreSQL
  • SQLite
  • MongoDB
Поделиться с друзьями
blank
Сергей Савин

Высшее образование в сфере «Образование и педагогика», работал учителем математики с 2006 по 2014 год. Эксперт по выбору профессии и курсов с 2018 года. Изучаю отзывы о курсах, онлайн-школах, колледжах и институтах, составляю ТОП-рейтинги.

Оцените автора
Савин.Инфо