Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Введение Веб-разработка на Go

На сегодняшний день интернет стал неотъемлемой частью жизни каждого из нас. Мы заказываем продукты, вещи, лекарства в интернете, смотрим фильмы в онлайн-кинотеатрах и общаемся с друзьями в социальных сетях. И этот список можно продолжать бесконечно. При этом в основе каждого из этих примеров лежит веб-приложение, которое выполняет определенную функцию.

Веб-приложение — это программное обеспечение, в котором пользователь взаимодействует с веб-сервером при помощи веб-браузера. Например, Google — это веб-приложение для поиска информации в интернете, а Youtube — это веб-приложение для просмотра видео.

Веб-приложения разделяются на два типа:

  • Frontend (клиентская часть веб-приложения) — отвечает за отображение информации пользователю и взаимодействие с ним. Чаще подразумевается взаимодействие в веб-браузере
  • Backend (серверная часть веб-приложения) — отвечает за управление данными и бизнес-логикой веб-приложения

В этом курсе мы сосредоточимся на backend, а именно на разработке веб-приложений на языке Go.

Почему именно Go

Golang — это достаточно молодой язык программирования. Его разработали в Google с учетом следующих требований:

  • Простота. Язык Go должен быть простым в изучении и использовании. Чтобы быстро разрабатывать программное обеспечение, программисту нужно понимать, как работает язык и как его использовать
  • Производительность. Язык Go должен быть быстрым в работе. Веб-приложения компании Google — одни из самых высоконагруженных в мире. Поэтому им важно использовать язык программирования, который не уступит по производительности низкоуровневым языкам, таким как "Си"
  • Параллелизм. С современными веб-приложениями работают тысячи пользователей в один момент времени. Язык Go должен предоставлять удобные инструменты для эффективной параллельной обработки множества HTTP-запросов

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

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

Цели курса

В этом курсе мы научимся разрабатывать веб-приложения на языке Go с использованием микрофреймворка Fiber. Мы узнаем, как:

  • работать со стандартной библиотекой HTTP в Golang
  • использовать логирование в приложениях
  • читать запросы и отправлять ответы с микрофреймворком Fiber
  • описывать роутинг в Fiber веб-приложениях
  • сериализовать и десериализовать данные в JSON в Golang
  • строить слой хранения данных в Golang-приложении
  • проверять HTTP-запросы в Go
  • использовать middleware при обработке HTTP-запросов в Go
  • настраивать JWT-авторизацию на сервере
  • работать с шаблонами HTML-страниц в Go-приложениях
  • обрабатывать, логировать и возвращать ошибки клиенту

Дополнительные материалы

  1. Установка Go
  2. Анатомия веб-сервиса от Highload
  3. Вытесняющий планировщик Go
  4. Сравнение производительности веб-сервера на Go с другими языками
  5. Communicating sequential processes (теория о шаблонах взаимодействия в конкурентных системах)
  6. Конкурентность — Асинхронность

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

Для полного доступа к курсу нужен базовый план

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

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Изображение Тото

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