38.6K subscribers
1.62K photos
44 videos
5 files
1.76K links
admin - @haarrp

https://t.me/Golang_google - Golang разработка

https://t.me/golangl - golang чат

https://t.me/golangtests go тесты

https://t.me/ai_machinelearning_big_data машинное обучение

@itchannels_telegram

РКН: clck.ru/3Fmx3s
Download Telegram
Что нужно сделать первым делом, когда открыл офис в новом городе? Устроить вечеринку! 😀

Так поступили и Авито в Нижнем Новгороде — зовут инженеров 3 сентября на IT-квест по городу, который завершится вечеринкой с нетворкингом и Fuckup Night в секретном месте.

Пересылайте пост друзьям, с которыми пойдёте, и не забудьте зарегистрироваться по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🥰2
🧠 CasCache — CAS-безопасный кэш для Go с валидацией чтения и «bulk»-наборов

Что это
- Кэш «как CAS»: записи защищены поколениями (generation). Запись проходит только если поколение ключа не изменилось.
- Singles: никогда не вернёт «протухшее» значение; битые/чужого типа записи самовосстанавливаются (самоочистка).
- Bulk: кэширует набор ключей; при чтении каждый элемент сверяется с актуальным поколением — если хоть один устарел, весь набор отбрасывается и читается по одиночке.
- Подключаемые провайдеры значений: Ristretto / BigCache / Redis.
- Подключаемые кодеки: JSON/Msgpack/CBOR/Proto (можно навесить компрессию/шифрование).
- Distributed GenStore (опционально): хранит поколения в Redis для корректности между репликами и переживания рестартов.

Зачем это нужно
- Без «грязных» чтений при гонках читателя/писателя.
- Нулевая «write amplification» при чтении — валидация только на чтении.
- Гибкий выбор провайдера/кодека, можно начать локально и дорастить до кластера (с общим GenStore).

Быстрый старт

import (
"context"
"time"

"github.com/unkn0wn-root/cascache"
rp "github.com/unkn0wn-root/cascache/provider/ristretto"
)

type User struct{ ID, Name string }

func buildCache() cascache.CAS[User] {
rist, _ := rp.New(rp.Config{
NumCounters: 1_000_000,
MaxCost: 64 << 20,
BufferItems: 64,
Metrics: false,
})
cc, _ := cascache.New[User](cascache.Options[User]{
Namespace: "user",
Provider: rist,
Codec: cascache.JSONCodec[User]{},
DefaultTTL: 5 * time.Minute,
BulkTTL: 5 * time.Minute,
// GenStore: nil → локально; для кластера подключите Redis GenStore.
})
return cc
}

func readUser(ctx context.Context, c cascache.CAS[User], id string) (User, bool) {
if u, ok, _ := c.Get(ctx, id); ok { return u, true }
obs := c.SnapshotGen(id) // снять поколение ДО чтения БД
u := loadFromDB(id)
_ = c.SetWithGen(ctx, id, u, obs, 0) // запись пройдёт только если поколение не изменилось
return u, true
}


📌Репозиторий: github.com/unkn0wn-root/cascache
👍119🔥5
👣 Build Your Own Coding Agent via a Step-by-Step Workshop

Workshop по Go для тех, кто хочет собрать своего собственного кодинг-агента.

Это практический гайд — шаг за шагом показывают, как из Go сделать среду для генерации кода.

По сути похоже на Roo Code, Cline, Amp, Cursor, Windsurf или OpenCode, но в этом гайде упор идет на то, чтобы понять механику изнутри.

🟢Github

@golang_google

#go #golang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍176🔥6
👣 TaskWing — менеджер задач в терминале с поддержкой AI

TaskWing — это инструмент для разработчиков, который позволяет вести список задач прямо в терминале и подключать к этому процессу искусственный интеллект (Claude Code, Cursor) через протокол MCP.

🟠Что умеет
- Подключается к AI и помогает создавать, менять и искать задачи.
- Не требует сложной настройки — всё хранится локально.
- Умеет отслеживать зависимости между задачами, чтобы не было конфликтов.
- Делает работу удобной: минимум переключений между редактором и терминалом.

Как использовать:

go install github.com/josephgoksu/taskwing.app@latest
taskwing init
taskwing add --title "Fix auth bug" --priority urgent


