Мы используем cookie для стабильной работы сервиса. Подробнее

Go: антикурс без воды, до трудоустройства

ФорматОнлайн
Объём40 занятий
О курсе

Подробнее

Этот курс частично опубликован в бесплатной теоретрической версии | подробнее в последних обновлениях TG канала Это не пересказ справочника по Go — это структурированный путь от базовых концепций до production-ready кода с реальными техническими заданиями. Вы последовательно освоите язык через скринкасты с live-coding, решите десятки задач и выполните практические ТЗ, которые формируют портфолио. Курс включает модули по работе с файлами, JSON, архитектуре приложений, построению REST API, базам данных, конкурентности и микросервисам Ключевая особенность — обязательные персональные встречи и созвоны, где вы прокачаете soft skills: научитесь презентовать код, аргументировать технические решения и проходить код-ревью. Финальный блок — подготовка к собеседованиям: разбор реальных вопросов, составление резюме и чеклист знаний для выхода на рынок труда.
Требования

Что нужно для старта

  • Понимание базовых концепций программирования: переменные, циклы, условия, функции. Если вы знаете разницу между массивом и циклом, понимаете принципы ООП или функционального программирования — этого достаточно. Курс не объясняет, что такое цикл, но детально разбирает все особенности Go: от статической типизации до горутин. Желательна базовая работа с терминалом и Git, но не критично — со всем помогу
Результат

Что вы получите

  • Разрабатывать API-сервисы и микросервисы на Go, применяя идиоматичные паттерны языка
  • Проектировать архитектуру приложений с использованием чистой архитектуры
  • Профессионально обрабатывать ошибки, работать с файлами, JSON, временем и базами данных
  • Применять конкурентные паттерны: горутины, каналы, синхронизацию через mutex и context
  • Уверенно проходить технические собеседования на позицию Go-разработчика, демонстрируя знание архитектурных решений
Аудитория

