39.6K subscribers
1.74K photos
52 videos
5 files
1.86K links
Download Telegram
🚀 Разработка LLM приложений на Go с Eino

Eino — это фреймворк для создания приложений на основе LLM, ориентированный на простоту и масштабируемость. Он предлагает мощные абстракции компонентов, удобные API и инструменты для всего цикла разработки, что позволяет разработчикам легко создавать и управлять LLM приложениями.

🚀 Основные моменты:
- Удобные компоненты для быстрого создания LLM приложений.
- Мощная система оркестрации для обработки потоков и управления типами.
- Четкие и простые API для разработчиков.
- Набор лучших практик и примеров использования.
- Инструменты для визуализации и отладки приложений.

📌 GitHub: https://github.com/cloudwego/eino

#go
👍158🔥4🤬1😢1
Что выведет программа?


package main

import (
"fmt"
)

type S struct {
v int
}

func (s S) Value() int {
return s.v
}

type I interface {
Value() int
}

func mutate(i I) {
// Мы думаем, что меняем реальный объект...
if s, ok := i.(S); ok {
s.v = 100
}
}

func main() {
s := S{v: 10}
var i I = s

mutate(i)

fmt.Println(s.v) // ???
fmt.Println(i.Value()) // ???
}


Всё выглядит так:

Мы передаём объект в mutate → внутри меняем → значения должны измениться.

Тут ловушка в том, что:

- интерфейсы в Go копируют значение, если оно не pointer receiver

- type assertion s, ok := i.(S) создаёт новую копию

- мы мутируем копию, а не оригинал

Так что вывод будет:

10
10

А не 100.

👉 Запустить код
21👍15🤔3🔥2
Что загадывает DevOps на Новый год?

чтобы кластер обновлялся без ночных алертов
сеть работала стабильно и предсказуемо
апгрейд кластера не превращался в вечер с release notes

Разработчики Managed Kubernetes в облаке MWS Cloud Platform знают все ваши тайные желания и готовы упростить вашу DevOps-рутину.

С Managed Kubernetes вы получаете:
готовый кластер за несколько минут без сложной настройки
управление жизненным циклом кластера и нод
автоматическое масштабирование под нагрузку
нативную работу с сетью и storage через CCM / CSI
централизованное управление доступами через IAM


🎄
🎁 Попробуйте с грантом до 10 000 ₽

Попробовать
Please open Telegram to view this post
VIEW IN TELEGRAM
3😱1
🚀 Новый продвинутый планировщик заданий для PostgreSQL - лучше, чем cron

Если устал от cron и временных триггеров, обрати внимание на pg_timetable:

Сильный: гибкий, надёжный, с богатым функционалом
Легко настраивается, понятен и прозрачен
Позволяет:
• запускать SQL-задачи по расписанию
• отслеживать их статус и history
• обеспечивать graceful restart и защиту от сбоев

Идеален для рабочих баз, сложной логики задач и критичных приложений.

📦 Репозиторий: https://github.com/cybertec-postgresql/pg_timetable

#golang #postgresql #devops #golang
👍108🔥3
Forwarded from Backend VK Hub
This media is not supported in your browser
VIEW IN TELEGRAM
Пора отвлечься от хотфиксов на приятные хлопоты

Время забирать подарки — годовые подписки на Облако Mail и VK Музыку.

Чтобы посоревноваться за подарки:
🔹 подпишитесь на наш канал @backendhubvk
🔹 нажмите кнопку «Участвовать»
🔹 почитайте по ссылке информацию об организаторе, правилах и призах
🔹 дождитесь 30 декабря — в этом посте мы выберем случайным образом 6 победителей
🤬51👍1🔥1
🚀 LLMHub - единая клиент-библиотека LLM для Go

LLMHub - это легковесная библиотека на Go, которая предоставляет унфицированный API для работы с большим количеством LLM-провайдеров через единый интерфейс, совместимый с OpenAI API.

Если вы пишете на Go и хотите легко подключать разные модели (OpenAI, Claude, Gemini, Mistral, DeepSeek и многие другие) без переписывания кода под каждый провайдер, LLMHub делает этот процесс простым, типобезопасным и унифицированным.

Ключевые возможности:
• OpenAI-совместимый интерфейс для запросов завершений и чат-запросов;
• Поддержка 20+ провайдеров LLM (включая глобальные и китайские модели);
• Типобезопасные структуры данных и работа со стриминг-ответами;
• Примеры и готовый HTTP-сервер для запуска собственного LLM API.

go get github.com/gotoailab/llmhub

https://github.com/gotoailab/llmhub

@Golang_google
👍2010
👣 Пишем GPT с нуля на Go

Отличный репозиторий для тех, кто хочет понять трансформеры изнутри, а не только пользоваться ими.
Код полностью прокомментирован и идёт по шагам в духе курса Andrej Karpathy Neural Networks: Zero to Hero.

