19 курсов по Golang доступных для прохождения в 2024 году

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

  1. Простота и эффективность: Golang разработан с упором на простоту чтения, написания и поддержки кода. Его синтаксис минималистичен и легко усваиваем даже новичками. Это позволяет быстрее создавать приложения и облегчает их поддержку и развитие.

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

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

  4. Растущее сообщество и спрос на рынке труда: За последние годы Golang привлек значительное внимание разработчиков со всего мира. Компании, такие как Google, Uber, Dropbox и др., используют Golang в своих проектах, что создает высокий спрос на специалистов, владеющих этим языком.

  5. Будущие перспективы: С постоянным ростом областей применения, таких как облачные технологии, микросервисная архитектура и интернет вещей, изучение Golang открывает двери к карьерным возможностям в передовых и развивающихся технологиях.

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

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

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

  • Длительность 12 месяцев
  • 5 курсов в одной программе
  • Помощь в трудоустройстве
  • Доступ к курсу навсегда

На рынке не хватает Go-разработчиков

По данным hh.ru:

  • 1 000 компаний

сейчас ищут программистов на Go

  • от 60 000 рублей

зарплата начинающего Go-разработчика

  • 150 000 рублей

зарплата разработчика уровня middle

 

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

  • Новичкам в программировании

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

  • IT-специалистам

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

 

Чему вы научитесь

  1. Разрабатывать приложения на Go
  2. Работать с файловой системой
  3. Работать с алгоритмами поиска и сортировки
  4. Понимать принципы работы операционных систем и обмена данными по сети
  5. Программировать многопоточные распределённые системы для высоконагруженных проектов
  6. Собирать, тестировать и развёртывать готовые приложения
  7. Работать с системой контроля версий Git
  8. Делать код-ревью
  9. Прокачаете soft skills программиста

 

Акция!

Всем студентам курса на время обучения мы даём бесплатный доступ к специализированной IDE (среде разработки) от компании JetBrains — GoLand.
Умная кросс-платформенная IDE.

 

Заботимся, чтобы каждый построил карьеру мечты

Специалисты Skillbox из Центра карьеры помогут вам получить первую стажировку и приглашение на работу мечты

Узнайте, как мы поддерживаем студентов в поиске работы

За 2021 год мы трудоустроили более 1000 студентов на работу по новой профессии

 

Как проходит обучение

  1. Изучаете тему

В курсе — практические видеоуроки.

  1. Выполняете задания

В том темпе, в котором вам удобно.

  1. Работаете с преподавателем

Закрепляете знания и исправляете ошибки.

  1. Защищаете дипломную работу

И дополняете ею своё портфолио.

 

Программа

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

  • 40 тематических модулей
  • 167 онлайн-уроков

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

  • Разработчик на Go
    1. Вводный модуль. Первая программа
    2. Базовые типы. Целочисленные типы. Данные и вычисления
    3. Строки
    4. Условный оператор if
    5. Логические операторы и составные условия
    6. Введение в циклы: for как единая точка входа
    7. Вложенные циклы
    8. Оператор switch
    9. Диапазоны значений
    10. Числа с плавающей запятой. Математические вычисления
    11. Комплексные типы данных. Строки.
    12. Работа с файлами
    13. Функции в программировании
    14. Функции, возвращающие результат
    15. Композитные типы данных. Одномерные массивы. Базовые алгоритмы на массивах
    16. Настройка JetBrains GoLand, создание проекта на JetBrains GoLand
    17. Отладка и логирование
    18. Breakpoints
    19. Простые алгоритмы на массивах
    20. Двумерные массивы
    21. Анонимные функции
    22. Продвинутые алгоритмы на массивах. Поиск.
    23. Сортировка с пониженной алгоритмической сложностью
    24. Композитные типы данных. Срезы. Динамическое выделение памяти
    25. Подмножества и работа со срезами
    26. Строки и текстовые данные. Базовые алгоритмы со строками
    27. Композитные типы данных. Карты
    28. Композитные типы данных. Структуры
    29. Переиспользование кода
    30. Модульность и организация исходного кода в Golang
    31. Многопоточность
    32. Работа с каналами
    33. Битовые операции и обработка двоичных данных
    34. Автоматическое тестирование, юнит-тесты
    35. Автоматическая сборка проекта. Make install
    36. Микросервисная архитектура
    37. Обмен данными по сети. Часть 1
    38. Обмен данными по сети. Часть 2
    39. Структуры данных. Теория без домашнего задания
    40. Теория алгоритмов. Теория без домашнего задания

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

  • Универсальные знания программиста
  • Система контроля версий Git
  • Английский для IT-специалистов
  • Карьера и развитие программиста

