Golang

Логотип телеграм канала @golang_google — Golang
Актуальные темы из канала:
Го
Backend
Eventsourcing
Databases
Edgecomputing
Systemdesign
Crdt
Distributedsystems
Golang
Gin
All tags
Адрес канала: @golang_google
Категории: Технологии
Язык: Русский
Количество подписчиков: 39.57K
Описание канала:

admin - @haarrp
https://t.me/golangl - golang чат
https://t.me/golangtests go тесты
https://t.me/ai_machinelearning_big_data машинное обучение
@itchannels_telegram
РКН: clck.ru/3Fmx3s
#VRHSZ

Рейтинги и Отзывы

3.67

3 отзыва

Оценить канал golang_google и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

2

3 звезд

1

2 звезд

0

1 звезд

0


Последние сообщения

9 янв
Не самое заметное в 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
5.35K views09:05
Подробнее
Поделиться:
Открыть/Комментировать
9 янв
На Stepik вышел курс, который учит работать с Docker на реальных проектах.

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

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

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

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

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

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


Записывайся и сделай Docker своим настоящим рабочим инструментом.
5.29K viewsedited  07:02
Подробнее
Поделиться:
Открыть/Комментировать
8 янв
Гибкая библиотека для дашбордов и виджетов на Go в терминале

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

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

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

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

github.com/metaspartan/gotui

#golang #go
5.82K views10:00
Подробнее
Поделиться:
Открыть/Комментировать
6 янв
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
Видео:



@Golang_google
8.18K views07:02
Подробнее
Поделиться:
Открыть/Комментировать
3 янв
Go 1.26 «всё стало быстрее»

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

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

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

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

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

Что это даёт

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

Красиво и элегантно: упрощение кода сделало работу быстрее.
9.74K views09:01
Подробнее
Поделиться:
Открыть/Комментировать
2 янв
Опенсорсный игровой движок на 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
9.52K views10:02
Подробнее
Поделиться:
Открыть/Комментировать
30 дек 2025
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
11.2K views10:01
Подробнее
Поделиться:
Открыть/Комментировать
29 дек 2025
Go 1.26 ускоряет работу с памятью

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

Что это даёт

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

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

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

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

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

@golang_interview
9.76K views07:28
Подробнее
Поделиться:
Открыть/Комментировать
26 дек 2025
Пишем GPT с нуля на Go

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

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

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

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

#golang #go #llm #gpt
3.83K views10:10
Подробнее
Поделиться:
Открыть/Комментировать
26 дек 2025
Участвуйте в исследовании Golang‑индустрии!

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

Чтобы собрать данные, мы разработали краткий опрос на 3 минуты. Ваши ответы:
• станут ключевым источником данных для масштабного исследования Golang‑сообщества;
• помогут нам сформировать максимально релевантную программу конференции GolangConf 2026;
• позволят выявить актуальные тренды и болевые точки.

По завершении исследования мы опубликуем его результаты — вы сможете увидеть, как ваш вклад повлиял на общую картину.

Бонус за участие: в знак благодарности мы предоставим вам доступ к полному архиву видеозаписей конференции HighLoad++ 2025.

Пройти опрос

#реклама
О рекламодателе
4.01K views08:10
Подробнее
Поделиться:
Открыть/Комментировать
25 дек 2025
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
4.54K views16:26
Подробнее
Поделиться:
Открыть/Комментировать
25 дек 2025
Пора отвлечься от хотфиксов на приятные хлопоты

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

Чтобы посоревноваться за подарки:
подпишитесь на наш канал @backendhubvk
нажмите кнопку «Участвовать»
почитайте по ссылке информацию об организаторе, правилах и призах
дождитесь 30 декабря — в этом посте мы выберем случайным образом 6 победителей
4.47K views13:51
Подробнее
Поделиться:
Открыть/Комментировать
25 дек 2025
Новый продвинутый планировщик заданий для PostgreSQL - лучше, чем cron

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

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

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

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

#golang #postgresql #devops #golang
5.02K views10:01
Подробнее
Поделиться:
Открыть/Комментировать
25 дек 2025
Что загадывает DevOps на Новый год?

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

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

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

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

Попробовать
5.08K views08:45
Подробнее
Поделиться:
Открыть/Комментировать
23 дек 2025
Что выведет программа?


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.

