Golang Библиотека Знаний
Open in Telegram
Библиотека бесплатных книг, курсов и ресурсов по GO https://t.me/addlist/MUtJEeJSxeY2YTFi - папка с полезными Go каналами @workakkk - admin
Show more7 983
Subscribers
+124 hours
-37 days
+330 days
Posts Archive
👣 Большой разбор собеседований на Go в 2026 году
На GitHub появился мощный репозиторий для подготовки к Golang-интервью: более 190 вопросов, каверзные задачи и live coding с решениями.
Внутри:
- 25 задач «что выведет код?»;
- 22 live coding задачи с разборами;
- goroutines, channels,
sync, atomic и memory model;
- runtime, scheduler, escape analysis и GC;
- generics и context.Context;
- HTTP, gRPC, базы данных и брокеры;
- System Design для Middle+/Senior;
- свежие изменения Go 1.22–1.27.
Есть классические задачи вроде Worker Pool, LRU Cache, Rate Limiter, Fan-in, Pipeline, TTL Cache, Singleflight и Graceful Shutdown.
По сути, готовая шпаргалка + задачник + roadmap для подготовки к Go-собеседованию.
https://github.com/justxor/sobesrazborgoogle⚡ Go Concurrency Distilled - конкурентность в Go без воды
Компактная мини-книга по concurrency в Go с интерактивными примерами кода.
Внутри:
- goroutines и channels;
-
select и pipelines;
- context и cancellation;
- WaitGroup, mutex и semaphores;
- data races и race conditions;
- atomics и object pools;
- scheduling, testing и diagnostics.
Каждый пример можно изменить и запустить прямо на странице. Есть и PDF-версия.
Быстрый гайд для тех, кто уже знает Go и хочет систематизировать конкурентность.
По заявлению автора материал полностью AI-free.
Читать: https://antonz.org/go-concurrency-distilled/🔥 Как Kronk управляет локальными LLM и не убивает VRAM
Kronk — Go SDK и model server поверх
llama.cpp, который позволяет запускать модели локально прямо внутри Go-приложения без Python-стека и отдельного inference-сервера. :contentReference[oaicite:0]{index=0}
Самое интересное — model management.
Когда вы загружаете модель, системе мало просто открыть GGUF. Нужно понять:
модель → файлы → параметры железа → доступная RAM/VRAM → context size → конфигурация запуска
Kronk автоматически подбирает настройки под конкретное железо и учитывает память не только под веса модели, но и под KV cache, compute buffers и параллельные запросы. :contentReference[oaicite:1]{index=1}
Внутри также есть:
- continuous batching
- общий экземпляр весов для нескольких запросов
- отдельный KV cache для каждой активной сессии
- кеширование уже обработанного контекста
- автоматическая загрузка совместимых llama.cpp библиотек и моделей
В итоге приложение работает с локальной LLM почти как с обычным API, а большая часть низкоуровневой возни с памятью, загрузкой и inference остаётся внутри Kronk.
https://internals-for-interns.com/posts/kronk-model-management/🔴 Тестовый собес с Go Senior с опытом работы в Ozon, ex. Ситидрайв в этот четверг
[+ разбор 50 сложных вопросов в подарок ]
17 сентября (в этот четверг!) в 19:00 по мск приходи онлайн, чтобы посмотреть на настоящее интервью на Middle Go-разработчика!
Собеседование проведёт Даниил Динько - Senior Backend Engineer, ex. TechLead tier-3 world cybercrime, ex. Senior Go в Ozon, ex. Ситидрайв
Как это будет:
📂 Даниил задаст разработчику вопросы и задачи, которые могут спросить на реальном собесе
📂 После каждого ответа респондента ты услышишь подробный комментарий от ментора и поймёшь, чего на самом деле ожидает собеседующий на интервью
📂 В конце сможешь задать любой вопрос Даниилу и получить на него развёрнутый ответ
Эфир проходит в рамках менторской программы от ШОРТКАТ для Go-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы
И ты можешь посмотреть его бесплатно 🔥
Только завтра, в прямом эфире!
🎁 Подарок для всех, кто зарегается на веб — файл с ОТВЕТАМИ НА 50 СЛОЖНЫХ ВОПРОСОВ с Go-собеседований 🔥
Переходи в бот, чтобы попасть на эфир и забрать подарок 👉 @shortcut_go_bot
Реклама.
О рекламодателе.
Утёкшие горутины теперь ищет сборщик мусора. Проверил, где он молчит
Пятьдесят из шестидесяти трёх горутин в моём тестовом сервисе не проснутся никогда. Я узнал это одной командой, без чтения дампов и без гадания по стекам.
19 августа вышел Go 1.27, и в нём из эксперимента вышел профиль goroutineleak. В релиз-ноутах ему отведено полтора абзаца, что для такой штуки маловато. Я собрал тулчейн, написал под него десяток мелких программ и полез в runtime смотреть, как это устроено внутри. Ниже то, что получилось.
https://habr.com/ru/articles/1076654/
Go: почему код может «работать», но всё равно быть неправильным
Хороший разбор Go memory model и data races без академической перегрузки.
Внутри:
— почему одна goroutine не обязана сразу видеть изменения другой
— как компилятор и CPU могут переупорядочивать операции
— что на самом деле гарантирует
happens-before
— когда нужны atomic, mutex и channels
— почему «у меня всё работает» ещё не означает, что код корректен
Особенно полезно тем, кто пишет конкурентный Go-код и хочет понимать не только API синхронизации, но и то, что реально происходит с памятью.
https://func25.dev/posts/go-memory-visibility/
#golang #goВам доклады по Go или Java? VK приглашает на митап с двойной начинкой
26 августа VK собирает Go- и Java-инженеров, чтобы прокачать знания.
В программе два трека — Go и Java, по три доклада в каждом.
Трек Go:
• «Компиляция Go в динамическую либу, или как мы ускорили выкатку фичи в два раза, но нам не понравилось», Михаил Кичигин, бэкенд-разработчик, Avito Tech
• «Go-платформа VK: как мы построили единую основу для создания Go-сервисов», Александр Апанасенко, руководитель команды SDK Backend, VK
• «Почтальон от Kubernetes до Palo Alto. Как осуществляется доставка информации об адресах», Дарья Кулькина, бэкенд-разработчик, Точка Банк
Трек Java:
• «Перформанс-трюки в поисковой платформе Ozon», Пётр Портнов, ведущий разработчик среднего поиска, Ozon
• «Архитектура современного движка платёжной системы и переход к новой архитектуре», Игорь Крикунов, технический лидер разработки DBC, Альфа-Банк
• «Переход от федерации S3-кластеров в пользу коммунального и мультитенантного кластера», Кирилл Боблак, ведущий разработчик One-cloud, VK
А ещё будет мастер-класс по прокачке навыка, который сделает вас звездой любого вечера, и афтепати, чтобы обсудить доклады в неформальной обстановке.
Встречаемся в 17:00, начало в 18:00. Участие бесплатное, регистрация обязательна.
Repost from Golang
👣 Goca - CLI-генератор для Go-проектов на Clean Architecture.
Идея простая: меньше вручную собирать слои, DTO, репозитории, handlers и DI, больше времени оставлять на бизнес-логику.
Что умеет:
•
goca init — создаёт структуру проекта
• goca feature — генерирует фичу сразу по слоям
• goca entity — создаёт domain-entities
• goca usecase — генерирует application-сервисы и DTO
• goca repository — добавляет слой хранения
• goca handler — делает HTTP/gRPC/CLI-адаптеры
• goca di — собирает dependency injection
Есть dry-run, защита от перезаписи файлов, backup перед overwrite, проверка конфликтов имён и автообновление go.mod.
GitHub: https://github.com/sazardev/gocaТы не твой стек
Зачем учиться новому, когда по самое колено в практике? Не страшно, что всё больше джунов работают наравне с сеньёрами?
Уже нельзя уметь только фреймворк, надо понимать что стоит за этим и в твоём опыте огромное преимущество, не хватает лишь малого - знаний об том как утроен мир и формула принятия решений.
Метафизика? Нет - математика.
Языки и фреймворки устаревают за 5–10 лет, стеки обновляются радикально. А способ мышления, которым ты пользуешься, чтобы разложить сложную задачу на части, остаётся с тобой навсегда.
Именно об этом курс: "Философия, математика и компьютерные науки"
Не про конкретный стек, а про то, как в принципе думать о сложных системах с опорой на философию, математику и системную инженерию.
Формат:
9 месяцев, 10 модулей, теория и практика, несколько очных сессий в Петербурге.
Кураторы:
- Андрей Родин — доктор философских наук, философ науки и математики
- Илья Егорычев — доктор философских наук, математик и логик, Soulmaths
- Вячеслав Шириков — системный архитектор, техдиректор ГК «Лартех»
До 21 июля действует скидка за раннюю регистрацию.
Программа и условия
Repost from Python/ django
Ты не твой стек
Зачем учиться новому, когда по самое колено в практике? Не страшно, что всё больше джунов работают наравне с сеньёрами?
Уже нельзя уметь только фреймворк, надо понимать что стоит за этим и в твоём опыте огромное преимущество, не хватает лишь малого - знаний об том как утроен мир и формула принятия решений.
Метафизика? Нет - математика.
Языки и фреймворки устаревают за 5–10 лет, стеки обновляются радикально. А способ мышления, которым ты пользуешься, чтобы разложить сложную задачу на части, остаётся с тобой навсегда.
Именно об этом курс: "Философия, математика и компьютерные науки"
Не про конкретный стек, а про то, как в принципе думать о сложных системах с опорой на философию, математику и системную инженерию.
Формат:
9 месяцев, 10 модулей, теория и практика, несколько очных сессий в Петербурге.
Кураторы:
- Андрей Родин — доктор философских наук, философ науки и математики
- Илья Егорычев — доктор философских наук, математик и логик, Soulmaths
- Вячеслав Шириков — системный архитектор, техдиректор ГК «Лартех»
До 21 июля действует скидка за раннюю регистрацию.
Программа и условия
Go coverage наконец стал полезнее для реальных проектов
DoltHub разобрали, как собрать единый coverage-отчет для Go не только из
go test, но и из integration-тестов, где запускается настоящий бинарник.
Главная фишка появилась еще в Go 1.20: можно собрать приложение с go build -cover, прогнать интеграционные тесты, сохранить данные через GOCOVERDIR, а потом объединить их с unit-тестами через go tool covdata.
Схема коротко:
go test -cover - покрытие unit-тестов
go build -cover - инструментированный бинарник
GOCOVERDIR - папка для coverage-данных
go tool covdata textfmt - объединение результатов
go tool cover -html - HTML-отчет
У DoltHub итоговый отчет показал 1910 файлов и среднее покрытие 49%. Но главный вывод не в цифре.
В Go coverage легко превращается в шум: if err != nil, forked-зависимости, мертвый код и автогенерация могут сильно портить картину. Поэтому процент покрытия не стоит превращать в религиозную метрику.
Правильный подход - использовать coverage как сигнал: где код вообще не тестируется, где есть рискованные зоны и куда имеет смысл направить усилия.
Хороший reminder для Go-разработчиков: покрытие полезно, когда помогает находить слабые места, а не когда просто красиво растет в CI.
https://www.dolthub.com/blog/2026-04-17-automating-go-test-coverage/⚡️ Вышло большое обновление популярного курса- Ai AI агенты, которые реально работают в проде!
Вы всё ещё пишете обёртки над ChatGPT и называете это «AI-продуктом»?
Пока вы промптите - рынок переходит на агентные системы. Те, что принимают решения, ходят в API, работают с Postgres и Redis, управляют браузером через Playwright.
И 90% таких систем ломаются между ноутбуком и продом.
AI Agents Engineering - курс, который закрывает этот разрыв. LangGraph, AutoGen, Computer Use, LLMOps. 8 модулей, 120+ шагов - от архитектуры до деплоя в Docker.
На выходе: реальный опыт на большой практической базе, а production-агент и навыки, за которые уже платят.
👉 48 часов действует скидка на курс 55 процентов: https://stepik.org/a/276971/
Что там в календаре после старта F1? ВК ДжейТи Митап!
VK приглашает Go-разработчиков на офлайн встречу 11 апреля. В программе два мощных доклада:
• Как построить платформу мини-приложений, которая безопасно масштабируется и поддерживает сторонних разработчиков, — изоляция, мультитенантность, контроль ресурсов и границы ответственности
• Как реализовать асинхронное сетевое взаимодействие с Tarantool на Go и пройти путь от наивного кода до высокопроизводительного решения с минимумом аллокаций и горутин
Никаких вводных лекций, только реальные кейсы и архитектурные решения. А в завершение — решение архитектурной задачи с обратной связью от экспертов VK и неформальное общение с коллегами.
Важно: мероприятие только офлайн, в петербургском офисе VK. Регистрация по ссылке.
👣 PentAGI - это современный инструмент для автоматизированного тестирования безопасности, который использует передовые технологии ИИ.
Проект предназначен для специалистов по информационной безопасности, исследователей и энтузиастов, которым нужен мощный и гибкий инструмент для проведения тестов на проникновение.
Чем полезен:
- анализирует инфраструктуру и веб-сервисы
- ищет уязвимости
- запускает инструменты пентеста
- интерпретирует результаты
- планирует следующие шаги атаки
github.com/vxcontrol/pentagi
#AI #CyberSecurity #Agents #LLM #GitHub
👣 Большинство изучают Go ради синтаксиса.
Ты научишься писать сервисы, которые работают в продакшене.
Это не про
«Hello, World» и горутины ради галочки.
Это про бэкенд на Go, который:
* выдерживает нагрузку
* обрабатывает тысячи запросов одновременно
* работает быстро и стабильно
* легко масштабируется
* выглядит как реальный сервис, а не учебный проект
Ты начнёшь видеть Go не как язык, а как инструмент для построения систем.
В итоге ты сможешь:
* писать высоконагруженные API
* создавать микросервисы
* работать с базами данных и очередями
* разбираться в конкурентности и производительности
* брать коммерческие backend-проекты
Это навык, который ценится на рынке.
Не «знаю Go», а умею делать быстрые и надёжные сервисы.
🎁 48 часов скидка 50% на Stepik:🚀 Docker Sandboxes - безопасный способ запускать AI-код-агентов, таких как Claude Code и другие, в изолированной среде, не навредив своей системе.
Docker Sandboxes — это экспериментальная функция, которая создаёт для агентов автономные микро-виртуальные машины (microVM) с собственным Docker-демоном. Агент работает внутри такой среды, а не напрямую на вашем компьютере, что:
- даёт агенту доступ к запуску кода, установке пакетов и работе с файлами
- сохраняет основной хост в безопасности и изоляции
- позволяет экспериментировать свободно, даже в “безнадзорном” режиме
Как это работает
1. Sandboxes создаются как изолированные microVM с собственным Docker-средой
2. Ваши рабочие директории монтируются в них, но остальная система остаётся недоступной
3. Агент может запускать контейнеры, устанавливать зависимости и изменять файлы проекта
4. Если что-то идёт не так — просто удалите sandbox и создайте новый
Поддерживаемые агенты
Платформа уже работает с:
- Claude Code
- Gemini CLI
- Codex
- Kiro
и другими агентами — с постепенным расширением списка
Зачем это нужно
AI-агенты, особенно с автономными возможностями (например, редактировать код, запускать сборки или тесты), могут случайно повредить среду или получить нежелательный доступ. Sandboxes дают им достаточно свободы для работы, но без доступа к остальной системе.
Старт
Чтобы попробовать:
docker sandbox run claude ~/my-project
📌 Подробнее: https://www.docker.com/blog/docker-sandboxes-run-claude-code-and-other-coding-agents-unsupervised-but-safely/👣 Понимание выравнивания памяти в Go
В Go важно понимать, как компилятор размещает данные в памяти - это напрямую влияет на скорость работы и объём используемой памяти.
Что такое выравнивание?
Выравнивание памяти - это правило: данные должны находиться по адресам, кратным их размеру. Это нужно, чтобы процессор мог читать и записывать значения за одну операцию.
Например:
-
int64 требует выравнивания по 8 байтам
- int32 - по 4 байтам
- byte - по 1 байту
Если значение лежит “неудобно”, CPU делает несколько операций вместо одной - это медленнее.
Почему появляется padding
Компилятор Go автоматически вставляет пустые байты (padding) между полями структуры, чтобы соблюсти правила выравнивания.
Размер структуры - это не просто сумма размеров полей.
Пример:
type Example struct {
a byte // 1 байт
b int64 // 8 байт (нужно выравнивание по 8)
c byte // 1 байт
}
Хотя “полезных” данных тут 10 байт, структура занимает больше из-за вставленного паддинга.
Почему это важно
Если структура используется миллионы раз (в кэше, массивах, базах, сетевых пакетах), лишние байты превращаются в:
• большее потребление памяти
• худшее попадание в CPU cache
• падение производительности
Как оптимизировать
• Порядок полей имеет значение.
• Крупные типы лучше ставить первыми:
type Optimized struct {
b int64
a byte
c byte
}
Так компилятору нужно меньше padding, и структура становится компактнее.
Главное правило
В Go порядок полей в структуре влияет на производительность.
Выравнивание памяти - это не микроскопическая оптимизация.
В высоконагруженных системах это даёт реальный прирост скорости и экономию памяти.
Сохрани себе - пригодится при проектировании структур данных.
Больше примеров🐶 Watchdog на Go: уроки из реального мониторинга
Крутая статья о том, как автор собирал monitoring system на Go и какие грабли поймал по дороге.
Это не “теория про метрики”.
Это практический разбор:
- как проектировать watchdog/health-check систему
- как ловить зависания и деградации сервиса
- как правильно думать про таймауты, ретраи и алерты
- почему “просто ping” - вообще не мониторинг 😄
Если пишешь микросервисы на Go или строишь инфраструктуру - обязательно сохрани.
Ссылка: nightsnest.hashnode.dev/watchdog-lessons-from-building-a-monitoring-system-in-go
🎮 Учимся создавать игры для Nintendo 64
Этот репозиторий предлагает учебник по разработке игр для Nintendo 64, охватывающий основы программирования и графики. Подходит как для новичков, так и для опытных разработчиков, желающих освоить уникальные аспекты платформы.
🚀 Основные моменты:
- Пошаговые руководства по созданию игр
- Примеры кода и графики
- Поддержка сообщества и обсуждения
- Советы по оптимизации производительности
📌 GitHub: https://github.com/clktmr/n64tutorial
🚀 Монорепозиторий на Golang: как сделать и зачем он нужен
Монорепозиторий на Go помогает хранить несколько сервисов и библиотек в одном репозитории, при этом каждый модуль остаётся независимым и может собираться отдельно. Такой подход упрощает работу команды и ускоряет CI.
📌 Что такое монорепозиторий
Монорепозиторий - это один Git-репозиторий, где лежит сразу несколько связанных проектов. В отличие от polyrepo, всё находится в одной кодовой базе, что упрощает совместную разработку и рефакторинг.
🧠 Пример структуры
├── libs/hello
│ ├── go.mod
│ └── hello.go
└── services
├── one
│ ├── go.mod
│ └── main.go
└── two
├── go.mod
└── main.go
Общая библиотека подключается через replace в go.mod, чтобы Go знал, что модуль находится внутри репозитория, а не во внешней зависимости.
🔧 Билды и автоматизация
Сборки, тесты и релизы удобно управляются через Earthly.
- каждый модуль имеет свой Earthfile
- в корне лежит главный Earthfile
- Earthly кеширует сборки и пересобирает только изменённые части проекта
Это снижает время сборки и упрощает CI/CD.
📈 Плюсы монорепо с Earthly
- единая кодовая база
- локальные зависимости и быстрые правки
- ускоренные сборки за счёт кеширования
- упрощённая настройка CI
🧩 Итог
Монорепо в Go даёт контроль, прозрачность и скорость. В сочетании с Earthly он превращается в удобную платформу для разработки и автоматизации.
Если хочешь, сделаю версию:
⭐ покороче для Telegram
⭐ с примерами go.mod
⭐ с готовыми шаблонами Earthfile для сервисов
earthly.dev/blog/golang-monorepo/