📌 Github
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍3🔥3😢2😁1
💻 kubectl-browse-pvc — плагин для kubectl, который позволяет пользователям удобно просматривать данные в Persistent Volume Claims (PVC) в Kubernetes!

🌟 Этот инструмент предоставляет возможность быстро монтировать PVC в поды Kubernetes и просматривать содержимое томов через файловую систему, что упрощает процесс диагностики и работы с данными в Kubernetes.

🌟 Плагин работает как расширение для kubectl, добавляя команду kubectl browse-pvc. Это позволяет пользователю быстро исследовать данные в томах Kubernetes без необходимости вручную настраивать монтирование томов или взаимодействовать с подами через командную строку. Пользователь может указать имя PVC, и плагин автоматически создает под с монтированным PVC, предоставляя удобный доступ к его содержимому для чтения и диагностики.

🔐 Лицензия: MIT

🖥 Github

@golang_google

#go #golang #Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 LeetSolv — инструмент для тренировки алгоритмов прямо в терминале

LeetSolv — это консольная утилита, написанная нп Go для подготовки к собеседованиям по алгоритмам и структурам данных.

Инструмент помогает повторять задачи по умному расписанию (алгоритм SM-2) и не забывать то, что уже решал.

Что умеет:
- Лёгкий CLI без лишних зависимостей (написан на Go).
- Планирует повторения задач с учётом:
- насколько хорошо ты знаешь задачу,
- насколько она важна,
- насколько сложно её понять.
- Автоматически выставляет приоритеты: что решать сначала, что можно отложить.
- Полный набор команд: добавить, удалить, редактировать задачи, откатить изменения.
- Все данные хранятся только у тебя локально.
- Два режима работы:
- интерактивный (вопрос-ответ в терминале),
- командный (`add`, list, search и т.п.).

📦 Установка:

curl -fsSL https://raw.githubusercontent.com/eannchen/leetsolv/main/install.sh | bash


📌 Github: https://github.com/eannchen/leetsolv
27👍8🔥4🤔4
🌐 kairos — проект с открытым исходным кодом, предназначенный для создания и управления операционными системами, которые могут работать в условиях облачных и распределённых инфраструктур!

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

🌟 Kairos отличается от традиционных операционных систем тем, что использует концепцию "Immutable Infrastructure" — это означает, что система не изменяется после развертывания, а любые обновления или изменения состояния происходят через повторное развертывание или обновление контейнеров, а не через обычные патчи и апдейты. Это делает её очень устойчивой к ошибкам и уязвимостям, так как в случае необходимости можно быстро восстановить систему из базового образа.

🔐 Лицензия: Apache-2.0

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥3😁1
👣 Zek: быстрое создание структур из XML

Библиотека zek позволяет автоматически генерировать Go-структуры из XML-документов.
Полученные структуры идеально подходят для чтения и парсинга XML.

🔗 Repo: https://github.com/miku/zek
#golang #xml #devtools

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30😁16🔥43
🗄️ SQL-редактор в браузере

Запускается как Go HTTP-сервер и открывается прямо в браузере.
Подходит для простых ETL-задач:

- перенос данных между базами
- работа с Excel-таблицами
- поддержка JSON и CSV

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

👉 https://github.com/a-le/db-portal

#golang
👍97🤔3🥰2
VK JT = Java + Go!

16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге.

В программе:
— Максимально практические доклады от техлидов VK о трансформации ВКонтакте, переходе части сервисов на Go и об устройстве и развитии единой видеоплатформы VK
— Командные бэкенд-баттлы под менторством опытных разработчиков VK — кейсы, вдохновлённые реальной архитектурой VK
Задавайте вопросы экспертам, ищите лучшее командное решение кейса и оставайтесь на афтепати: нетворкинг, фуршет, свободное общение с коллегами.
Только офлайн, в офисе VK на Мойке.

🎟 Участие бесплатное, почитать подробнее и зарегистрироваться вы сможете на сайте
😁7🤬4👍31
👣 Эта статья посвящена оптимизации использования памяти в приложениях, написанных на Go!

🌟 В статье описано 20 экспертных техник и методов, которые помогут разработчикам улучшить производительность своих приложений, минимизировать использование памяти и предотвратить проблемы с утечками памяти.