Запустить код
5.44K views10:13
Подробнее
Поделиться:
Открыть/Комментировать
23 дек 2025
Тестовое собеседование с Go-разработчиком из Яндекса

25 декабря(уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Go-разработчика.

Как это будет:
Владислав Кирпичов, Go-разработчик в Яндексе, ex-VK, будет задавать реальные вопросы и задачи разработчику-добровольцу
Влад будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
В конце можно будет задать любой вопрос Владу

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Go-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир →
@shortcut_go_bot

Реклама.
О рекламодателе.
5.82K views08:32
Подробнее
Поделиться:
Открыть/Комментировать
22 дек 2025
Разработка LLM приложений на Go с Eino

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

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

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

#go
6.95K views08:45
Подробнее
Поделиться:
Открыть/Комментировать
20 дек 2025
Создание AI-агентов с ADK для Go

Agent Development Kit (ADK) - это мощный инструмент для разработки, оценки и развертывания AI-агентов на Go. Он предлагает гибкость и контроль, позволяя создавать как простые, так и сложные системы. Оптимизированный для облачных приложений, ADK поддерживает параллелизм и производительность Go.

Основные моменты:
- Код-ориентированная разработка для максимальной гибкости.
- Модульные системы с возможностью комбинирования агентов.
- Интеграция с существующими инструментами и библиотеками.
- Легкость развертывания в облачных средах.
- Поддержка различных моделей и фреймворков.

GitHub: https://github.com/google/adk-go

#go
7.66K views10:02
Подробнее
Поделиться:
Открыть/Комментировать
18 дек 2025
Eletrize - live-reload инструмент для Go и других языков: слежка за изменениями файлов + автоматический запуск команд для ускорения разработки и тестирования.

Что важно:
• Следит за изменениями и запускает команды (например, сборку/перезапуск сервера)
• Поддерживает конфиги в YAML/JSON
• Может наблюдать несколько схем/папок
• Интегрируется с VSCode launch.json
• Работает не только с Go, но и с другими языками при настройке
• MIT-лицензия, простой в установке через go install

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

GitHub: https://github.com/lasfh/eletrize
8.62K views10:03
Подробнее
Поделиться:
Открыть/Комментировать
17 дек 2025
Вышел Go 1.26 Release Candidate 1!

Версия, предназначенная для тестирования перед финальным релизом.

Что важно:

- Стабилизация и полировка
Основной фокус RC - исправления, совместимость и подготовка экосистемы к релизу.

- Рантайм и производительность
Добавлены улучшения работы runtime и сборщика мусора, снижение накладных расходов в типичных продакшн-сценариях.

- Инструменты разработки
Улучшения в go toolchain, диагностике, тестировании и профилировании.

- Стандартная библиотека
Небольшие, но важные доработки и фиксы API.

Разработчиков просят:
- прогнать тесты на своих проектах
- попробовать RC в dev / staging
- зарепортить баги до финального релиза


Анонс: https://groups.google.com/g/golang-announce/c/i0ei8EKtYjc/m/h0jl7InPCwAJ
Скачать: https://go.dev/dl/#go1.26rc1
Ищите баги и отправляйте репорты: https://go.dev/issue/new


#golang #go

@Golang_google
9.36K views06:40
Подробнее
Поделиться:
Открыть/Комментировать
16 дек 2025
Вышел TinyGo 0.40 - компилятор Go для микроконтроллеров и встраиваемых систем.

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

Сборка идёт через LLVM, библиотеки - из стандартного Go, лицензия BSD.

Что важно:
Более 100 поддерживаемых плат — Arduino, ESP32, STM32, Raspberry Pi Pico и другие
Драйверы для GPIO, I2C, SPI и работы с датчиками
Оригинальная модель памяти Go со сборщиком мусора
Генерация машинного кода и WebAssembly (WASI)

Что нового в 0.40:
Оптимизации GC — до +10% производительности
Поддержка LLVM 20
Новые платы: ESP32-S3, Xiao ESP32-S3, Gopher ARCADE, Pico2-Ice
Флаг go-compatibility для гибкого контроля совместимости с Go
Улучшения линковки и анализа defer (алгоритм Тарьяна)

TinyGo продолжает доказывать, что Go подходит не только для серверов, но и для embedded.

Project: https://tinygo.org/
Github: https://github.com/tinygo-org/tinygo

@Golang_google
9.05K views10:03
Подробнее
Поделиться:
Открыть/Комментировать
15 дек 2025
errors-AsType: идея, которая делает работу с ошибками в Go проще

В Go, чтобы проверить тип ошибки, обычно используют errors.As, но это требует заводить временные переменные и делает код громоздким. В статье предлагается более удобный подход - обёртка AsType, которая сразу возвращает ошибку нужного типа.

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

• Код становится короче: никаких var e *MyError заранее.
• Проверка выглядит чище:
if e := errors.AsType[*MyError](err); e != nil { … }
• Удобно, когда нужно последовательно обработать несколько типов ошибок.

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

Кому полезно: всем, кто пишет стабильный продакшн-код на Go и работает с elaborate-ошибками.

https://antonz.org/accepted/errors-astype/
8.07K views14:36
Подробнее
Поделиться:
Открыть/Комментировать
15 дек 2025
Какой план на последнюю рабочую пятницу? У нас — AvitoTechno

Уже все говорят, что это будет главная онлайн-техно-вечеринка для ИТ-комьюнити!

Что там будет:
сеты от разработчиков диджей-команды AvitoTech;
выступление BÖRIS REDWÄLL и группы LAVBLAST;
розыгрыш лимитированного AvitoTechno-бокса (птички напели, что там свитер, шапка, обвес и снежный шар с котиком!).

Как попасть?

Забирайте свой бесплатный билет в боте.

Встретимся на AvitoTechno. Проводим этот рабочий 2025-й технично и крышесносно
7.84K views12:35
Подробнее
Поделиться:
Открыть/Комментировать
14 дек 2025
The 2025 State of Go Cryptography

Filippo Valsorda опубликовал ежегодный обзор состояния криптографии в Go за 2025 год. Это отчёт о том, что реально изменилось в одном из самых критичных слоёв экосистемы Go.

Самое интересное:

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

Post-quantum криптография - уже не теория
В Go активно внедряются механизмы post-quantum key exchange. Это подготовка к будущему, где квантовые компьютеры могут ломать текущие схемы. Важно, что это делается аккуратно и без ломки существующих API.

FIPS 140 и корпоративные требования
Большая часть работы была направлена на совместимость с FIPS 140 - стандартом, который критичен для госструктур, банков и крупных компаний. Go всё увереннее чувствует себя в строго регулируемых средах.

Аудиты и безопасность
Криптографические библиотеки прошли профессиональный аудит, и критических проблем обнаружено не было. Это редкий, но очень важный сигнал для языка, который используется в инфраструктуре, облаках и безопасности.

Философия развития
Go не гонится за экспериментами в криптографии. Приоритеты остаются прежними:
- простые и безопасные API
- минимизация возможности неправильного использования
- предсказуемость и совместимость
- консервативные, но проверенные решения

Главный вывод:
Криптография в Go - это не место для хайпа. Это фундамент, который год за годом становится крепче. Язык всё глубже закрепляется как безопасный выбор для инфраструктуры, сетей, облаков и систем, где ошибка стоит слишком дорого.

Для разработчиков это означает одно: на криптографический стек Go можно продолжать полагаться без оговорок.

https://words.filippo.io/2025-state/

@Golang_google

#golang #go
7.48K views10:03
Подробнее
Поделиться:
Открыть/Комментировать
13 дек 2025
Implementing Tail at Scale in Go - как строить высоконагруженный tail-сервис

Любопытная статья, в которой показано, как реализовать масштабируемый tail-механизм на Go для чтения и обработки данных в реальном времени. Речь не про «прочитать файл до конца», а про системы, которые постоянно слушают источники и реагируют на новые события.

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

Ключевые проблемы, которые нужно решить:
- непрерывное чтение данных без блокировок
- обработка тысяч событий параллельно
- устойчивость к ошибкам и сбоям источников
- масштабирование без сложной синхронизации

Почему Go хорошо подходит:
- легкие goroutine
- каналы вместо shared state
- простая модель конкурентности
- удобный graceful shutdown через context

Базовая архитектура tail-сервиса:
- reader читает данные из источника и кладет в канал
- parser превращает сырые строки в структуру
- filter отбрасывает ненужные события
- dispatcher рассылает данные дальше (метрики, алерты, стримы)

Важный принцип - никакой тяжелой логики в одном месте. Каждый этап независим и общается через каналы.

Ключевые паттерны:
- неблокирующий select вместо бесконечных циклов
- ограниченные по размеру каналы для backpressure
- worker-пулы для обработки нагрузки
- context для остановки всех горутин без утечек

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

Tail at scale - это не про файлы, а про потоковую архитектуру. Если правильно выстроить пайплайн из goroutine и каналов, Go позволяет строить надежные realtime-системы, которые легко масштабируются и остаются понятными в поддержке.

Это отличный пример того, как идиоматичный Go решает задачи стриминга и realtime-обработки без лишней сложности.

https://jitesh117.github.io/blog/implementing-tail-at-scale-in-golang/

#golang #go

@Golang_google
7.76K viewsedited  06:38
Подробнее
Поделиться:
Открыть/Комментировать
12 дек 2025
Terminal Excel Viewer for Fast Data Management

Vex TUI - это мощный терминальный интерфейс для просмотра Excel и CSV файлов. Он предлагает шесть стильных тем, удобную навигацию с поддержкой Vim и множество функций для работы с данными, включая визуализацию и экспорт. Идеально подходит для тех, кто предпочитает работать в терминале.

Основные моменты:
- Поддержка Excel и CSV файлов
- Шесть красивых тем оформления
- Визуализация данных с графиками
- Удобные клавиатурные сокращения
- Оптимизация для работы с большими файлами

GitHub: https://github.com/CodeOne45/vex-tui

#go
8.66K views09:03
Подробнее
Поделиться:
Открыть/Комментировать
12 дек 2025
От первой строчки кода — до миллионов запросов в секунду.

В VK бэкендеры решают задачи, которые действительно меняют цифровой ландшафт. Узнайте об их принципах работы и драгоценных победах. По ссылке — истории из первых рук и вакансии для тех, кто не боится вызовов.
8.25K views08:00
Подробнее
Поделиться:
Открыть/Комментировать
10 дек 2025
Мнение: Gin - очень плохая программная библиотека,
и у автора есть много аргументов, почему.

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

Главные идеи:

• Простота Gin обманчива, он прячет логику, которую разработчики не контролируют.
• Middleware-цепочки легко становятся неявными и сложными для отладки.
• Встроенная магия (binding, context, handlers) делает код удобным, но снижает прозрачность.
• Производительность на реальных нагрузках может страдать, особенно при интенсивной сериализации и работе с JSON.
• Автор продвигает мысль: чем легче фреймворк кажется, тем труднее понять, как он ломается.

Gin хорош для старта и прототипов, но в крупных системах нужно либо тщательно контролировать то, что он делает “за вас”, либо рассматривать более прозрачные подходы.

https://eblog.fly.dev/ginbad.html

@Golang_google

#golang #go #gin
3.24K views09:33
Подробнее
Поделиться:
Открыть/Комментировать
10 дек 2025
Чтобы не собирать вручную десятки однотипных команд для облачной CLI, мы в MWS Cloud Platform сделали генератор: он берёт OpenAPI-спеки и сам создаёт готовый инструмент для управления облаком.

В статье кратко:

— почему выбрали Go + Cobra и кодогенерацию;
— как из путей и методов рождаются mws ;
— профили, автообновление, удобный вывод;
— что получилось в итоге и зачем это бизнесу.

Читать статью
3.77K views08:04
Подробнее
Поделиться:
Открыть/Комментировать
9 дек 2025
Расширенный планировщик задач для PostgreSQL

pg_timetable - это мощный планировщик задач для PostgreSQL, который предлагает гибкие возможности для автоматизации выполнения SQL-команд и системных программ. Он полностью управляется из базы данных и поддерживает сложные сценарии планирования, включая цепочки задач и автоматическое повторение пропущенных заданий.

Основные моменты:
- Полностью управляемая конфигурация через базу данных
- Поддержка YAML для удобного определения цепочек задач
- Возможность передачи параметров и автоматического повторения задач
- Встроенные задачи, такие как отправка email и импорт файлов
- Расширенные возможности планирования по типу cron

GitHub: https://github.com/cybertec-postgresql/pg_timetable

#go #golang
4.81K views09:00
Подробнее
Поделиться:
Открыть/Комментировать