Go-разработчик: кто это, обязанности, зарплаты и как им стать в 2024 году. Обзор профессии.

Обучение
Содержание

Кто такой Go-разработчик?

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

Что делают Go-разработчики и чем занимаются?

Обязанности на примере одной из вакансий:

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

Что должен знать и уметь Go-разработчик? 

Требования к Go-разработчикам:

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

Востребованность и зарплаты Go-разработчиков

На сайте поиска работы в данный момент открыто 539 вакансий, с каждым месяцем спрос на Go-разработчиков растет.

Количество вакансий с указанной зарплатой Go-разработчика по всей России:

  • от 110 000 руб. – 120
  • от 180 000 руб. – 104
  • от 250 000 руб. – 83
  • от 315 000 руб. – 48
  • от 385 000 руб. – 15

Вакансий с указанным уровнем дохода по Москве:

  • от 165 000 руб. – 67
  • от 250 000 руб. – 58
  • от 335 000 руб. – 29
  • от 425 000 руб. – 6
  • от 510 000 руб. – 4

Вакансий с указанным уровнем дохода по Санкт-Петербургу:

  • от 155 000 руб. – 14
  • от 205 000 руб. – 13
  • от 250 000 руб. – 12
  • от 300 000 руб. – 8
  • от 350 000 руб. – 2

Как стать Go-разработчиком и где учиться?

Варианты обучения для Go-разработчика с нуля:

  • Самостоятельное обучение – всевозможные видео на YouTube, книги, форумы, самоучители и т.д. Плюсы – дешево или очень недорого. Минусы – нет системности, самостоятельное обучение может оказаться неэффективным, полученные навыки могут оказаться невостребованными у работодателя;
  • Онлайн-обучение. Пройти курс можно на одной из образовательных платформ. Такие курсы рассчитаны на людей без особой подготовки, поэтому подойдут большинству людей. Обычно упор в онлайн-обучении делается на практику – это позволяет быстро пополнить портфолио и устроиться на работу сразу после обучения.

Ниже сделали обзор 15+ лучших онлайн-курсов.

15+ лучших курсов для обучения Go-разработчика: подробный обзор

Стоимость: Рассрочка на 24 месяца — 5 548 ₽ / мес

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

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

Стоимость: Рассрочка на 36 месяцев — от 4 828 ₽ / мес

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

  • Длительность — Обучение 12 месяцев
  • Результат — 5 проектов в портфолио
  • Помощь — С трудоустройством после обучения
  • Формат обучения — Онлайн, 2 раза в неделю

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

Новичкам

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

Разработчикам с опытом

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

 

Станьте Go-разработчиком с нуля

Выбирая обучение GeekBrains, вы попадаете в образовательную экосистему. Это практически единственная возможность освоить современную и востребованную специальность и получить уверенность в своём будущем.

Участвуйте в вебинарах и получайте обратную связь

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

Лучшие практики

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

Инфраструктура для реальных проектов

Обучение проходит в условиях, близких к коммерческой разработке. Вы будете работать на удаленном облачном кластере Kubernetes от нашего партнера Mail.ru Cloud Solutions.

Командная разработка

Поучаствуете в командных проектах и научитесь работать по Agile. Познакомитесь с методологией DevOps и инструментами непрерывной интеграции, доставки и развертывания кода (CI/CD).

Как вы найдёте работу с помощью GeekBrains

 

Дадим необходимые знания

Уже за первые полгода вы получите достаточно навыков и знаний, чтобы найти работу на позицию Junior.

Вместе оформим резюме

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

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

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

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

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

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

2 недели, 8 уроков

HTML/CSS. Интерактивный курс

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

  • Основные понятия в веб-разработке
  • Основы языка разметки документов HTML
  • Основы языка оформления стилей документа CSS
  • Псевдоклассы и псевдоэлементы, табличная верстка
  • Формирование блочной модели, блочная верстка
  • Работа с макетом дизайна в формате PSD
  • Разметка сайта и знакомство с Bootstrap
  • Стандарты web и вспомогательные инструменты

Видео-курс

Базовый видеокурс по Git

Познакомитесь с Git — системой контроля версий, которую программисты активно используют в учебных и коммерческих проектах.

  • Введение в Git
  • Установка и настройка Git
  • Основные команды терминала
  • Работа с репозиториями
  • Управление файлами репозитория
  • История изменений
  • Работа с ветками репозитория
  • Публикация репозитория
  • Слияния веток
  • Управление версиями
  • Создание pull-request
  • Сложные операции
  • Работа с Fork-репозиториями

1 месяц, 7 уроков