Дипломный проект

  • Сетевой многопоточный демон

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

 

Ваше резюме после обучения

  • Должность Go-разработчик
  • Зарплата от: 60 000 ₽

Профессиональные навыки:

  • Знание языка Go на профессиональном уровне
  • Работа с микросервисной архитектурой
  • Тестирование и развёртка приложений
  • Работа с файловой системой
  • Создание приложений на Go
  • Работа с многопоточностью
  • Код-ревью
  • Знание алгоритмов поиска и сортировки

Диплом Skillbox

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

Стоимость:  Рассрочка на 24 месяца - 5 548 ₽ / мес
Подробнее о курсе →
Курс «Go-Разработчик PRO» — Skillbox

Вы изучите современный и востребованный язык Go на продвинутом уровне и сможете трудоустроиться на позицию Middle-разработчика.

  • Длительность 8 месяцев
  • Первые 3 месяца 0 рублей
  • Обучение на практике
  • Доступ к курсу навсегда

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

  • Junior-разработчикам

Вы освоите язык Go на продвинутом уровне. Расширите компетенции, повысите уровень до Middle и станете более востребованным специалистом.

  • Middle-разработчикам

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

 

Чему вы научитесь

  1. Разрабатывать веб-приложения с микросервисной архитектурой
  2. Уменьшать время отклика от сервера
  3. Разворачивать приложения на Go в Docker
  4. Работать с многопоточностью и конкурентностью
  5. Работать с сетевыми протоколами
  6. Тестировать приложения
  7. Проектировать приложения и API
  8. Понимать принципы взаимодействия приложений на Go с операционными системами *nix
  9. Использовать алгоритмы и паттерны

 

Акция!

Всем студентам курса на время обучения мы даём бесплатный доступ к специализированной IDE (среде разработки) от компании JetBrains — GoLand.
Умная кросс-платформенная IDE.

 

Как проходит обучение

  1. Изучаете тему

В курсе — практические видеоуроки.

  1. Выполняете задания

В том темпе, в котором вам удобно.

  1. Работаете с преподавателем

Закрепляете знания и исправляете ошибки.

  1. Защищаете дипломную работу

И дополняете ею своё портфолио.

 

Программа

Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.

  • 37 тематических модулей
  • 180 онлайн-уроков
  1. Основной курс
    1. Особенности языка программирования Go.
    2. Go как ООП язык программирования.
    3. TDD как способ разработки.
    4. Примитивы синхронизации в Go.
    5. Правила хорошего кода в Go.
    6. Protobuf как способ описания API.
    7. Валидация входящих данных в API.
    8. От Protobuf к REST.
    9. Базовые принципы проектирования реляционных БД.
    10. Планировщик запроса и индексы.
    11. Инструмент миграций.
    12. Генерация Go-кода по существующей схеме БД.
    13. Go и ORM.
    14. Go и чистый SQL.
    15. Работа с TCP и UDP на уровне net/conn.
    16. Принципы организации сложного консольного приложения.
    17. Подходы к корректному завершению работы (graceful shutdown) приложения на Go.
    18. Тесты на производительность (benchmarks) в Go.
    19. Работа с гонками данных (data races) в Go.
    20. Возможности компиляции приложения на Go.
    21. Go и Docker.
  2. Система контроля версий Git
    1. Версии программного кода.
    2. Установка Git.
    3. Индекс и частичные коммиты.
    4. Сравнение версий.
    5. Отмена изменений и откат версий.
    6. Репозитории и коллективная работа.
    7. Ветки: создание и управление.
    8. Слияние и разрешение конфликтов.
    9. Полезные инструменты.
    10. Правила работы с Git.
    11. Бонусный урок: публикация проекта на github.
  3. Работа в командной строке Bash (Linux)
    1. Что такое командная строка.
    2. Работа с файлами и папками.
    3. Авторизация и права доступа.
    4. Процессы, сервисы и задачи.
    5. Конфигурация и инструменты.
    6. Написание скриптов на Bash.
    7. Использование bash на примере настройки веб-сервера.
  4. Язык запросов SQL
    1. Введение.
    2. Структура БД, запрос DESCRIBE.
    3. Выбор и фильтрация данных, запрос SELECT.
    4. Функции и выражения, агрегация данных.
    5. Отношения и соединение таблиц: JOIN.
    6. Группировка.
    7. Модификация данных.
    8. Подзапросы.
    9. Объявление и изменение структуры данных.
  5. Дипломный проект. Картографический движок

