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

Go: построение веб‑сервиса с JWT-аутентификацией

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

Подробнее

Цель курса — показать, как из набора отдельных файлов вырастает работающий, защищённый веб-сервис на Go. Мы не разбираем абстрактные примеры «для галочки», а строим один реальный проект от первого эндпоинта /hello до API с регистрацией пользователей, JWT-аутентификацией и проверкой прав доступа. Почему стоит выбрать именно этот курс: Это формат скринкастов, где каждый шаг я показываю вживую — вы видите не только готовый код, но и ход мысли: почему выбрано именно такое решение, какие ошибки возникают и как их чинить Проект развивается инкрементально, небольшими логичными шагами. Каждый этап — это законченная функциональность, которую можно запустить и проверить Вы получаете не учебную «игрушку», а каркас, который повторяет структуру настоящих коммерческих сервисов: разделение ответственности, валидация, безопасность Что вы приобретёте после освоения: уверенное понимание того, как устроен бэкенд на Go, и собственный проект, который можно показать в портфолио или взять за основу для своих сервисов. Особенности курса: упор на практику и «живую» разработку, акцент на архитектуре и безопасности, разбор типичных проблем (хранение паролей, секреты, права доступа), а также личное код-ревью вашей работы Что нужно будет делать: смотреть скринкасты, повторять шаги в своём редакторе, собирать сервис своими руками и в конце сдать работу на проверку, чтобы получить разбор кода лично от автора  
Требования

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

  • Чтобы курс не оказался слишком сложным, желательно перед стартом:
  • Знать основы программирования — переменные, функции, структуры, условия и циклы, работа с типами
  • Понимать базовые концепции Go (синтаксис, пакеты, структуры, методы, обработка ошибок) или иметь опыт другого языка (Java, C#, Python и т.п.) и готовность быстро освоить синтаксис Go по ходу
  • Иметь общее представление о том, как работает HTTP — запросы, ответы, методы (GET/POST/PUT/DELETE), статус-коды
  • Базово ориентироваться в работе с базами данных и понимать простые SQL-запросы (плюс, но не обязательно).
  • Уметь работать в терминале: запускать команды, устанавливать зависимости.
  • Глубокого знания Go, опыта с Gin, JWT или SQLite не требуется — всё необходимое разбирается в процессе
Результат

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

  • Проектировать REST API на Go с фреймворком Gin: маршруты, группы маршрутов, обработка JSON-запросов и ответов
  • Выстраивать слоистую архитектуру handler → service → repository и понимать, за что отвечает каждый слой
  • Работать с базой данных SQLite напрямую через database/sql: создавать таблицы, писать SQL-запросы, настраивать пул соединений и индексы
  • Реализовывать полноценный CRUD: создание, чтение, обновление и мягкое удаление (soft delete) записей
  • Валидировать входные данные декларативно через go-playground/validator и отдавать понятные сообщения об ошибках
  • Строить аутентификацию с нуля: регистрация, безопасное хранение паролей с bcrypt, логин и выдача JWT-токенов
  • Защищать эндпоинты с помощью middleware: проверять токен, прокидывать данные пользователя через контекст запроса
  • Разграничивать доступ по владельцу ресурса и корректно возвращать статусы 401 Unauthorized и 403 Forbidden
  • Управлять конфигурацией и секретами через переменные окружения и .env-файлы.
  • Применять на практике UUID, контрольные временные метки (created_at / updated_at / deleted_at) и проверки уникальности данных
Аудитория

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

  • Курс предназначен для тех, кто хочет научиться строить реальные веб-сервисы, а не просто читать про синтаксис:
  • – Разработчики, уже знакомые с основами Go, которые хотят увидеть, как из базовых концепций собирается целостный сервис с архитектурой и безопасностью
  • – Разработчики с других языков (Java, C#, Python, Node.js и др.), которым нужно быстро понять, как «по-гошному» строится бэкенд, и перенести свой опыт на Go
  • – Начинающие бэкенд-разработчики, которым важно увидеть полный путь создания API целиком, а не фрагментами
  • Типичные ситуации, когда этот курс пригодится: вы переходите на Go в новой команде или на новом проекте; вам поручили написать сервис на Go, а живого примера «как надо» под рукой нет; вы готовите пет-проект или портфолио для собеседования; вы хотите систематизировать разрозненные знания и наконец увидеть, как все части (БД, валидация, аутентификация) работают вместе
Содержание

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

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

- Go-cтарт

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

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

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

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

04Начало разработки

- Базовый HTTP-сервер
- Модель Contact
- Инициализация SQLite и миграции
- Репозиторий контактов
- Сервис контактов
- HTTP-обработчик создания контакта
- Интеграция слоя контактов
- Рефакторинг
- Валидация и уникальность
- Валидация по-взрослому
- GET-запрос получения всех контактов
- GET-запрос получение контакта по ID
- Мягкое удаление контакта (Soft Delete)
- Саморефлексия

05Погружение в разработку

- Техническое задание
- Модель пользователя и структура аутентификации
- Таблица в базе данных
- Заготовка слоя регистрации
- Регистрация пользователя
- Хеширование паролей
- Аутентификация и проверка пароля
- JWT-токены: Claims и JWTService
- Генерация JWT при успешной авторизации
- Окружение
- JWT Middleware для защиты эндпоинтов
- Поддержка Bearer-токенов
- Проверка владельца при удалении
- Проверка владельца при обновлении
- Перспективы развития

06Как начать в микросервисы?

- Общее описание
- Что будем делать: Marketplace-Go — обзор проекта
- Итоги

01Первые шаги

- Go-cтарт

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

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

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

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

04Начало разработки

- Базовый HTTP-сервер
- Модель Contact
- Инициализация SQLite и миграции
- Репозиторий контактов
- Сервис контактов
- HTTP-обработчик создания контакта
- Интеграция слоя контактов
- Рефакторинг
- Валидация и уникальность
- Валидация по-взрослому
- GET-запрос получения всех контактов
- GET-запрос получение контакта по ID
- Мягкое удаление контакта (Soft Delete)
- Саморефлексия

05Погружение в разработку

- Техническое задание
- Модель пользователя и структура аутентификации
- Таблица в базе данных
- Заготовка слоя регистрации
- Регистрация пользователя
- Хеширование паролей
- Аутентификация и проверка пароля
- JWT-токены: Claims и JWTService
- Генерация JWT при успешной авторизации
- Окружение
- JWT Middleware для защиты эндпоинтов
- Поддержка Bearer-токенов
- Проверка владельца при удалении
- Проверка владельца при обновлении
- Перспективы развития

06Как начать в микросервисы?

- Общее описание
- Что будем делать: Marketplace-Go — обзор проекта
- Итоги

Организатор

Автор курса

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Онлайн9 занятийПродвинутый
22 529 ₽
Backend разработчик Golang
Backend разработчик Golang

Освойте Backend-разработку на Golang с нуля. Научитесь создавать высоконагруженные микросервисы, распределённые системы, работать с Docker, Kubernetes. Язык Google, Uber, Яндекс с…

Онлайн
Персональный наставникОбратная связь
Цена по запросуот 5 000 ₽/мес
Go (GoLang) - Быстрый старт
Go (GoLang) - Быстрый старт

Для разработчиков, которые хотят перейти на Go (GoLang) с другого языка. Курс максимально компактный, в тоже время включает в себя все необходимые темы.

Онлайн5 занятий
550 ₽
Практический Go: от первых шагов до автоматизации инфраструктуры
270 ак. ч., 6 мес. длительность
Практический Go: от первых шагов до автоматизации инфраструктуры

Освойте Go как инструмент для автоматизации — от написания простых CLI-утилит до создания сервисов и микросервисов под реальные инженерные задачи.На курсе вы будете: *писать собст…

Онлайн16 занятий
Обратная связьПрактические занятия+1
150 000 ₽
Начать без затрат

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

DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс
Бесплатно
DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс

Курс «DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обу…

Онлайн
Бесплатно
Программирование на Java. Уровень 3. Разработка клиент - серверных приложений
Бесплатно
Программирование на Java. Уровень 3. Разработка клиент - серверных приложений

Курс «Программирование на Java. Уровень 3. Разработка клиент-серверных приложений»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обу…

Онлайн
Бесплатно
Сайт на NodeJS
Бесплатно1 академических часов
Сайт на NodeJS

В курсе напишем сайт на NodeJS который будет генерировать картинки с помощью openai apiПока я готовлю большое количество материала на 300к подписчиков ловите лайтовый ролик про ра…

Онлайн1 занятий
Видеоуроки
Бесплатно
Golang бесплатный курс с нуля
Бесплатно50 часов
Golang бесплатный курс с нуля

Golang с нуля Курс "Golang с нуля" является идеальным выбором для всех, кто хочет начать свой путь в мире разработки программного обеспечения с использованием Go. Независимо от ва…

Онлайн5 занятий
Бесплатно
Асинхронное программирование на основе веб - фреймворка FastAPI
Бесплатно
Асинхронное программирование на основе веб - фреймворка FastAPI

Курс «Асинхронное программирование на основе веб-фреймворка FastAPI»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обучения. Програм…

Онлайн
Бесплатно