Базовый курс Javascript

Познакомитесь с программированием на JavaScript, чтобы создавать простые веб-страницы.

  • Основы языка JavaScript
  • Основные операторы
  • Циклы, массивы, структуры данных
  • Объекты
  • Введение в DOM
  • Обработка событий
  • Урок-практикум
  • Анонимные функции, замыкания

1 месяц, 8 уроков

Linux. Рабочая станция 

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

  • Установка операционной системы Linux 
  • Настройка интерфейса командной строки
  • Управление пользователями и группами
  • Процессы, загрузка операционной системы 
  • Устройство файловой системы. Файл и каталог
  • Введение в скрипты bash. Планировщики задач crontab и at
  • Управление пакетами и репозиториями. Основы сетевой безопасности
  • Введение в docker

1 месяц, 9 уроков

Go. Уровень 1

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

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

1 месяц, 8 уроков

Go. Уровень 2

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

  • Продвинутая генерация и обработка ошибок и работа с panic. Отложенный вызов функций
  • Кросс-компиляция в Go и более глубокое погружение в тулчейн
  • Работа с внешними зависимостями
  • Concurrency, часть 1. Горутины и каналы
  • Concurrency, часть 2. Основы типов данных из пакета sync
  • Concurrency, часть 3. Планировщик горутин, race condition и проверка на его наличие
  • Рефлексия и кодогенерация в языке Go.
  • Основы работы со стандартной библиотекой Go. Подготовка к курсовому проекту

1 месяц, 8 уроков

Лучшие практики разработки Go-приложений

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

  • Обработка ошибок сторонних сервисов и сигналов операционной системы
  • Логирование
  • Продвинутые практики тестирования
  • Консультация
  • Принципы структурирования Go-приложений
  • Линтеры: продвинутый уровень
  • Сборка приложений и автоматизация повторяющихся действий

1 месяц, 10 уроков

Backend-разработка. Уровень 1

Научитесь разрабатывать приложения на Go, проектировать и поддерживать их бэкенд. В конце курса создадите проект — сокращатель ссылок. 

  • Основы сетевого взаимодействия
  • HTTP и проектирование RESTful API
  • Реализация и тестирование HTTP-хендлеров
  • Выбор роутера и библиотек. Middleware. Контекст запроса.
  • Практика, часть 1. Реализация сервера
  • Практика, часть 2. Реализация веб-приложения
  • Особенности докеризации Go-приложений.
  • Сборка и развёртывание приложения. CI/CD

1 месяц, 12 уроков

Базы данных

Узнаете, как работают реляционные базы данных, сможете создавать свои, модифицировать их структуру и управлять данными с помощью SQL.

  • Введение в теорию реляционных баз данных
  • Базовые понятия структуры базы данных
  • Определение данных, базовые операции с данными
  • Выборка данных, агрегация данных
  • Вложенные запросы и объединение UNION
  • Объединение JOIN
  • Расширенные возможности SQL
  • Оконные функции, индексы, работа в графическом клиенте

3 недели, 6 уроков

Postgres для Go-разработчиков

Попробуете себя в роли администратора баз данных, научитесь работать с системой управления PostgreSQL и внедрять её в свои проекты. 

  • Начало работы с PostgreSQL: базовые инструменты, сравнение с другими СУБД
  • Работа со структурой базы, CTE, анализ требований при поиске данных
  • Анализ выполнения запросов и индексация данных
  • Использование PostgreSQL из Go-приложения
  • Структура приложения, тестирование, миграции, ORM
  • Уровни изоляции, конкурентный доступ, очистка, репликация

2 недели, 4 урока

Наблюдаемость (observability) и оптимизация

Узнаете, как анализировать производительность программ и оптимизировать их с помощью профилирования, трейсинга и кеширования. 

  • In-memory-хранилища. Кеширование
  • Профилирование и оптимизация приложений
  • Отправка метрик, часть 1. Мониторинг сервиса
  • Отправка метрик, часть 2. Трейсинг

1 месяц, 8 уроков

Backend-разработка. Уровень 2

Научитесь разворачивать приложения в Kubernetes и управлять ими, познакомитесь с различными API-протоколами и принципами проектирования микросервисов. 

  • Принципы взаимодействия микросервисов
  • JSON-RPC и gRPC
  • GraphQL
  • Запуск Go-приложений в Kubernetes. Конфигурирование. Мониторинг. Отладка.
  • Kubernetes-кластер
  • Очереди
  • Функциональное тестирование/BDD
  • Основы безопасности Go-приложений

2 недели, 4 урока

Подготовка к собеседованию Go-разработчика

Создадите привлекательное резюме и подготовитесь к техническому собеседованию. Сможете собрать собственное GitHub-портфолио из своих проектов. 

  • Создание GitHub-портфолио
  • Гибкие навыки Go-разработчика
  • Прохождение технического собеседования
  • Консультация по портфолио

2 месяца, 8 уроков

Командная разработка микросервисного проекта

Узнаете, как вести разработку в быстро изменяющейся среде: научитесь работать с большими задачами от заказчиков, разбирать их на части правильно приоритизировать. Реализуете собственные микросервисы в командной работе. 

  • Совместная работа по проектированию сервисов. RFC и дизайн-документы
  • Практики совместной работы с Git. Код-ревью
  • Совместное тестирование и развёртывание сервисов
  • Ответственность разработчика. Чек-листы готовности к продакшену
  • Практика oncall-дежурств. Инциденты и постмортемы
  • Три консультации по вашему проекту

Вместе мы позаботимся о вашем профессиональном будущем

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

Минимум 70% программы составляют вебинары — вы сможете задать вопросы, получить обратную связь и персональную помощь по своим проектам от экспертов.

HR-менеджер

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

Личный наставник

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

Аккаунт-менеджер

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

Специалисты техподдержки

Помогут решить сложности с личным кабинетом или загрузкой занятий.

 

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

Мои навыки:

  • Разработка на языке Go;

    • Проектирование микросервисной архитектуры веб-приложений;

    • Разработка и конфигурация распределенных приложений для развертывания в Kubernetes-кластере;

    • Использование реляционных и нереляционных баз данных;

    • Написание поддерживаемого и тестируемого кода;

    • Работа в кросс-функциональной команде;

    • Понимание принципов CI/CD и опыт использования инструментов для реализации этих принципов;

 

Портфолио из 5-ти проектов

  • Парсер
  • Backend для сервиса по сокращению ссылок
  • Клиент для работы с сетью
  • Веб-сервер с JSON API, GraphQL и gRPC
  • Командный проект

 

Технологии, которые вы освоите

  • Go
  • JavaScript
  • HTML
  • CSS
  • Git
  • PostgreSQL
  • MongoDB
  • Redis
  • Kafka
  • Linux
  • k8s
  • Docker
  • Prometheus
  • OpenTelemetry
  • Open API
  • REST API
  • GraphQL
  • gRPC

 

Удостоверение о повышении квалификации

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

Стоимость: Рассрочка на 36 месяцев — 2 111 ₽ / мес

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

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

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

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

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

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

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

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

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

  • 20 часов интерактивных вебинаров
  • 100 задач на алгоритмы
  • 50 написанных программ

Основы computer science и Go

1 блок

4,5 месяца

Вводный блок

  • Ключевые понятия в IT области
  • Классификация языков программирования
  • Современные технологии и работа интернета
  • Архитектура компьютера и операционных систем

 

Основы языка Go

  • Установка окружения, компиляция и запуск программ на Go, основные синтаксические конструкции (пакеты, переменные и типы данных, константы, введение в строки)
  • Ветвления, циклы
  • Функции и методы, структуры
  • Обработка ошибок и паник, интерфейсы, рекурсия
  • Массивы, словари, слайсы, строки, руны и слайсы байт

Алгоритмы и структуры данных на Go

  • Введение, сложность алгоритмов и О-нотации
  • Массив, список, очередь, стек. Представление в памяти
  • Алгоритмы сортировки
  • Деревья, графы, алгоритмы поиска
  • Хэш-таблицы, Хэш-мапы, Хэш-функции

Основы Многопоточности

  • Понятие процесса и потока в операционной системе
  • Горутины и базовая синхронизация
  • Синхронизация с использованием атомиков и каналов
  • Wait group, основные шаблоны использования горутин

Выполнение проекта: собрать пайплайн обработки данных

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

2 блок

4,5 месяца

Основы Linux

  • Установка Linux, работа с графической оболочкой Linux, работа с консолью
  • Управление пользователями, работа с файлами, процессы

 

Знакомство с Git

  • Основы систем контроля версий, инициализация репозитория, синхронизация изменений, запись изменений в репозиторий
  • Ветвление, Git Flow

 

Docker

  • Основы Docker, Запуск приложений в контейнере

 

Базы данных и SQL

  • Реляционные базы данных, проектирование базы данных
  • Язык SQL, Транзакции
  • Индексы, триггеры, представления, хранимые процедуры
  • Работа с sql базой данных в Go

 