Вы создадите сервис для получения данных о маршрутах с функциями рендеринга через OSRM, сохранения и отдачи данных пользователю.

 

Ваше резюме после обучения

Профессиональные навыки:

  • Разработка приложений на Go
  • Знание алгоритмов и паттернов проектирования
  • Работа с сетевыми протоколам
  • Проектирование приложений
  • Применение микросервисной архитектуры
  • Тестирование приложений
  • Работа в Docker
  • Оптимизация баз данных
  • Многопоточная и конкурентная разработка

Диплом Skillbox

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

Стоимость: разная стоимость
Подробнее о курсе →
Курс «Let`s GO! Учимся кодить на Golang за 3 дня» — Skillbox

Вы узнаете, почему язык 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» — GeekBrains

Научитесь создавать приложения, безопасные и масштабируемые сервисы на современном языке от 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 помогут создать конкурентоспособное резюме, а вы выложите его на сайт для поиска работы.

Предложим подходящие вакансии

Мы найдем для вас лучшие предложения о работе. Ваша задача — откликаться на них и участвовать в поиске идеального места работы.

Поможем пройти собеседование

Расскажем, какие вопросы чаще всего задают и какие знания проверяют. Поделимся рекомендациями, что говорить и как вести себя на интервью.

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

Стоимость: Рассрочка до 36 месяцев - от 3 009 ₽ / мес
Подробнее о курсе →
Курс «Изучаем go программирование на golang learn go» — Be Geek
  • [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
Стоимость: бесплатно
Курс «ПРОФЕССИЯ Backend-разработчик на Go» — SkillFactory

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

Мышление программиста

Мы поможем развить «мышление программиста»: вы начнете думать алгоритмически и станете эффективно раскладывать в уме даже сложные задачи

Теория и практика

Обучение Go-разработчиков состоит из сотен маленьких шагов и ориентировано на закрепление практических навыков. У нас есть тренажеры, мини-проекты, интерактивные вебинары, сквозные проекты и командный проект

Ментор и сообщество

Вы не останетесь один на один с новым. Мы организуем Q&A-сессии с ведущими экспертами, персональную обратную связь по всем вопросам от менторов и поддержку кураторов, которые помогут вам дойти до конца

Как проходит обучение на курсе по GO

Освойте профессию backend-разработчика на Go за 12 месяцев

Стоимость: Рассрочка на 36 месяцев - 2 111 ₽ / мес
Подробнее о курсе →
Курс «Стань GO-разработчиком» — ООО «ФРОО»

Пиши производительные веб-сервисы с простым кодом за пару дней. Освой профессию на уровне 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

Курс Go разработчик позволяет окунуться в мир серверной разработки, понять как все устроено изнутри.

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

Твой результат в
конце курса

1

Изучишь язык GO, все его особенности и конструкции

2

Научишься создавать серверные приложения быстро и эффективно

3

Научишься писать качественный и лаконичный код, который легко читать и поддерживать

4

Научишься выбирать и правильно применять сервисную архитектуру

5

Научишься выбирать и использовать базы данных

6

Научишься полному жизненному циклу разработки CI/CD от момента написания кода до релиза

 

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

124 академических часа
Составлена практикующими разработчиками для новичков в IT. Это лучший курс по Go разработке для начинающих.

  1. Основы Computer Science
  • Введение в программирование
  • Классификация языков программирования
  • Парадигмы программирования
  • Устройство архитектуры компьютера и сетей
  • Работа операционных систем
  • Работа интернета, протоколы (TCP/IP, HTTP, FTP, SMTP, POP)
  1. Работа с Git
  • Введение в Git
  • Установка и настройка Git
  • Работа с командами Git
  • Git Flow
  • Сложные операции
  • Обзор основных репозиториев (Github, Gitlab, Bitbucket)
  1. Основы Linux и работа с ним
  • Знакомство и установка
  • Работа в графическом и консольном режим
  • Пользователи. Управление пользователями и группам
  • Загрузка ОС и процесс
  • Устройство файловой системы Linux.
  • Понятия файла и каталога
  • Веб-сервисы
  1. Введение в экосистему Golang
  • Обзор инструментов разработки
  • Работа с плейграундом и основы тулчейна
  • Настройка окружения
  • Переменные окружения Golan
  • Работа с консолью/ID
  • Менеджер зависимостей Go Modules
  1. Основы Go (Часть 1)
  • История возникновения языка Go
  • Основные особенности языка Go
  • Базовые типы данных
  • Переменные
  • Основные синтаксические конструкции (ветвления, циклы)
  1. Основы Go (Часть 2)
  • Функции
  • Массивы, слайсы, мапы (array, slice, map)
  • Структуры (struct)
  • Интерфейсы (interface)
  • Объектная модель GO
  1. Алгоритмы и структура данных в Go
  • Базовые алгоритмы
  • Простые и сложные алгоритмы
  • О-нотация
  • Массив, список, очередь, стек. Представление в памяти
  • Алгоритмы сортировки. Деревья, хэш-функция
  1. Асинхронная модель Go (Часть 1)
  • Потоки и процессы ОС
  • Отличие concurrency от многопоточности
  • Методы обработки запросов и плюсы неблокирующего подхода
  • Горутины
  • Каналы
  • Мультиплексирование каналов (select)
  • Таймеры и таймауты
  1. Асинхронная модель Go (Часть 2)
  • Асинхронное получение данных
  • Пакет context и отмена выполнения
  • Пул воркеров
  • Механизмы синхронизации (каналы, sync.Waitgroup, sync.Mutex, sync.Atomic)
  • Race condition
  • Ограничение по ресурсам
  1. Работа с динамическими данными и производительность
  • Работы с JSON
  • Нюансы работы с JSON
  • Работа с XML
  • Pool
  • Кодогенерация
  • Пакет reflect
  1. Работа с сетью. Веб приложения, сервисы
  • Протокол HTTP/HTTPS Web-приложения
  • Обработка пользовательского ввода
  • Конфигурирование
  • Логирование. Обработка ошибок
  • HTTP-запросы в сторонние сервисы
  1. Работа с текстом, файловая система
  • Кодировки
  • Работа с файлами
  • Основные функции работы с файлами и строками
  • Работа с внешними данными: JSON, CSV, Excel
  • Буффер данных
  1. Базы данных (Часть 1)
  • Классификация БД
  • Реляционные базы данных
  • Язык запросов SQL
  • ORM
  • Проектирование баз данных
  1. Базы данных (Часть 2)
  • Пакет database/sql
  • GORM
  • SQL-injection
  • Memcached
  • Redis
  • Document storage (MongoDB)
  1. Базы данных. Практика (Часть 3)
  • Взаимодействие GO с SQL-решениями на примере PostgreSQL
  • Взаимодействие GO с SQL-решениями на примере Redis
  • Взаимодействие GO с SQ-решениями на примере Mongo
  • Взаимодействие GO с SQL-решениями на примере Neo4J
  1. Тестирование
  • Разновидности тестов
  • Unit-тестирование в GO
  • Mock, существующие пакеты для моков
  • End-2-end тесты
  • Бенчмарки в GO (тестирование производительности)
  1. Golang concurrency паттерны
  • Базовые паттерны (waiting for task, waiting for result, waiting or finish)
  • Pooling pattern
  • Fan In/Fan out
  • Drop pattern
  • Cancelletion pattern
  • Context
  • Failure Detection
  1. Профилирование и работа с памятью
  • Профилирование
  • Escape-анализ
  • Модель памяти GO
  • Области памяти в GO (heap, stack)
  • Сборка мусора
  1. Микросервисные приложения на Go (Часть 1)
  • Что такое микросервис, плюсы и минусы
  • Монолит и микросервисы
  • Создание REST API
  • Сетевое взаимодействие
  • Проектирование REST API
  • Взаимодействие с базой данных
  • Создание API с помощью OpenAPI. Тестирование API
  1. Микросервисные приложения на Go (Часть 2)
  • Что такое RPC
  • net/rpc и формат gob
  • net/http/jsonrpc
  • Формат сериализации protobuf
  • Продвинутая работа с gRPC
  • Стриминг сообщений
  • gRPC-gateway - получаем доступ к grpc-сервисам через HTTP
  1. Лучшие практики разработки Go-приложений
  • Принципы структурирования Go-приложений
  • Обработка сигналов
  • Логирование
  • Конфигурация приложения
  • Линтеры
  • Сборка приложений и автоматизация повторяющихся действий (Makefile)
  • Шаблонизирование и автоматизация создания новых сервисов
  1. Очереди и брокеры сообщений

  • Принцип работы месседж брокеров
  • RabbitMQ: установка и принципы работы
  • Постановка задач через API в RabbitMQ
  • Обработка задач поисковым роботом из RabbitMQ
  • Apache Kafka: отличия и принцип работы
  1. Продвинутые особенности языка GO
  • Reflect
  • Unsafe
  • Go generate
  • Низкоуровневое программирование (cgo)
  1. Архитектурные практики
  • Шаблоны: порождающие, структурные, поведенческие
  • Принципы SOLID, KISS, DRY
  • Применение шаблонов проектирования в проекте

25 - 27. DevOps-практики

  • Docker
  • Kubernetes
  • Мониторинг и анализ логов (Console, Graylog, ELK)
  • Развёртывание CI/CD-пайплайна (Jenkins, CircleCI)
  • Opentracing

28 - 29. Закрепление пройденного материала

  • Повторение изученного материала
  1. Хакатон
Стоимость: 54700 RUB
Подробнее о курсе →
Курс «Golang для начинающих» — Golangify
  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. Целые числа integer в 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 — сериализация и десериализация
Стоимость: бесплатно
Подробнее о курсе →
Курс «Разработка веб-сервисов на Go - основы языка» — Coursera

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
  • Изучение 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

В этом курсе по программированию на языке Golang (Go) вы познакомитесь с основными возможностями этого языка. Например, циклы, срезы, горутины, работа с JSON и многое другое. Нельзя научиться программировать без практики, поэтому вам будет предложено довольно много задач разного уровня, в которых вы сможете потренировать своё умение программировать. Ваши решения будут проверяться автоматической системой, поэтому вы будете получать быструю обратную связь. Преподаватели постараются отвечать на любые вопросы в комментариях, поэтому если у вас будут возникать проблемы, то их всегда можно обсудить с преподавателями и однокурсниками в комментариях к задачам.

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

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

Введение в основы

  1. О курсе
  2. О Go
  3. Первая программа
  4. Типы данных
  5. Переменные и ариф. операции, ввод/вывод данных
  6. Комментарии
  7. Константы
  8. Условные выражения
  9. Условные конструкции
  10. Циклы
  11. Форматированный вывод
  12. Массивы и срезы
  13. Решение задач

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

  1. Функции
  2. Пакеты
  3. Указатели
  4. Структуры
  5. Строки
  6. Обработка ошибок
  7. Решение задач

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

  1. Отображения (map)
  2. Преобразование типов данных
  3. Анонимные функции
  4. Интерфейсы
  5. Работа с файлами
  6. JSON
  7. Работа с датой и временем
  8. Параллелизм ч.1
  9. Параллелизм ч.2
  10. Заключение
Стоимость: бесплатно
Подробнее о курсе →
Курс «Go (Golang) для веб - разработки» — «Специалист» при МГТУ им.Н.Э.Баумана

Go (Golang) – язык программирования, разработанный Google. Быстрый и компилируемый Go позволяет создавать производительные веб-сервисы в сжатые сроки. А его статическая типизация сокращает число ошибок и упрощает чтение кода. C помощью Go написаны проекты Docker, InfluxDB и Kubernetes.

У Go простой синтаксис: его с легкостью осваивают и новички, и специалисты, привыкшие к другим языкам программирования. Это перспективный молодой язык, востребованный на мировом рынке труда. По всей России тысячи компаний ищут разработчиков со знанием Go, многие вакансии доступны удаленно. Средняя заработная плата составляет около 100 тыс. руб., а на позициях Middle и Senior достигает 200-250 тыс. руб.

Обучение в центре «Специалист» построено на практике. Под руководством опытного преподавателя Вы научитесь создавать веб-приложения, переносить их на сервер, проектировать REST API при помощи Go.

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

Стоимость: 64 490 руб.
Подробнее о курсе →
Курс «Быстрый переход на GO» — School Ozon

Приглашаем 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

Мы не конкурируем с крупными онлайн-школами, цель которых пробежаться «галопом по Европам» и срубить с тебя денег. Наша цель - прокачать тебя путём углублённого изучения конкретной темы с упором на практику и реальный опыт.

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

Мы не подойдём тем, кто никогда не разрабатывал ни на одном языке программирования или 

едва знаком с Go. Но если ты джуниор/миддл Golang-разработчик, выпускник онлайн-школы или сеньор-помидор, желающий проверить свои силы, то welcome!

 

Курсы ниже – динамические: они запускаются периодически, размер потока ограничен,

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

 

Advanced concurrency в Go

Данный курс посвящён одной из ключевых особенностей языка.

Пишем сервис на Go

От А до Я разберём написание сервисов в Go на примере чат-сервера.

Погружаемся в unsafe и CGO

После курса вы сможете контрибьютить в библиотеки, использующие под собой Си API.

 

Advanced SQL в Go

Поговорим о важной составляющей любого приложения - работе с хранилищем.

Курсы ниже – статические: домашки проверяются тестирующей системой,

нет ревью, нет дедлайнов и нет учебной группы.

 

Продвинутая работа с ошибками в Go

И опытные разработчики не всегда понимают всю магию ошибок в Go.

Готовимся к собеседованию

Рассмотрим типовые задачи и вопросы разработчику Golang. Отсобеседуем желающих ?

Краш-курс по профилированию в Go

Учимся искать узкие места и писать эффективный код.

Всё о модулях в Go

Разберём до мелочей концепцию модулей в Go.

Стоимость: разная стоимость
Подробнее о курсе →
Курс «Golang Basic» — ITEA

Интерактивные курсы по Golang
проходят по такому плану:

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

Онлайн-занятия

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

Домашнее задание

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

Работа с ментором

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

Курсовой проект

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

 

Полный план обучения от и до:

  1. Введение
  • Что такое Go
  • История
  • В чем преимущество Go над другими языками
  • Какие задачи язык Go позволяет решать очень эффективно
  • Современность языка Go
  1. Основы Git
  2. Настройка среды Go
  • Установка Go
  • Установка дополнительных инструментов для эффективной работы с языком Go
  • Разбор основных утилит для работы с Go
  • Быстрая настройка среды Go на примере Visual Studio Code
  • Первая программа
  • Самый простой Web Server на Go за 1 минуту
  1. Основы
  • Типы данных
  • Переменные
  • Константы
  • Указатели
  • Пакеты и импорт
  • Область видимости
  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. Обзор стандартной библиотеки
Стоимость: 22800 RUB
Подробнее о курсе →
Курс «ВИДЕО УРОКИ GOLANG» — ITVDN

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

Курс “Golang” призван обучить новичков основам языка Go. После прохождения курса вы будете знать основные понятия и конструкции языка, правильно писать код на Go, а также уметь использовать инструментарий, описанный в курсе.

Чему вы научитесь с помощью данного видео курса:

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

 

  • Введение. Основные понятия языка, стиль написания, пакеты и типы.
  • Первая программа. Утилиты Go.
  • Массивы, срезы, словари, оператор range.
  • Структуры и интерфейсы. Интерфейсный тип данных.
  • Многопоточность. Горутины, каналы, оператор select.
  • Пакеты. GoDoc
  • IO, пакет bytes, буферы.
  • Тестирование. Измерение производительности функций.
Стоимость: 9.99 USD
Подробнее о курсе →
Курс «Golang для начинающих. Подробные уроки» — Udemy

Простыми словами, разберем как работать на языке программирования Go. Его особенности и тонкости


Материалы курса

2 разделов • 24 лекций • Общая продолжительность 5 ч 22 мин

Свернуть все разделы

Введение 17 лекции • 2 ч 56 мин

  • Введение
  • Основы языка
  • Переменные
  • Переменные среды. Редактор кода
  • Получение данных от пользователя
  • Условные операторы
  • Преобразование строки в число
  • Область видимости
  • Генерация случайного числа
  • Преобразование строки в int
  • Циклы
  • массивы
  • Чтение данных из файла
  • Высчитываем среднее значение
  • Сегменты
  • Карты / map
  • Структуры

Продвинутая часть 7 лекции • 2 ч 27 мин

  • Определяемые типы
  • Инкапсуляция
  • Интерфейсы
  • Рекурсия
  • Exception в Go
  • Многопоточность . горутины
  • Создание Веб-сервиса

Требования

  • Желательно знать основы (теорию) программирования.
  • Понимать, что такое переменная, что такое условные операторы и .тд.
Стоимость: 1 090 руб.
Подробнее о курсе →
Курс «Golang Developer. Professional» — Otus
  • От основ языка до создания собственного микросервиса на 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. Итоговое занятие

Стоимость: 60 000 ₽
Подробнее о курсе →

Перейти к курсу ↑