Вы когда-нибудь вызывали REST API из своей программы Go? Вы реализовали свой собственный HTTP-клиент или в итоге использовали какую-то из тысячи существующих библиотек? Знаете ли вы, что ваш HTTP-клиент делает в фоновом режиме? В этом курсе мы начнем с нуля! Мы собираемся запомнить, как выглядит базовый HTTP-вызов, изучив объекты запроса и ответа. Мы собираемся написать базовый HTTP-клиент для выполнения HTTP-запросов, а затем использовать его в приложениях.
Какие проблемы у нас есть? Можем ли мы масштабировать наши приложения, следуя этому подходу? Конечно нет!
Вот почему мы создаем клиентскую библиотеку HTTP, которая обеспечивает:
Быстрые, надежные и безотказные HTTP-соединения.
Поддержка всех методов HTTP: GET, POST, PUT, DELETE, PATCH и других!
HTTP-клиент Concurrency-Safe, который можно использовать, не беспокоясь о производительности.
Управление типами контента и оптимизация.
Функции моккинга из коробки.
Чистый интерфейс на случай, если вы хотите провести модульное тестирование своего кода, не полагаясь на функции интеграционного тестирования.
Надежная реализация, поэтому вам не понадобится какая-либо внешняя зависимость.
Полностью настраиваемый интерфейс: тайм-ауты, транспортный уровень, собственный HTTP-клиент и множество полезных функций.
Готовая к производству библиотека!
Если вы хотите интегрировать сторонние REST API в свой код, вам потребуется выполнить HTTP-вызов. Обязательно просмотрите этот курс, прежде чем даже рассматривать альтернативы, которые заставят вас использовать разные зависимости для запуска, тестирования и расширения вашего кода! Как говорит Роберт Пайк: «Небольшое копирование намного лучше, чем небольшая зависимость». В этом курсе мы избавимся не только от зависимостей, но и от копирования. Мы не используем ничего, кроме стандартной библиотеки Go, для проектирования и разработки нашего собственного HTTP-клиента.
Этот клиент станет базой для всех приложений, которые мы собираемся создать позже, благодаря чему наш бизнес будет масштабироваться и расти настолько быстро, насколько это возможно.
Посмотреть больше
Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай
How to develop a productive HTTP client in Golang (Go),
а также все другие курсы, прямо сейчас!
Go basics: Structs, functions, interfaces and methods.
Урок 12.00:13:24
Adding basic behavior
Урок 13.00:17:41
Defining custom & common headers
Урок 14.00:13:22
Dealing with the request body
Урок 15.00:18:09
Testing, testing and testing!
Урок 16.00:18:38
Be careful with code coverage
Урок 17.00:16:07
Dealing with timeouts
Урок 18.00:16:28
Allow timeout customization
Урок 19.00:09:05
Allow timeout disabling
Урок 20.00:15:47
Builder pattern applied
Урок 21.00:06:11
Refactoring our builder implementation
Урок 22.00:09:04
Making the client concurrent-safe
Урок 23.00:18:11
Using our custom response implementation
Урок 24.00:13:16
Creating our examples
Урок 25.00:12:24
Should we provide mocking features?
Урок 26.00:14:12
Defining the Mock struct
Урок 27.00:17:35
Adding the mock server
Урок 28.00:13:03
Responding from the mock server
Урок 29.00:17:20
Adding a default mock
Урок 30.00:09:01
How to flush every active mock
Урок 31.00:07:57
Improving mock body and keys
Урок 32.00:08:02
How to publish a Go module
Урок 33.00:09:27
How to use our Go module
Урок 34.00:18:43
Easily testing API calls with our library
Урок 35.00:09:31
Allowing custom HTTP client
Урок 36.00:14:02
Clean our public interface
Урок 37.00:08:40
Adding documentation to our code
Урок 38.00:21:08
Adding more examples
Урок 39.00:07:56
Allow user agent definition
Урок 40.00:06:29
Defining common constants
Урок 41.00:07:44
Releasing the first stable version!
Урок 42.00:19:05
Cleaning our mocking interface
Урок 43.00:23:19
Changing how we mock requests
Урок 44.00:07:15
Cleaning our mock server
Урок 45.00:18:02
What we have done
Комментарии
Anonymous
Какой то бред, не согласен. Автор предлагает концепцию своего велосипеда, вместо проверенных библиотек, протестированных на многих проектах. Аргумент то что эти библиотеки могут меняться, могут удалятся репозитории полный бред. Намного быстрее, даже если библиотеку закрыли, найти существующий форк, или просо перейти на аналогичную, чем разрабатывать с нуля технологический базис... Какой же бред...
bro_2204
Anonymous
Не согласен.Новичкам будет интересно как все это работает в базовом уровне без библиотек.
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Узнайте, что такое и как работает параллелизм в Go. Как запускать goroutines и передавать данные между ними. Как синхронизировать выполнение goroutines. Как работает планировщик Go. Как построить потоковые конвейеры с goroutines и каналами. Как распространять данные через API.
Если вы, как и большинство людей, хотите выучить язык программирования, у вас не так много свободного времени. Время, которое у вас есть, чрезвычайно ценно. Если вы хотите изучить язык программирования Google GO, то вам нужен курс, который быстро научит основным навыкам программирования Go.
Golang уже называют многообещающим - он простой в изучении, быстрый, эффективный и точно останется с нами надолго. На курсе мы научим вас создавать свой API сервер с помощью Golang, запускать контейнеры, взаимодействовать с Docker из Go, работать с кастомными операторами и многим другим приятным и полезным штукам.
Практикум для разработчиков на Golang. 90% практики. Онлайн-практикум для освоения Golang (Go). 25+ заданий. Выполни все задания и стань разработчиком на Go в российских или международных проектах.