Мы используем 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 г.

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

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

Комплект курсов «Go-программист с нуля» и «Курс DevOps-инженер с нуля»
−17%
Комплект курсов «Go-программист с нуля» и «Курс DevOps-инженер с нуля»

«Go-программист с нуля»: Стань разработчиком на Golang - одном из самых востребованных языков для backend! Научись разрабатывать действительно полезные для бизнеса решения и освой…

ОнлайнНачальный
34 775 ₽−17%
28 860 ₽Рассрочка на 12 мес.
Python-разработчик с нуля
−65%4 месяца
Python-разработчик с нуля

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

Онлайн
197 143 ₽−65%
69 000 ₽от 3 833 ₽/мес на 18 мес.
Go: без воды | Lite-версия
Go: без воды | Lite-версия

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

Онлайн17 занятий
990 ₽
Продвинутый Golang
Продвинутый Golang

Этот курс подойдёт тем, кто уже знает основы Golang и хочет начать проектировать и писать полноценные API на Golang с базой данных Postgres и популярной ORM - Gorm. Кроме того кур…

Онлайн15 занятий
3 999 ₽
Гуру разработки на Django
4 часа
Гуру разработки на Django

Создайте 4 крутых веб-сайта, изучите Back и Frond End веб разработку, сверстайте сайты с HTML, CSS и Bootstrap. В курсе, больше сосредоточенном на бекенде, вы создадите интернет-м…

Онлайн1 занятий
2 890 ₽
Начать без затрат

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

Thank Go! Знакомство с Golang
Бесплатно
Thank Go! Знакомство с Golang

Go — уникальный язык. Простой до примитивности, но с большой и продуманной стандартной библиотекой. Статически типизирован, но отлично подходит для небольших утилит. Достаточно ни…

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

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

Онлайн5 занятий
Бесплатно
Go (Golang) - первое знакомство
Бесплатно
Go (Golang) - первое знакомство

Это курс по языку программирования Go (Golang) для самых маленьких. Почему? Потому что показаны будут прежде всего азы (хотя и не только), при этом в достаточно краткой форме. Но…

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