🔗 Ссылка: *клик*

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍157🔥3
ИТ-специалисты Петербурга, общий сбор 

6 и 7 сентября пройдет ИТ-фестиваль «Сезон кода» для опытных разработчиков, ML-инженеров, архитекторов, специалистов по информационной безопасности и других ИТ-специалистов.

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

В первый день:
— Разберетесь в архитектуре систем, надежности и работе с данными. 
— Узнаете, как технологии помогают решать задачи клиентов и бизнеса.
— Поймете, как идеи становятся инструментами и продуктами.

Во второй день: 
— Услышите про актуальные подходы к обеспечению информационной безопасности в разработке.
— Узнаете про backend-принципы, которые помогают работать эффективнее.
— Увидите, как работают LLM и куда все это движется.

Выбирайте один из дней или посетите оба. Встреча пройдет в новом ИТ-хабе Т-Технологий в Санкт-Петербурге.

Успейте зарегистрироваться до 5 сентября
5🤬1
🛠 Go tip: как правильно использовать sync.Pool

sync.Pool — это потокобезопасный пул временных объектов в Go. Он помогает переиспользовать объекты, снижая аллокации и нагрузку на GC. Отлично подходит для буферов и временных структур.

Важные моменты:
- GC может очистить пул — он не вечное хранилище.
- Объекты нужно сбрасывать перед возвратом, иначе вернутся «грязные» данные.
- Для больших или сильно разных по размеру объектов может привести к перерасходу памяти.

Рекомендации:
- Использовать только для короткоживущих и предсказуемых объектов.
- Сбрасывать или обнулять состояние перед Put.
- Профилировать приложение (`pprof`, `MemStats`) и смотреть эффект.

📌 Пример:

var bufPool = sync.Pool{
New: func() interface{} {
return make([]byte, 1024) // создаём буфер 1КБ
},
}

func process() {
buf := bufPool.Get().([]byte)
defer bufPool.Put(buf[:0]) // сброс длины перед возвратом
// работа с buf...
}


👉 Подробнее
👍189🔥2
🤯 Вышли Go 1.25.1 и Go 1.24.7!

🔐 Security: исправлена уязвимость в net/http (CVE-2025-47910).

📣 Анонс: https://groups.google.com/g/golang-announce/c/PtW9VW21NPs/m/DJhMQ-m5AQAJ
⬇️ Скачать: https://go.dev/dl/#go1.25.1

#golang #security #release

@golang_google
1👍3213🔥7
Docker и Kubernetes: основы разработки под облачную инфраструктуру

Курс для тех, кто хочет держать свой стэк и знания актуальными и глубоко разбираться, как устроены Docker, Kubernetes, и современная облачная инфраструктура в целом.

🌐 Чему вы научитесь:

🤩 Создавать облачную инфраструктуру «с нуля» управление и конфигурация серверов с Terraform, Ansible, cloud‑init
🤩 Уверенно работать с Docker: Dockerfile, слои, кэш, многоступенчатые сборки, реестры, безопасность, air‑gapped
🤩 Проектировать многоконтейнерные приложения: паттерны Sidecar, Ambassador, Adapter, проверки (liveness/readiness), DaemonSet и поды
🤩 Настраивать сеть и балансировку в Kubernetes
ClusterIP, Services, Ingress, MetalLB, TLS/SNI, сервис‑меши (Istio)
🤩 Организовывать хранение данных: PersistentVolumes / PVC, StorageClasses, резервное копирование. Упаковка в Helm и поддержка через Operator

🥸 Кто мы: R&D-центр Devhands. Автор курса — Николай Ихалайнен, эксперт по СУБД и бекенду (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО.

🗓 Старт курса: 17 сентября, 6 недель обучения.
Изучить программу и записаться можно здесь.

Ждем вас!

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxNnFKA
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥5👍4🤬1
🛠️ Удобный инструмент для управления кластерами Postgres

Ivory — это инструмент с открытым исходным кодом, который упрощает работу с кластерами Postgres, предоставляя удобный интерфейс для разработчиков и администраторов баз данных. Он позволяет управлять конфигурацией кластера, выполнять запросы и контролировать состояние в одном месте.

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

📌 GitHub: https://github.com/veegres/ivory

#go
👍8🔥43