Golang Books
16.6K subscribers
269 photos
4 videos
334 files
262 links
Библиотека Golang разработчика

По всем вопросам- @haarrp

@Golang_google - Golang

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golangtests golang tests

@itchannels_telegram - 🔥лучшие ит-каналы

№ 5032829002
加入频道
🌀 Middleware и RoundTripper в Go: гибкая обработка HTTP-запросов

В Go нет встроенного понятия "middleware", как в других фреймворках — но вы можете легко реализовать его сами, особенно в контексте http.RoundTripper.

🔧 RoundTripper — это интерфейс, который обрабатывает HTTP-запросы на уровне клиента (`http.Client`). Это даёт возможность внедрять логику *до* и *после* отправки запроса.

🧱 Пример: логгер запросов

type LoggingRoundTripper struct {
rt http.RoundTripper
}

func (l *LoggingRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
log.Printf("📤 Запрос: %s %s", req.Method, req.URL)
resp, err := l.rt.RoundTrip(req)
if err == nil {
log.Printf("📥 Ответ: %d", resp.StatusCode)
}
return resp, err
}


📦 Использование:

client := &http.Client{
Transport: &LoggingRoundTripper{rt: http.DefaultTransport},
}


💡 Таким образом, вы можете создавать middleware прямо внутри http.Client, например:
• логирование
• кэширование
• модификация заголовков
• retry-логика
• трейсинг

🔗 Подробнее: dev.to/calvinmclean/middleware-and-roundtrippers-in-go-30pa

#golang #httpclient #middleware #webdev #devtools
👍9🔥42🤬1
♟️ Новая шахматная библиотека на Go — chess v2

Разработчик Brigham Skarda представил chess v2 — лёгкую и мощную библиотеку для работы с шахматами на языке Go.

📦 Что умеет:
• Валидация и исполнение ходов
• Поддержка PGN и FEN
• Расчёт состояния: шах, мат, пат, троекратное повторение
• Работа с произвольных позиций

🔧 Отличия версии v2:
• Переработанный API с акцентом на читаемость и безопасность
• Повышенная производительность
• Улучшенная архитектура — удобна для использования в ИИ, анализаторах партий и игровых движках

🚀 Отличный инструмент для тех, кто пишет:
• шахматные движки
• телеграм-ботов
• шахматные редакторы и визуализаторы

🔗 Статья: https://brighamskarda.com/articles/introducing_chess_v2_a_new_chess_library_in_golang

#golang #chess #opensource #gamedev #библиотекиGo
😁7👍52😢1
Forwarded from Golang
🔥 Обширная коллекция практичных сниппетов, примеров и рецептов на Go для создания эффективных, надёжных и масштабируемых приложений.

Идеально для разработчиков, которые хотят:
- писать чистый и читаемый Go-код
- быстро находить решения типовых задач
- изучать лучшие практики и готовые паттерны

📚 Всё — от HTTP-серверов и работы с JSON до многопоточности, базы данных и REST API.

🔗 https://go-cookbook.com

@Golang_google

#golang #go #guide
👍186
Forwarded from Golang
👣 concurrency.rocks — интерактивный учебник с паттернами конкурентности Go

Внутри:
- Минималистичный симулятор горутин и каналов прямо в браузере
- Работает через Go WebAssembly — никакого сервера не требуется
- Наглядно объяснены select, fan-in/fan-out, worker pool, таймауты и про
- Код можно редактировать на лету

Сохрани в закладки и тренируй мышление «конкурентного» Go-разработчика:

https://concurrency.rocks

#golang

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍54