♟️ Новая шахматная библиотека на 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
Разработчик 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👍5❤2😢1
Forwarded from Golang
🔥 Обширная коллекция практичных сниппетов, примеров и рецептов на Go для создания эффективных, надёжных и масштабируемых приложений.
Идеально для разработчиков, которые хотят:
- писать чистый и читаемый Go-код
- быстро находить решения типовых задач
- изучать лучшие практики и готовые паттерны
📚 Всё — от HTTP-серверов и работы с JSON до многопоточности, базы данных и REST API.
🔗 https://go-cookbook.com
@Golang_google
#golang #go #guide
Идеально для разработчиков, которые хотят:
- писать чистый и читаемый Go-код
- быстро находить решения типовых задач
- изучать лучшие практики и готовые паттерны
📚 Всё — от HTTP-серверов и работы с JSON до многопоточности, базы данных и REST API.
🔗 https://go-cookbook.com
@Golang_google
#golang #go #guide
👍18❤6
Forwarded from Golang
Внутри:
- Минималистичный симулятор горутин и каналов прямо в браузере
- Работает через 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
🔥26❤5👍5
Forwarded from Golang
📘 "Go 101" популярная серия бесплатных книг обновлена под новую версию Golang 1.25 — сразу в четырёх разделах:
• 🚀 Go Optimizations 101: https://go101.org/optimizations/101.html
• 💡 Go Details & Tips 101: https://go101.org/details-and-tips/101.html
• 🔧 Go Generics 101: https://go101.org/generics/101.html
• 📖 Go 101: https://go101.org/article/101.html
@golang_google
#golang #freebook #education #book #go
• 🚀 Go Optimizations 101: https://go101.org/optimizations/101.html
• 💡 Go Details & Tips 101: https://go101.org/details-and-tips/101.html
• 🔧 Go Generics 101: https://go101.org/generics/101.html
• 📖 Go 101: https://go101.org/article/101.html
@golang_google
#golang #freebook #education #book #go
❤12👍9🔥3🥰1
Forwarded from Golang
💥 Необычное поведение структур
В недавнем блоге Мэтта Холла поднята важная деталь, о которой некоторые забывают.
Автор показывает, что при встраивании (`embedding`) структур Go может выбрать неочевидное поле, даже если кажется, что это вызовет ошибку.
Пример:
Вы думаете, тут компиляция не пройдёт из-за неоднозначности?
Но, она завершится успешна — и начпечатает abc.com.
Go выбирает наименее вложенное поле URL, в данном случае FooService.URL.
⚠ Урок: будьте осторожны с struct embedding! Переиспользование полей может скрывать баги, особенно когда поля именованы одинаково, а уровни вложенности различны.
📌 Пост
@golang_google
#golang #go
В недавнем блоге Мэтта Холла поднята важная деталь, о которой некоторые забывают.
Автор показывает, что при встраивании (`embedding`) структур Go может выбрать неочевидное поле, даже если кажется, что это вызовет ошибку.
Пример:
type FooService struct { URL string }
type BarConnectionOptions struct { URL string }
type BarService struct { BarConnectionOptions }
type Options struct {
FooService
BarService
}
opts := Options{
FooService: FooService{URL: "abc.com"},
BarService: BarService{
BarConnectionOptions: BarConnectionOptions{URL: "xyz.com"},
},
}
fmt.Println(opts.URL)
Вы думаете, тут компиляция не пройдёт из-за неоднозначности?
Но, она завершится успешна — и начпечатает abc.com.
Go выбирает наименее вложенное поле URL, в данном случае FooService.URL.
⚠ Урок: будьте осторожны с struct embedding! Переиспользование полей может скрывать баги, особенно когда поля именованы одинаково, а уровни вложенности различны.
📌 Пост
@golang_google
#golang #go
👍11😁4❤3
📚 Кейс: как ВКонтакте переобучила часть команды на Go
ВКонтакте переходит на сервисную архитектуру и переводит бэкенд на Go. Главная задача — построить высоконагруженную распределенную систему, где каждая команда автономно разрабатывает свой сервис.
🔹 Технические вызовы
Перепроектирование архитектуры с учётом PaaS-платформы.
Интеграции с внутренними сервисами.
🔹 Программа переобучения для внутренних сотрудников
140+ инженеров из компании прошли интерактивный курс по переходу на Go
Синтаксис Go изучали самостоятельно — курс сразу начинался с архитектурных и инфраструктурных задач
Практика: проектирование каркаса микросервиса в условиях, максимально приближенных к реальным задачам компании
💡 Вывод: кейс ВКонтакте показывает, как знания о продукте сохраняются внутри компании, почему эффективнее инвестировать в собственников сотрудников, а не распыляться в найме.
#golang #microservices @golang_books
ВКонтакте переходит на сервисную архитектуру и переводит бэкенд на Go. Главная задача — построить высоконагруженную распределенную систему, где каждая команда автономно разрабатывает свой сервис.
🔹 Технические вызовы
Перепроектирование архитектуры с учётом PaaS-платформы.
Интеграции с внутренними сервисами.
🔹 Программа переобучения для внутренних сотрудников
140+ инженеров из компании прошли интерактивный курс по переходу на Go
Синтаксис Go изучали самостоятельно — курс сразу начинался с архитектурных и инфраструктурных задач
Практика: проектирование каркаса микросервиса в условиях, максимально приближенных к реальным задачам компании
💡 Вывод: кейс ВКонтакте показывает, как знания о продукте сохраняются внутри компании, почему эффективнее инвестировать в собственников сотрудников, а не распыляться в найме.
#golang #microservices @golang_books
🔥12❤6👍4😁1🤬1
⚡ Интересный факт про работу Go
Обычно неиспользуемые методы в проекте не попадают в итоговый бинарник.
Но если в коде есть хотя бы один вызов
в бинарь будут скомпилированы все методы, даже неиспользуемые.
https://github.com/golang/go/issues/62024
#golang #programming #reflection
Обычно неиспользуемые методы в проекте не попадают в итоговый бинарник.
Но если в коде есть хотя бы один вызов
MethodByName
через reflection — в бинарь будут скомпилированы все методы, даже неиспользуемые.
https://github.com/golang/go/issues/62024
#golang #programming #reflection
❤8👍7🥰2🔥1
Также представлена новая команда
genkit init:ai-tools
для лёгкой интеграции с AI-ассистентами в процессе разработки. 🔑 Что нового в Genkit Go 1.0
1. Production-ready
API признан стабильным: все программы, написанные на Genkit 1.*, будут работать и собираться в будущих минорных версиях.
2. Type-safe AI-flows
- Определение “flows” через Go-структуры и JSON Schema.
- Повышенная типобезопасность, тестируемость, наблюдаемость и удобство при деплое.
3. Унифицированный интерфейс моделей
Поддержка разных провайдеров (Google AI, Vertex AI, OpenAI, Ollama и др.) через единый API — легко переключаться между ними.
4. Tool calling, RAG и мультимодальность
- Вызов внешних инструментов (tool calling).
- Retrieval-augmented generation (RAG).
- Поддержка мультимодальных сценариев (текст, изображения и др.).
5. Инструменты для разработчиков
- Независимая CLI-утилита для локальной разработки.
- Developer UI: тестирование промтов, отладка flows, отслеживание производительности и трассировка.
6. Команда `genkit init:ai-tools`
Автоматическая интеграция с AI-ассистентами разработки: Gemini CLI, Firebase Studio, Claude Code, Cursor и др.
7. Примеры кода
В официальной документации показано, как определять flows, запускать HTTP endpoints, работать с моделями и инструментами.
🚀 Почему это важно
- Быстрая и безопасная разработка AI-приложений на Go.
- Унифицированный API позволяет экспериментировать и менять провайдеров без переписывания логики.
- Встроенные dev-инструменты ускоряют отладку и интеграцию.
- Подходит как для прототипов, так и для production-решений.
📌 Официальный анонс: https://developers.googleblog.com/en/announcing-genkit-go-10-and-enhanced-ai-assisted-development/?linkId=16710004Нужно
@Golang_google
#Genkit #GoLang #GoogleAI #AIDevelopment #OpenSource #RAG
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤7🤔4🥰2🔥1😁1
Forwarded from Golang
📊 Высокопроизводительная библиотека логирования для Go 🚀
mtlog — это библиотека структурированного логирования для Go, вдохновленная Serilog. Она обеспечивает нулевые аллокации для простых операций логирования и поддерживает мощные функции для сложных сценариев, включая шаблоны сообщений и совместимость с OpenTelemetry.
🚀Основные моменты:
- Нулевые аллокации для простых сообщений
- Поддержка шаблонов сообщений и Go синтаксиса
- Интеграция с Kubernetes и OpenTelemetry
- Многофреймворковая поддержка для HTTP
- Расширенные стратегии выборки и маршрутизации логов
📌 GitHub: https://github.com/willibrandon/mtlog
@golang_google
#golang
mtlog — это библиотека структурированного логирования для Go, вдохновленная Serilog. Она обеспечивает нулевые аллокации для простых операций логирования и поддерживает мощные функции для сложных сценариев, включая шаблоны сообщений и совместимость с OpenTelemetry.
🚀Основные моменты:
- Нулевые аллокации для простых сообщений
- Поддержка шаблонов сообщений и Go синтаксиса
- Интеграция с Kubernetes и OpenTelemetry
- Многофреймворковая поддержка для HTTP
- Расширенные стратегии выборки и маршрутизации логов
📌 GitHub: https://github.com/willibrandon/mtlog
@golang_google
#golang
👍4❤2🔥2
📦 Для Go появился лёгкий и удобный инструмент для событийной архитектуры
signals — это минималистичная библиотека без зависимостей, которая реализует простой pub-sub механизм для ваших Go-приложений.
Особенности:
- никаких внешних зависимостей
- тонкий и понятный API
- удобный in-process event system
Репозиторий: https://github.com/maniartech/signals
#golang
signals — это минималистичная библиотека без зависимостей, которая реализует простой pub-sub механизм для ваших Go-приложений.
Особенности:
- никаких внешних зависимостей
- тонкий и понятный API
- удобный in-process event system
Репозиторий: https://github.com/maniartech/signals
#golang
👍13🔥5❤1