Базы данных NoSql

  • Документные базы данных, отличие от SQL
  • Введение в Mongo DB и Redis

 

В результате вы:

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

Углубленное изучение GO

  • Модули (сборка, Proxy), профилирование
  • Регулярные выражения, работа с вводом/выводом, работа с файлами
  • Протокол gRPC, его работа с GO
  • Логирование, конфигурация

 

  • Тестирование
  • Планировщик горутин, память и сборка мусора, race detector

Выполнение проекта: разработка новостного агрегатора

Создание API Gateway для агрегатора новостей на Go

3 блок

2,5 месяца

Основы архитектуры

  • Принципы чистой архитектуры, Основы DDD, Принципы SOLID, KISS, DRY
  • Понятие 12-факторного приложения, шаблоны проектирования

 

Создание Rest API Gateway

  • Монолит и микросервисы
  • JSON, проектирование Rest API
  • Создание API с помощью OpenAPI
  • Реализация кэша с использованием Redis

 

  • Тестирование API

Архитектура и DevOps для Golang

4 блок

3 недели

Очереди и брокеры сообщений

  • RabbitMQ: установка и принципы работы, топики, сообщения, роутинг
  • Асинхронный транспорт между агрегатором новостей и api gateway

 

DevOps для Golang

5 блок

2 недели

Devops

  • Основы Kubernetes
  • Основы Continuous integration/delivery

 

Что ждет тебя на курсе

Уроки и вебинары

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

Тренажёры

3 тренажёра по инструментам разработчика для отработки навыков: алгоритмы, Golang, SQL.

Проекты в портфолио

3 вида проектов: мини-проекты по темам для закрепления навыка, сквозные полноценные проекты по разработке, командный проект с тимлидом

Продвинутые навыки

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

Ты станешь крутым Go-разработчиком

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

  • Наша цель —трансформация твоей карьеры
  • Тренажеры
  • Проекты
  • Аналитика
  • Soft Skills
  • Решение нестандартных задач
  • В отличие от большинства онлайн-школ мы используем модель фундаментального образования.
  • Ты получишь подготовку не только в области практических знаний, но и базу, новые парадигмы мышления и сообщество однокурсников и преподавателей — то, чем там ценны офлайн-вузы университеты вроде Оксфорда, Гарварда, МГУ и др.

Вы гарантированно получите

  • Помощь кураторов, которые следят за вашим прогрессом и остаются на связи весь курс
  • Ответы на все вопросы, постоянная обратная связь
    от менторов по проделанной работе
  • Поддержку по всем учебным вопросам в течение 1 часа в рабочее время
  • Дружное сообщество, которое общается в Slack. Групповые проекты
    и работа в команде.

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

Backend-разработчик на Go

Я уверенно могу:

— Решать задачи любой сложности с помощью алгоритмов

— Программировать на Golang, ревьюить код

— Искать и исправлять ошибки в своем коде (debugging)

— Разработать приложение с микросервисной архитектурой

— Внедрять devops-практики в процесс разработки

— Спроектировать архитектуру приложения

— Написать API

— Написать серверную логику и настроить взаимодействие с базами данных

  • Научитесь разворачивать приложения в продакшне, настраивать CI/CD и покрывать их тестами
  • Разработаете несколько микросервисов для агрегатора новостей
  • Vectors by Freepik
  • Научитесь разрабатывать надёжные, многопоточные и масштабируемые серверные приложения
  • Освоите лучшие практики программирования на Golang

 

Вакансии от лидеров рынка

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

Вы изучите современный и востребованный язык Go на продвинутом уровне и сможете трудоустроиться на позицию 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

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

  • От основ языка до создания собственного микросервиса на 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. Итоговое занятие

Стоимость: нет информации

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

В этом курсе мы разберемся со всеми конструкциями и аспектами языка, научимся асинхроному программированию и микросервисной архитектуре. Сделаем упор на разработку, пощупаем практически все типы баз данных и научимся доставлять готовое решение в 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. Хакатон
Стоимость: бесплатно

