39.1K subscribers
1.63K photos
45 videos
5 files
1.77K links
Download Telegram
Новый экспериментальный JSON API в Go

В версии Go 1.25 появился новый способ работы с JSON — пакеты encoding/json/v2 и encoding/json/jsontext.
Пока они работают только в экспериментальном режиме: чтобы включить, нужно указать GOEXPERIMENT=jsonv2 или собрать проект с тегом goexperiment.jsonv2.

Зачем это нужно?

Старая библиотека encoding/json существует с первых версий Go и за годы накопила массу проблем:

- Принимает некорректный UTF-8 и дубли ключей в объектах — это нарушает стандарт и может вести к багам.
- nil`-срезы и карты сериализуются как `null, хотя логичнее было бы [] или {}.
- Сопоставление полей Go-структур нечувствительно к регистру — медленно и запутанно.
- Нет нормального стриминга JSON.
- Есть лишние аллокации и даже квадратичные замедления при рекурсии.

Что изменилось в v2?

- Код разделён на два уровня: синтаксис (`jsontext`) и работа со значениями (`json/v2`). Это упростило и ускорило библиотеку.
- Marshal работает так же быстро, как в старой версии, а Unmarshal стал значительно быстрее.
- Поведение можно тонко настраивать через новые опции.
- Ошибки прошлого (дубли ключей, странное поведение с nil, нечувствительность к регистру) исправлены.

📌 Как запустить?


go run -tags goexperiment.jsonv2 .


или


GOEXPERIMENT=jsonv2 go run .


Новый API делает работу с JSON быстрее, чище и предсказуемее. Пока он экспериментальный, но, если сообщество даст положительный отклик, то в Go 1.26 или следующей версии json/v2 станет стандартом.

Почитай официальный блог: https://go.dev/blog/jsonv2-exp

@Golang_google

#Go #Golang #JSON #Go125 #encodingjson #jsonv2
👍4018🔥10
👣 С 27 августа начинается отбор в Яндекс Лицей, курс «Веб-разработка на Go»

Обучение специально разработано для школьников и студентов колледжей, техникумов.

За 3 месяца разберётесь, как проектировать серверные приложения и тестировать свой код. Научитесь работать с системами контроля версий, освоите Git на продвинутом уровне и поймёте, как разворачивать проекты на примере собственного проекта.

После обучения получите сертификат. Он может помочь получить дополнительные баллы при поступлении в вузах-партнёрах.

Обучение бесплатное, но есть отбор. Его нужно пройти до 23 сентября. Переходите по ссылке и регистрируетесь.
😁173👍2👏1🤯1
👣 Google объявил релиз - Genkit Go 1.0 - это стабильная, готовая к продакшену версия open-source фреймворка для разработки AI-приложений на Go.

Также представлена новая команда 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
🔥4011👍6