Внутри:
• реализация ключевых идей GPT
• понятные разборы архитектуры
• учебный, но близкий к реальным моделям подход

Хороший мостик между теорией и практикой.

Если изучаешь Go и LLM - это отличный старт:
github.com/zakirullin/gpt-go

#golang #go #llm #gpt
Please open Telegram to view this post
VIEW IN TELEGRAM
28👍22🔥5
🚀 Go 1.26 ускоряет работу с памятью

В новом релизе Go команда сильно оптимизировала выделение памяти для малых объектов (1–512 байт).
Теперь рантайм использует специализированные версии allocator’а и таблицы переходов — чтобы быстрее подбирать нужную функцию под размер объекта, а не полагаться на одну универсальную реализацию.

📈 Что это даёт

- до 30% экономии на выделении маленьких объектов;

- примерно ~1% ускорения в реальных программах, где много аллокаций (что на масштабе — очень ощутимо).

Техническая деталь: компилятор всё ещё вызывает общий mallocgc, но на этапе выполнения он перенаправляется к новым специализированным функциям.

При необходимости поведение можно отключить флагом сборки:
GOEXPERIMENT=nosizespecializedmalloc.

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

@golang_interview
👍6815🔥12
This media is not supported in your browser
VIEW IN TELEGRAM
🎮 Server Survival - браузерная игра, которая обучает облачной архитектуре через механику tower-defense.

Что это:
Server Survival - это 3D-симулятор, где вы строите устойчивую инфраструктуру, выдерживаете растущий трафик и отбиваетесь от атак, следя при этом за бюджетом и репутацией.

Ключевые особенности:
- Реалистичные концепции облачных систем: балансировщики нагрузки, кэш, очереди, базы данных, WAF, хранилище.
- Нужно одновременно обрабатывать легитимный трафик и защищаться от DDoS-подобных атак.
- Каждый компонент имеет стоимость, пропускную способность и расход на обслуживание — всё как в настоящей архитектуре.
- Два режима: Survival (рост нагрузки) и Sandbox (свободная настройка параметров).

Технологии:
- Игра работает прямо в браузере.
- Сделана на JavaScript + Three.js.
- Не требует сборки — достаточно открыть index.html.

Кому подойдёт:
- Начинающим DevOps/Backend разработчикам,
- Всем, кто хочет наглядно понять, как масштабируются реальные сервисы,
- Тем, кто любит игры, но хочет попутно изучать архитектуру.

Репозиторий: github.com/pshenok/server-survival

@Golang_google
37👍22🔥10
👣 Опенсорсный игровой движок на Go

Это 2D/3D-движок на базе Vulkan, разрабатываемый с акцентом на производительность, предсказуемость поведения и простоту интеграции. Автор, ранее работавший с C, отмечает, что Go в данном случае демонстрирует существенно более высокую эффективность, чем обычно ожидают от языка со сборщиком мусора.

Ключевые особенности:
— Высокая производительность: пустая сцена в тестах достигает ≈5400 FPS (против ≈1600 FPS у Unity), а полноценный рендер с PBR-материалами и тенями выдаёт до ≈2700 FPS;
— Экономное использование памяти и более быстрые сборки по сравнению с популярными конкурентами;
— Поддержка нескольких платформ: Windows, Linux, Android (в рабочем состоянии), macOS - в активной разработке;
— Возможность интегрировать локальные LLM непосредственно в движок.

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

https://github.com/KaijuEngine/kaiju
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6711🥰5
Go 1.26 «всё стало быстрее»

Go 1.26 - это не просто минорное обновление, а заметный прирост скорости почти во всём:
- более быстрый GreenTea GC
- ускоренные аллокации памяти
- плюс 20–30% скорости на cgo-вызовах

🔎 Что именно изменили внутри

В рантайме Go есть сущность processor (P) — ресурс, который нужен, чтобы поток мог выполнять горутины.
Каждый P может быть в одном из состояний:
- running - выполняет код
- idle - ждёт работу
- gcstop - остановлен для сборки мусора

Раньше было ещё состояние syscall:
оно использовалось, когда горутина выполняла системный вызов или cgo.

Теперь это состояние убрали.
Вместо него рантайм просто проверяет состояние самой горутины, закреплённой за процессором.

Что это даёт

- меньше внутреннего оверхеда
- более простые и прямые код-пути
- заметное ускорение системных и cgo-вызовов

Красиво и элегантно: упрощение кода сделало работу быстрее.
🔥95👍3616🤔3
👣 Go 1.26: что нового

Опубликовал подробный тур по предстоящему релизу Golang. Часть функций мы уже успели обсудить, другие ещё разберём — а если хотите сразу всю картину целиком, заглядывайте.

Версия Go 1.26 выходит в феврале 2026 года и приносит сразу несколько важных улучшений от языка до производительности и инструментов.

В официальных релиз-нотах (сухих по стилю) мало примеров, поэтому ниже главное в понятной форме с примерами.