Вы узнаете, почему язык 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] Модуль 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
Стоимость: бесплатно
  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 (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 (Создание веб сайта) / #1 – Введение в язык Go
  • #2 – Отслеживание URL адресов в языке Go
  • #3 – Создание структур (модели данных)
  • #4 – Работа с HTML шаблонами в Go
  • #5 – Подключение MySQL к Golang проекту
  • #6 – Новостной сайт. Главные настройки
  • #7 – Добавление данных через сайт
  • #8 – Динамические страницы для отображения статей
  • #9 – Публикация Golang проекта на сервер

План курса

За курс мы с вами с нуля построим небольшой веб сайт, написанный на основе языка Golang и сопутствующих технологий по типу: HTML, CSS и JavaScript.

 

Перед началом курса мы рекомендуем вам ознакомится с языками разметки HTML и CSS.

Стоимость: бесплатно

В этом курсе по программированию на языке 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) – язык программирования, разработанный Google. Быстрый и компилируемый Go позволяет создавать производительные веб-сервисы в сжатые сроки. А его статическая типизация сокращает число ошибок и упрощает чтение кода. C помощью Go написаны проекты Docker, InfluxDB и Kubernetes.

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

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

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

Стоимость: нет информации

Приглашаем 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
Стоимость: разная стоимость

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

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

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

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

 

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

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

 

Advanced concurrency в Go

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

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

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

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

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

 

Advanced SQL в Go

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

 

  • Введение. Основные понятия языка, стиль написания, пакеты и типы.
  • Первая программа. Утилиты Go.
  • Массивы, срезы, словари, оператор range.
  • Структуры и интерфейсы. Интерфейсный тип данных.
  • Многопоточность. Горутины, каналы, оператор select.
  • Пакеты. GoDoc
  • IO, пакет bytes, буферы.
  • Тестирование. Измерение производительности функций.

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


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

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

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

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

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

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

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

Требования

  • Желательно знать основы (теорию) программирования.
  • Понимать, что такое переменная, что такое условные операторы и .тд.

Преимущества выбора курсов в РоманСеменцов.ру

1. Агрегатор онлайн-курсов


2. Рейтинги онлайн-школ

  • ТОП школ по любым направлениям
  • Дата начала: 2023-01-01
  • Дата окончания: 2023-12-31

3. Актуальное обучение

  • Выбирайте лучшие курсы по отзывам реальных учеников
  • Дата начала: 2023-01-01
  • Дата окончания: 2023-12-31
Онлайн-курсы доступ в любом городе России и СНГ, включая: Новомосковск, Первоуральск, Батайск, Владикавказ, Коломна, Казань, Сочи, Электросталь, Волгоград, Тольятти, Оренбург, Энгельс, Чебоксары, Астрахань, Хабаровск, Владивосток, Салават, Керчь, Брянск, Таганрог, Томск, Черкесск, Ижевск, Хасавюрт, Долгопрудный, Благовещенск, Ульяновск, Тула, Курган, Невинномысск, Москва, Нижнекамск, Саратов, Норильск, Уфа, Чита, Балашиха, Улан-Удэ, Балаково, Воронеж, Вологда, Смоленск, Каменск-Уральский, Кызыл, Тамбов, Новороссийск, Копейск, Великий Новгород, Омск, Южно-Сахалинск, Пятигорск, Златоуст, Ангарск, Белгород, Мурманск, Кемерово, Щёлково, Стерлитамак, Каспийск, Новокузнецк, Северодвинск, Тюмень, Сызрань, Челябинск, Нижний Новгород, Майкоп, Новый Уренгой, Раменское, Липецк, Альметьевск, Братск, Петрозаводск, Назрань, Нефтекамск, Новочеркасск, Новочебоксарск, Рыбинск, Серпухов, Орск, Нижний Тагил, Волжский, Королёв, Екатеринбург, Березники, Череповец, Химки, Курск, Обнинск, Киров, Красноярск, Старый Оскол, Кострома, Ковров, Сыктывкар, Уссурийск, Саранск, Беларусь, Иваново, Сургут, Мытищи, Дзержинск, Кисловодск, Магнитогорск, Орёл, Комсомольск-на-Амуре, Архангельск, Якутск, Люберцы, Ставрополь, Орехово-Зуево, Псков, Севастополь, Бийск, Симферополь, Иркутск, Казахстан, Абакан, Самара, Петропавловск-Камчатский, Барнаул, Домодедово, Новосибирск, Прокопьевск, Владимир, Волгодонск, Нефтеюганск, Миасс, Грозный, Ростов-на-Дону, Армавир, Красногорск, Пенза, Одинцово, Подольск, Набережные Челны, Тверь, Дербент, Санкт-Петербург, Пермь, Йошкар-Ола, Ярославль, Нижневартовск, Калуга, Рубцовск, Минск, Калининград, Махачкала, Шахты, Находка, Краснодар, Рязань

Автор статьи. Ответственный за актуальный контент, текст и редактуру сайта. Эксперт по выбору профессии, курсов и профессий с 2016 года. Делюсь личным практическим опытом.

Оцените автора
Блог Романа Семенцова
Добавить комментарий