Golang Библиотека Знаний
Open in Telegram
Библиотека бесплатных книг, курсов и ресурсов по GO https://t.me/addlist/MUtJEeJSxeY2YTFi - папка с полезными Go каналами @workakkk - admin
Show more7 969
Subscribers
-524 hours
-187 days
-4130 days
Posts Archive
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/🔥 На Stepik вышел большой исчерпывающий курс по Docker
Этот курс с упором на практику - не про команды наизусть.
Он про то, как делать рабочие окружения, которые запускаются одинаково у всех и в dev, и в проде.
Ты научишься:
• упаковывать любые приложения в контейнеры
• собирать лёгкие и безопасные образы
• поднимать несколько сервисов через docker-compose
• быстро находить и чинить проблемы
Только практика. Только то, что реально используют в проектах.
🎁 В честь кого года 48 часов - скидка 50 %
👉 Не трать время в новом году, Начни с изучения реально полезных навыков.
+2
👣 Go Мстители: Битва за Цифровую Вселенную
🔥Баги захватывают мир и только ты можешь их остановить 🔥
Прокачай суперсилу Go-кодинга, сразись с вирусами, дедлоками и гонками данных -
и стань Стражем Цифровой Вселенной.
⚡ В это текстовой игре-кветсе реальные задачи, эпичные битвы и путь от нуля до профи.
Готов спасти код или он уничтожит всё?
⚡️ Начать игру: https://uproger.com/golang-avengers-bitva-za-czifrovuyu-vselennuyu-kvest-igra-dlya-izucheniya-go/
👣 Go для начинающих большой учебник. Урок 1 понятное введение в язык и его философию
В этом учебнике ты не просто выучишь синтаксис.
Ты поймёшь, как думает Go, почему в нём всё сделано именно так и как писать код, который выдерживает рост проекта и нагрузки.
👉 Читать
⚡️ Rust против Go: что учить в 2026 году
Коротко:
- хочешь быстрее выйти в прод и писать сервисы - начни с Go
- хочешь копать низкоуровневые вещи и максимально безопасный перфоманс - смотри в Rust
Разберём по полкам.
1. Куда движется индустрия в 2026
Go:
- backend сервисы и микросервисы
- высоконагруженные API и инфраструктура
- DevOps инструменты, CLI, платформы
- Kubernetes экосистема, cloud native
Rust:
- системы рядом с железом
- базы данных, движки, брокеры, runtime и компиляторы
- безопасный high performance код
- крипта, блокчейн, embedded, игры и движки
Оба языка в тренде, просто сферы разные.
2. Порог входа
Go:
- простой синтаксис
- минимум концепций
- легко войти после Python, JS, PHP
- быстрое попадание в прод код
Rust:
- сложнее ментально: владение памятью, lifetimes, borrow checker
- первые недели будут больными, потом язык начинает отбивать вложения
- отлично дисциплинирует мозг
Если тебе нужно быстро найти первую работу - Go проще.
3. Безопасность и перфоманс
Go:
- хорошая производительность
- GC, удобная конкуренция через goroutines
- иногда платишь перфомансом за удобство
Rust:
- без сборщика мусора
- максимально строгая модель памяти
- можно выжать железо почти как на C, но без типичных segfault и гонок данных
Если тебе важен каждый микросекунд и байт памяти - Rust сильнее.
4. Рынок и вакансии
Go:
- много вакансий под web backend и инфраструктуру
- компании мигрируют старые сервисы на Go
- нужен как рабочая лошадка в продуктовых командах
Rust:
- вакансий меньше, но они часто более нишевые и интересные
- ядро систем, движки, платформы, R&D команды
- больше шанс попасть в "глубокую" инженерию, а не просто крутить CRUD
5. Как выбрать именно тебе
Выбери Go, если:
- хочешь войти в индустрию как backend или platform engineer
- любишь простые и понятные инструменты
- хочешь как можно быстрее писать полезный прод код
Выбери Rust, если:
- тебя тянет к системному программированию и низким уровням
- нравится разбираться, как всё устроено под капотом
- готов терпеть сложный вход ради мощного результата
Гибкий вариант на 2026:
- начать с Go, чтобы быстро выйти в прод и набрать опыт
- параллельно постепенно осваивать Rust для сложных и интересных задач
Не выбирай язык по хайпу, выбирай под те проекты, которые ты хочешь реально делать через 2-3 года.
Видео: https://www.youtube.com/watch?v=-aX5NDIwIFQ
👣 Учебник Go (Golang) для начинающих
Главная идея Go минимализм: меньше «магии», больше понятного и предсказуемого кода. Поэтому он быстро осваивается, даже если вы только начинаете путь в программировании.
В этом учебнике мы шаг за шагом разберём основные конструкции Go, научимся писать программы, работать с пакетами и запускать простые сервисы. Всё - практично, лаконично и без лишней сложности.
https://uproger.com/uchebnik-go-golang-dlya-nachinayushhih/
Repost from Golang
🎆 Вышли версии 1.25.4 и 1.24.10!
📰 Анонс: https://groups.google.com/g/golang-announce/c/tVVHm9gnwl8/m/-oTvYIjCAQAJ
⬇️ Скачать: https://go.dev/dl/#go1.25.4
@Golang_google
#golang #go
Go давно вышел за рамки веба. На нём уже пишут базы и прокси, видео-сервисы, блокчейн-узлы, компиляторы и даже игры — и делают это не ради эксперимента, а в продакшене.
В новом сезоне онлайн-конференции Podlodka Go Crew (10-14 ноября) разбираемся, как язык открывает путь к более сложным и интересным задачам — от инфраструктуры и DevEx до real-time и системных сервисов — и почему это отличный шанс вырасти как инженер.
В программе:
⚙️ Как сделать быстрый клиент для базы данных. Разберём, как реализовать асинхронное взаимодействие с БД на Go на примере Tarantool, какие оптимизации реально ускоряют код и как эволюционировать от наивного решения до производительного, — вместе с Олегом Жуковцом (VK Tech).
🌐 Как управлять сетями прямо из Go. Посмотрим, как устроены интерфейсы в Linux, как ими управлять и собирать сложные топологии без боли. Узнаем, как работает CNI в Kubernetes и почему мир виртуальных сетей держится на Go, в докладе Даниила Губанова (Точка).
🔒 Блокчейн как real-time система. Без маркетинга: только Go, каналы, горутины и контроль над хаосом. Разберём блокчейн как инженерную задачу: сеть, криптографию и конкуррентность — вместе с Ниной Лукиной (01tech).
💬 Круглый стол «Когда Go выходит за рамки». Поговорим с нанимающими тимлидами о том, кого ищут под нестандартные Go-задачи: где важны инженерная зрелость, осознанность и умение разбираться в системах под капотом, — и как туда попасть.
💡Тем, кто хочет вырасти из CRUD-сервисов и попробовать себя в системных и инфраструктурных задачах, будет особенно полезно.
🗓 Билеты уже на https://podlodka.io/gocrew
По промокоду goproglib получите скидку🔥
👣 Что нового в Go 1.25 разбираем новую версию. #golang #go
📌 Подробности
https://www.youtube.com/watch?v=3q-RfAehweU
⚡ Интересный факт про работу Go
Обычно неиспользуемые методы в проекте не попадают в итоговый бинарник.
Но если в коде есть хотя бы один вызов
MethodByName через reflection —
в бинарь будут скомпилированы все методы, даже неиспользуемые.
https://github.com/golang/go/issues/62024
#golang #programming #reflection👣 Руководство: создание JSON с помощью Go и LLM: старый метод и новый метод!
🌟 В старом методе для генерации JSON использовались простые шаблоны, или разработчик вручную создавал структуру JSON, что часто приводило к ошибкам и требовало много времени. Однако с развитием LLM процесс стал проще: новые подходы позволяют использовать модель для автоматической генерации JSON-структур, что значительно ускоряет процесс и снижает количество ошибок. В статье также обсуждается, как LLM могут быть использованы для генерации сложных JSON объектов, а также преимущества нового метода, включая более гибкую и точную работу с данными.
🔗 Ссылка: *клик*
@golang_google
Available now! Telegram Research 2025 — the year's key insights 