🆕 1. new(expr) - новый синтаксис, упрощающий код

Раньше new принимал только тип:


p := new(int)


Теперь можно передавать выражение, и это создаёт указатель на значение:



p := new(42) // *int со значением 42


Это особенно полезно, когда вы используете указатели на поля в структурах (например, для опциональных значений в JSON).


💡 2. Улучшенное проверочное API для ошибок

Появилась функция errors.AsType, которая делает проверку ошибок типобезопасной и без рефлексии:


if target, ok := errors.AsType[*net.OpError](err); ok {
fmt.Println("Network error:", target.Op)
}



Это удобнее и безопаснее, чем errors.As.

🧠 3. Green Tea garbage collector

Сборщик мусора получил значительные оптимизации:
— работает быстрее и эффективнее за счёт лучшего использования кеша и многопоточной обработки,
— снижает накладные расходы в программах с интенсивной аллокацией.


🚀 4. Быстрее cgo, системные вызовы, аллокация

— Существенно уменьшена стоимость cgo вызовов — до ~30% в сторону ускорения.
— Улучшено время системных вызовов.
— Улучшена производительность аллокации небольших объектов.


🧬 5. Experimental: SIMD и безопасное стирание секретов

В Go 1.26 появляются эксперименты, которые можно включить через GOEXPERIMENT:

• simd/archsimd — доступ к векторным (SIMD) операциям на amd64.
• runtime/secret — безопасное стирание временных данных, используемых, например, в криптографии.


📊 6. Новые метрики и инструменты

Пакет runtime/metrics расширен:
— можно отслеживать количество горутин по состояниям,
— появились дополнительные показатели для диагностики.


📦 7. Мелкие, но важные изменения

— go fix переработан на основе анализа кода (Modernizers).
— go doc становится «одной командой» для документации.
— Улучшены стандартные библиотеки, включая работу с ошибками и кодированием.

Go 1.26 не ломает обратную совместимость, но приносит:
более выразительные языковые конструкции,
ускорение выполнения и сборки,
улучшенные инструменты разработчика,
экспериментальные механизмы для высокопроизводительных и безопасных систем.

Если вы используете Go в продакшене - стоит начать тестировать ранние сборки и готовиться к обновлению.

Тур: https://antonz.org/go-1-26
Видео: https://www.youtube.com/watch?v=TxqTwSx-rI4

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
65🔥36👍19👏2😁1
👣 Гибкая библиотека для дашбордов и виджетов на Go в терминале

gotui - это современная TUI-библиотека на Go, построенная поверх tcell. Проект является обновлённым и доработанным форком termui с фокусом на производительность и возможности современных терминалов.

Основные возможности:
- Поддержка TrueColor (24-битный цвет)
- Быстрый и эффективный рендеринг без лишних перерисовок
- Гибкие flex-layoutы для адаптивных интерфейсов
- Закруглённые рамки и аккуратный внешний вид
- Обработка пользовательского ввода
- Полная функциональная совместимость с termui

Где пригодится:
- Терминальные дашборды
- Мониторинг сервисов
- DevOps и SRE инструменты
- Админки и внутренние утилиты
- Интерактивные CLI-приложения

Отличный выбор, если хочется писать красивые, современные и быстрые TUI-приложения на Go без боли и устаревших ограничений.

github.com/metaspartan/gotui

#golang #go
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥9🤔32🤯2🥰1
🖥 На Stepik вышел курс, который учит работать с Docker на реальных проектах.

Владение Docker - навык, который отличает новичка от профи,

Сегодня почти всё разворачивается в контейнерах.

Если ты не умеешь работать с Docker, ты медленнее, зависим от чужих настроек и постоянно ловишь баги «у меня локально работает».

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

Только практика и реальные кейсы от авторов Docker Академии - с нуля до уверенного уровня.

🎁 Скидка 40 процентов действует 48 часов


👉 Записывайся и сделай Docker своим настоящим рабочим инструментом.
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍6🤬6😁4🔥3
👣 Не самое заметное в Go 1.26, но важное изменение языка - рекурсивные ограничения типов в дженериках.

Раньше ограничения типов не могли напрямую или косвенно ссылаться на параметр типа.

Например, такое объявление интерфейса:


type Ordered[T Ordered[T]] interface {
Less(T) bool
}

Что приводило к ошибке компиляции: invalid recursive type: Ordered refers to itself.

Начиная с Go 1.26, этот код компилируется без проблем.


Типичный сценарий использования - обобщённый тип, который поддерживает операции с аргументами или результатами того же типа, что и он сам (например, Ordered[T]).

Такой тип можно использовать как элемент обобщённого контейнера, например Tree[T Ordered[T]].

В результате дженерики в Go стали немного более выразительными и гибкими, особенно для структур данных и алгоритмов.

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉32👍1713😱3🔥2🤯2😁1