Для кого этот курс

  • - Разработчики с опытом на других языках (C#, Java, Python, JavaScript), которые хотят освоить Go для backend-разработки
  • - Программисты, понимающие базовые концепции (циклы, функции, типы данных), готовые углубиться в идиоматичный Go
  • - Специалисты, которые устали от теоретических курсов и хотят практический опыт с реальными проектами и code review
  • - Те, кто нацелен на трудоустройство и готов к персональным встречам для отработки коммуникационных навыков
Содержание

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

40 занятий
ТемаЧто внутри
01Первые шаги

- Go-cтарт

02Настройка окружения

- VS Code: установка и первые шаги
- Установка
- Hello GO
- Донастройка VS Code

03Базовые типы и переменные

- Структура Go-проекта: пакеты, модули и организация кода
- Организация кода. Точка входа
- Типы данных в Go: система числовых типов
- Основа базовых типов данных в Go: bool, string, float
- Объявление переменных и форматированный вывод в Go
- Анатомия переменной: память, адреса и размеры в Go
- Правила именования идентификаторов
- Экспорт идентификаторов и соглашения об аббревиатурах
- Комментарии: однострочные, многострочные и документирование
- Статическая типизация и краткое объявление переменных
- Нулевые значения (Zero Values)

04Выражения и константы

- Арифметические операции
- Операторы инкремента/декремента и присваивания
- Побитовые операции
- Пакет fmt: форматированный вывод
- Продвинутое форматирование
- Константы
- Техническое задание #1

05Типы и пользовательский ввод

- Пакет math
- Псевдонимы типов
- Приведение типов
- Пользовательский ввод
- Техническое задание #2
- Практика кода

06Память, указатели и продвинутый ввод данных

- Области видимости, указатели, продвинутый ввод
- Продвинутый ввод и итоги

07Принятие решений: условия и логика

- Операции сравнения
- Логические операторы
- Условные конструкции
- Инициализация переменных в условии
- Техническое задание #3
- Оператор switch
- Практика кода

08Повторение

- Генерация псевдослучайных чисел
- Циклы: базовые структуры управления
- Цикл for
- Дополнение
- Практика кода

09Массивы

- Массивы: основы
- Основы работы с массивами
- Циклы и перебор массивов
- Практические задачи с массивами
- Алгоритмы поиска и обработки данных

10Слайсы

- Введение в слайсы
- Устройство и базовые операции
- Копирование, многомерность и специфика типа
- Практика: числовые срезы
- Практика: строки и «коллекции задач»

11Строки

- Основы строк и внутреннее устройство
- Длина строк, байты и руны
- Перебор строк и работа с символами
- Пакет strings
- Производительность

12Применение строк и срезов

- Техническое задание #5
- Техническое задание #4
- Техническое задание #6

13Коллекции (map и set)

- Ассоциативные массивы
- Множества

14Техническое задание #7

- Постановка задачи
- Базовый интерфейс и структура
- Добавление книг
- Просмотр книг
- Удаление книг
- Поиск
- Добавление пользователей
- Книги кользователя
- Выдача книг

15Функции

- Функции: принцип DRY
- Основы функций
- Резюме

16Критические ситуации

- Ошибки
- Паники
- Выводы

17Техническое задание #8

- Постановка задачи
- Реализация

18Про время

- Основа
- Всё, что нужно знать

19Про файлы и директории

- Основа
- Всё, что нужно знать

20Техническое задание #9

- Постановка задачи
- Начало
- utils
- parse-format
- storage part 1
- storage part 2
- storage part 3
- storage part 4
- service 1
- service 2
- handler 1
- handler 2
- menu
- preRun
- Итоги

21Структуры

- Основы организации данных
- Создание и инициализация
- Инициализация структур и видимость
- Создание структур
- Резюме

22Техническое задание #10

- Постановка задачи
- Реализация

23Про JSON

- Предназначение
- Сериализация
- Десериализация

24Композиция — не наследование

- Дополнение
- Демонстрация
- Техническое задание #11
- Реализация
- Итоги

25Интерфейсы

- Основа
- Замечание
- Погружение

26Практический проект: CRUD-приложение с персистентностью

- Клонирование шаблона и инициализация проекта
- Создание моделей Contact и ContactRelation
- DTO для обновления контакта с указателями
- Валидация полей и доменные ошибки
- Фабричная функция NewContact
- Методы управления тегами контакта
- Управление связями между контактами
- Структура ContactBook и конструктор
- CRUD-операции: создание и чтение контактов
- CRUD-операции: обновление и удаление
- Реализация поиска по имени, телефону и тегам
- Методы работы со связями в ContactBook
- Методы сериализации и десериализации
- Интерфейс Storage для персистентности
- JSONStorage: реализация метода Load
- JSONStorage: атомарная запись файлов
- Тестирование ContactBook и JSONStorage
- Структура CLI и внедрение зависимостей
- Обработчик вывода списка контактов
- Главный цикл и обработка команд CLI
- Точка входа и инициализация приложения
- CLI: создание контакта с вводом данных
- Обработчик выхода с сохранением данных
- Тестирование функции выхода
- Техническое задание #12

27Параллелизм и конкурентность

- Горутины: первые шаги
- Стек вызовов горутин и управление runtime
- Каналы как основы синхронизации горутин
- Буферизованные каналы
- Обработка ошибок в горутинах
- Альтернативная обработка ошибок
- Примитив синхронизации горутин
- Защита общих данных
- Практика
- Deadlock — взаимная блокировка горутин
- Самостоятельная работа

28Не SOLID

- Принципы, которые делают код лучше

29Жизнь без ООП

- Factory
- Builder
- Prototype
- Singleton
- Adapter
- Дополнение

30Управление зависимостями

- Подключение сторонних библиотек

31RESTful API: обзор фундаментальных концепций

- Теория ключевых аспектов
- Есть вопросик...

32SQL и СУБД: SQLite, введение в теорию хранения данных

- Зачем нужны базы данных
- Установка и настройка окружения для работы с SQLite
- Основные концепции структуры базы данных
- Отношения в базе данных
- Что такое SQL и система типов
- Создание таблиц
- Ограничения SQL
- Добавление записей
- Самостоятельная работа: наполнение данными
- Выборка данных
- Фильтрация данных
- Оператор обновления данных
- Самостоятельная работа на обновление данных
- Оператор удаления данных
- Самостоятельная работа: создание и наполнение базы данных
- Сложные концепции
- Самостоятельная работа на сложные запросы
- Сложные запросы
- Самостоятельная работа на объединение

33Полноценный REST API с JWT‑аутентификацией

- Базовый HTTP-сервер
- Модель Contact
- Инициализация SQLite и миграции
- Репозиторий контактов
- Сервис контактов
- HTTP-обработчик создания контакта
- Интеграция слоя контактов
- Рефакторинг
- Валидация и уникальность
- Валидация по-взрослому
- GET-запрос получения всех контактов
- GET-запрос получение контакта по ID
- Мягкое удаление контакта (Soft Delete)
- Техническое задание
- Модель пользователя и структура аутентификации
- Таблица в базе данных
- Заготовка слоя регистрации
- Регистрация пользователя
- Хеширование паролей
- Аутентификация и проверка пароля
- JWT-токены: Claims и JWTService
- Генерация JWT при успешной авторизации
- Окружение
- JWT Middleware для защиты эндпоинтов
- Поддержка Bearer-токенов
- Проверка владельца при удалении
- Проверка владельца при обновлении
- Перспективы развития

34Описание проекта

- Что будем делать: Marketplace-Go — обзор проекта

35Каталог товаров

Подробности будут доступны на странице курса

36Корзина покупок

- 🗑️ 042 PostgreSQL для Basket в Docker Compose
- 🗑️ 043 Gin-сервер и health-check для Basket
- 🗑️ 044 Миграции Basket и автозапуск
- 🗑️ 045 Доменные модели: ShoppingCart, ShoppingCartItem
- 🗑️ 046 Репозиторий: сохранение корзины (транзакция)
- 🗑️ 047 Command handler: сохранение корзины
- 🗑️ 048 HTTP handler: POST /cart
- 🗑️ 049 Маршрутизация API v1: /cart
- 🗑️ 050 Инициализация слоёв и DI
- 🗑️ 051 Валидация моделей (go-playground/validator)
- 🗑️ 052 Middleware: централизованная обработка ошибок
- 🗑️ 053 Интеграция ErrorHandlerMiddleware
- 🗑️ 054 Репозиторий: получение корзины
- 🗑️ 055 Query handler: получение корзины
- 🗑️ 056 HTTP handler: GET /cart/:accountName
- 🗑️ 057 Маршрут GET /cart/:accountName
- 🗑️ 058 Кастомный тип NotFoundError
- 🗑️ 059 [ТЗ] Удаление корзины
- 🗑️ 060 Redis-контейнер для кэширования
- 🗑️ 061 RedisCartRepository
- 🗑️ 062 Интеграция Redis
- 🗑️ 063 Dockerfile и compose-prod для Basket
- 🗑️ Саморефлексия

37Промоакции

Подробности будут доступны на странице курса

38Оформление заказов

- 🚚 092 PostgreSQL для Checkout и миграции
- 🚚 093 Конфигурация и запуск миграций
- 🚚 094 Gin-сервер и health-check для Checkout
- 🚚 095 Доменная модель: Order, Value Objects, Enums
- 🚚 096 Интерфейс и реализация OrderRepository
- 🚚 097 Репозиторий: получение заказа с позициями
- 🚚 098 Репозиторий: поиск заказов по аккаунту
- 🚚 099 Репозиторий: создание заказа (транзакция)
- 🚚 100 Query handler: заказ по ID
- 🚚 101 HTTP handler: GET /orders/:id
- 🚚 102 Маршрут и DI для Checkout
- 🚚 103 [ТЗ] Заказы по аккаунту
- 🚚 104 RabbitMQ-контейнер в Docker Compose
- 🚚 105 Структура messaging: заготовки
- 🚚 106 BaseIntegrationEvent и OrderSubmittedEvent
- 🚚 107 RabbitMQ Publisher: exchange, queue, publish
- 🚚 108 Command handler: CheckoutCart и публикация события
- 🚚 109 HTTP handler: POST /cart/checkout
- 🚚 110 Маршрут checkout и интеграция RabbitMQ
- 🚚 111 RabbitMQ Consumer: подключение и обработка
- 🚚 112 ProcessOrderSubmissionHandler: создание заказа
- 🚚 113 OrderSubmittedConsumer: маппинг события в команду
- 🚚 114 Интеграция consumer в Checkout с graceful shutdown
- 🚚 115 Dockerfile и compose-prod для Checkout
- 🚚 Саморефлексия

39Мониторинг и инфраструктура

- 📊 116.1 Введение в Prometheus и Grafana
- 📊 116.2 Пакет metrics: HTTP, gRPC, DB, RabbitMQ
- 📊 117 Gin Middleware для Prometheus-метрик
- 📊 118 gRPC-интерцепторы метрик
- 📊 119 Метрики в Catalog-сервисе
- 📊 120 Метрики в Promotion-сервисе
- 📊 121 Конфигурация Prometheus (prometheus.yml)
- 📊 122 Datasource Grafana для Prometheus
- 📊 123 Prometheus и Grafana в compose-prod
- 📊 124.1 Демо: дашборды Prometheus и Grafana
- 📊 124.2 Grafana-дашборды: Catalog и Promotion
- 📊 125 Нагрузочное тестирование с k6 (HTTP)
- 📊 126 Тюнинг пула соединений PostgreSQL
- 📊 127 k6: нагрузочный тест gRPC
- 📊 128 Portainer: управление контейнерами
- 📊 Саморефлексия

40Окончание

- Итоги

01Первые шаги

- Go-cтарт

02Настройка окружения

- VS Code: установка и первые шаги
- Установка
- Hello GO
- Донастройка VS Code

03Базовые типы и переменные

- Структура Go-проекта: пакеты, модули и организация кода
- Организация кода. Точка входа
- Типы данных в Go: система числовых типов
- Основа базовых типов данных в Go: bool, string, float
- Объявление переменных и форматированный вывод в Go
- Анатомия переменной: память, адреса и размеры в Go
- Правила именования идентификаторов
- Экспорт идентификаторов и соглашения об аббревиатурах
- Комментарии: однострочные, многострочные и документирование
- Статическая типизация и краткое объявление переменных
- Нулевые значения (Zero Values)

04Выражения и константы

- Арифметические операции
- Операторы инкремента/декремента и присваивания
- Побитовые операции
- Пакет fmt: форматированный вывод
- Продвинутое форматирование
- Константы
- Техническое задание #1

05Типы и пользовательский ввод

- Пакет math
- Псевдонимы типов
- Приведение типов
- Пользовательский ввод
- Техническое задание #2
- Практика кода

06Память, указатели и продвинутый ввод данных

- Области видимости, указатели, продвинутый ввод
- Продвинутый ввод и итоги

07Принятие решений: условия и логика

- Операции сравнения
- Логические операторы
- Условные конструкции
- Инициализация переменных в условии
- Техническое задание #3
- Оператор switch
- Практика кода

08Повторение

- Генерация псевдослучайных чисел
- Циклы: базовые структуры управления
- Цикл for
- Дополнение
- Практика кода

09Массивы

- Массивы: основы
- Основы работы с массивами
- Циклы и перебор массивов
- Практические задачи с массивами
- Алгоритмы поиска и обработки данных

10Слайсы

- Введение в слайсы
- Устройство и базовые операции
- Копирование, многомерность и специфика типа
- Практика: числовые срезы
- Практика: строки и «коллекции задач»

11Строки

- Основы строк и внутреннее устройство
- Длина строк, байты и руны
- Перебор строк и работа с символами
- Пакет strings
- Производительность

12Применение строк и срезов

- Техническое задание #5
- Техническое задание #4
- Техническое задание #6

13Коллекции (map и set)

- Ассоциативные массивы
- Множества

14Техническое задание #7

- Постановка задачи
- Базовый интерфейс и структура
- Добавление книг
- Просмотр книг
- Удаление книг
- Поиск
- Добавление пользователей
- Книги кользователя
- Выдача книг

15Функции

- Функции: принцип DRY
- Основы функций
- Резюме

16Критические ситуации

- Ошибки
- Паники
- Выводы

17Техническое задание #8

- Постановка задачи
- Реализация

18Про время

- Основа
- Всё, что нужно знать

19Про файлы и директории

- Основа
- Всё, что нужно знать

20Техническое задание #9

- Постановка задачи
- Начало
- utils
- parse-format
- storage part 1
- storage part 2
- storage part 3
- storage part 4
- service 1
- service 2
- handler 1
- handler 2
- menu
- preRun
- Итоги

21Структуры

- Основы организации данных
- Создание и инициализация
- Инициализация структур и видимость
- Создание структур
- Резюме

22Техническое задание #10

- Постановка задачи
- Реализация

23Про JSON

- Предназначение
- Сериализация
- Десериализация

24Композиция — не наследование

- Дополнение
- Демонстрация
- Техническое задание #11
- Реализация
- Итоги

25Интерфейсы

- Основа
- Замечание
- Погружение

26Практический проект: CRUD-приложение с персистентностью

- Клонирование шаблона и инициализация проекта
- Создание моделей Contact и ContactRelation
- DTO для обновления контакта с указателями
- Валидация полей и доменные ошибки
- Фабричная функция NewContact
- Методы управления тегами контакта
- Управление связями между контактами
- Структура ContactBook и конструктор
- CRUD-операции: создание и чтение контактов
- CRUD-операции: обновление и удаление
- Реализация поиска по имени, телефону и тегам
- Методы работы со связями в ContactBook
- Методы сериализации и десериализации
- Интерфейс Storage для персистентности
- JSONStorage: реализация метода Load
- JSONStorage: атомарная запись файлов
- Тестирование ContactBook и JSONStorage
- Структура CLI и внедрение зависимостей
- Обработчик вывода списка контактов
- Главный цикл и обработка команд CLI
- Точка входа и инициализация приложения
- CLI: создание контакта с вводом данных
- Обработчик выхода с сохранением данных
- Тестирование функции выхода
- Техническое задание #12

27Параллелизм и конкурентность

- Горутины: первые шаги
- Стек вызовов горутин и управление runtime
- Каналы как основы синхронизации горутин
- Буферизованные каналы
- Обработка ошибок в горутинах
- Альтернативная обработка ошибок
- Примитив синхронизации горутин
- Защита общих данных
- Практика
- Deadlock — взаимная блокировка горутин
- Самостоятельная работа

28Не SOLID

- Принципы, которые делают код лучше

29Жизнь без ООП

- Factory
- Builder
- Prototype
- Singleton
- Adapter
- Дополнение

30Управление зависимостями

- Подключение сторонних библиотек

31RESTful API: обзор фундаментальных концепций

- Теория ключевых аспектов
- Есть вопросик...

32SQL и СУБД: SQLite, введение в теорию хранения данных

- Зачем нужны базы данных
- Установка и настройка окружения для работы с SQLite
- Основные концепции структуры базы данных
- Отношения в базе данных
- Что такое SQL и система типов
- Создание таблиц
- Ограничения SQL
- Добавление записей
- Самостоятельная работа: наполнение данными
- Выборка данных
- Фильтрация данных
- Оператор обновления данных
- Самостоятельная работа на обновление данных
- Оператор удаления данных
- Самостоятельная работа: создание и наполнение базы данных
- Сложные концепции
- Самостоятельная работа на сложные запросы
- Сложные запросы
- Самостоятельная работа на объединение

33Полноценный REST API с JWT‑аутентификацией

- Базовый HTTP-сервер
- Модель Contact
- Инициализация SQLite и миграции
- Репозиторий контактов
- Сервис контактов
- HTTP-обработчик создания контакта
- Интеграция слоя контактов
- Рефакторинг
- Валидация и уникальность
- Валидация по-взрослому
- GET-запрос получения всех контактов
- GET-запрос получение контакта по ID
- Мягкое удаление контакта (Soft Delete)
- Техническое задание
- Модель пользователя и структура аутентификации
- Таблица в базе данных
- Заготовка слоя регистрации
- Регистрация пользователя
- Хеширование паролей
- Аутентификация и проверка пароля
- JWT-токены: Claims и JWTService
- Генерация JWT при успешной авторизации
- Окружение
- JWT Middleware для защиты эндпоинтов
- Поддержка Bearer-токенов
- Проверка владельца при удалении
- Проверка владельца при обновлении
- Перспективы развития

34Описание проекта

- Что будем делать: Marketplace-Go — обзор проекта

35Каталог товаров
36Корзина покупок

- 🗑️ 042 PostgreSQL для Basket в Docker Compose
- 🗑️ 043 Gin-сервер и health-check для Basket
- 🗑️ 044 Миграции Basket и автозапуск
- 🗑️ 045 Доменные модели: ShoppingCart, ShoppingCartItem
- 🗑️ 046 Репозиторий: сохранение корзины (транзакция)
- 🗑️ 047 Command handler: сохранение корзины
- 🗑️ 048 HTTP handler: POST /cart
- 🗑️ 049 Маршрутизация API v1: /cart
- 🗑️ 050 Инициализация слоёв и DI
- 🗑️ 051 Валидация моделей (go-playground/validator)
- 🗑️ 052 Middleware: централизованная обработка ошибок
- 🗑️ 053 Интеграция ErrorHandlerMiddleware
- 🗑️ 054 Репозиторий: получение корзины
- 🗑️ 055 Query handler: получение корзины
- 🗑️ 056 HTTP handler: GET /cart/:accountName
- 🗑️ 057 Маршрут GET /cart/:accountName
- 🗑️ 058 Кастомный тип NotFoundError
- 🗑️ 059 [ТЗ] Удаление корзины
- 🗑️ 060 Redis-контейнер для кэширования
- 🗑️ 061 RedisCartRepository
- 🗑️ 062 Интеграция Redis
- 🗑️ 063 Dockerfile и compose-prod для Basket
- 🗑️ Саморефлексия

37Промоакции
38Оформление заказов

- 🚚 092 PostgreSQL для Checkout и миграции
- 🚚 093 Конфигурация и запуск миграций
- 🚚 094 Gin-сервер и health-check для Checkout
- 🚚 095 Доменная модель: Order, Value Objects, Enums
- 🚚 096 Интерфейс и реализация OrderRepository
- 🚚 097 Репозиторий: получение заказа с позициями
- 🚚 098 Репозиторий: поиск заказов по аккаунту
- 🚚 099 Репозиторий: создание заказа (транзакция)
- 🚚 100 Query handler: заказ по ID
- 🚚 101 HTTP handler: GET /orders/:id
- 🚚 102 Маршрут и DI для Checkout
- 🚚 103 [ТЗ] Заказы по аккаунту
- 🚚 104 RabbitMQ-контейнер в Docker Compose
- 🚚 105 Структура messaging: заготовки
- 🚚 106 BaseIntegrationEvent и OrderSubmittedEvent
- 🚚 107 RabbitMQ Publisher: exchange, queue, publish
- 🚚 108 Command handler: CheckoutCart и публикация события
- 🚚 109 HTTP handler: POST /cart/checkout
- 🚚 110 Маршрут checkout и интеграция RabbitMQ
- 🚚 111 RabbitMQ Consumer: подключение и обработка
- 🚚 112 ProcessOrderSubmissionHandler: создание заказа
- 🚚 113 OrderSubmittedConsumer: маппинг события в команду
- 🚚 114 Интеграция consumer в Checkout с graceful shutdown
- 🚚 115 Dockerfile и compose-prod для Checkout
- 🚚 Саморефлексия

39Мониторинг и инфраструктура

- 📊 116.1 Введение в Prometheus и Grafana
- 📊 116.2 Пакет metrics: HTTP, gRPC, DB, RabbitMQ
- 📊 117 Gin Middleware для Prometheus-метрик
- 📊 118 gRPC-интерцепторы метрик
- 📊 119 Метрики в Catalog-сервисе
- 📊 120 Метрики в Promotion-сервисе
- 📊 121 Конфигурация Prometheus (prometheus.yml)
- 📊 122 Datasource Grafana для Prometheus
- 📊 123 Prometheus и Grafana в compose-prod
- 📊 124.1 Демо: дашборды Prometheus и Grafana
- 📊 124.2 Grafana-дашборды: Catalog и Promotion
- 📊 125 Нагрузочное тестирование с k6 (HTTP)
- 📊 126 Тюнинг пула соединений PostgreSQL
- 📊 127 k6: нагрузочный тест gRPC
- 📊 128 Portainer: управление контейнерами
- 📊 Саморефлексия

40Окончание

- Итоги

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

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

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Go: антикурс без воды, до трудоустройства» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 7 сентября 2026 г.

Продолжить выбор

Похожие курсы

GOLANG NINJA. Искусство работы с ошибками
Курс не имеет дедлайнов, можно проходить в удобном для вас темпе
GOLANG NINJA. Искусство работы с ошибками

Данный курс является первой частью специализации "Искусство работы с ошибками и безмолвной паники в Go". Что такого особенного можно рассказать про ошибки? Мы считаем, что грамотн…

Онлайн9 занятийПродвинутый
22 529 ₽
Основы C#
Основы C#

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

Онлайн10 занятий
3 999 ₽
Профессиональная переподготовка «Инженер-программист станков ЧПУ»
−8%256 часов
Профессиональная переподготовка «Инженер-программист станков ЧПУ»

▶️ Профессиональная переподготовка «Инженер-программист станков ЧПУ» с выдачей диплома. Дистанционное (онлайн) обучение в учебном центре «НЦПО». 🔥Обучение в рассрочку от 1320 руб.…

Онлайн3 занятий
Домашние заданияИнтерактивные тренажёры+3
17 250 ₽−8%
15 850 ₽от 1 320 ₽/мес на 12 мес.
Начать без затрат

Бесплатные курсы

Python для решения практических задач
Бесплатно
Python для решения практических задач

Научились решать простые задачи на питоне, но не можете понять, как сделать что-то полезное? Наш курс научит вас правильно гуглить! На примерах задач сбора данных (Data Scraping)…

Онлайн5 занятий
Бесплатно
Claude Code с нуля до реальных задач
Бесплатно1 месяц
Claude Code с нуля до реальных задач

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

Онлайн
Бесплатноот 11 647 ₽/мес
Markdown синтаксис
Бесплатно2 часа
Markdown синтаксис

Этот курс предназначен для всех, кто работает с текстом в digital-среде. Вы освоите Markdown — универсальный язык разметки, который используют в GitHub, документации, блогах и соо…

Онлайн3 занятий
Бесплатно