Новый год пришёл, но контент не останавливается. Все праздники публикуем топ посты прошлого года — те самые, что сохраняли в закладки.
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Весной мы рассказывали о Swiss Table — новом алгоритме хеш-таблиц в Go 1.24. Тогда прошлись по верхам, теперь копнём глубже: как именно устроена map под капотом.
Раньше мапа хранила данные в бакетах со связными списками при переполнении. Теперь — массив групп, каждая содержит 8 слотов для пар ключ-значение и 64-битное контрольное слово.
Каждый байт контрольного слова хранит статус слота: пусто / занято / удалено и 7 бит от хеша ключа.
Как работает поиск
Хеш ключа разбивается на две части:
• h1 (старшие 57 бит) — определяет группу
• h2 (младшие 7 бит) — «отпечаток» для быстрого сравнения
Вместо последовательного сравнения 8 ключей Go сравнивает h2 сразу со всеми 8 байтами контрольного слова за одну SIMD-операцию. Не совпало — слот пропускается. Совпало — проверяется полный ключ.
Инкрементальный рост
Abseil (C++) перестраивает всю таблицу разом. Go так не может — это убьёт latency. Поэтому мапа разбита на независимые таблицы по 1024 записи максимум. При переполнении растёт только одна таблица, остальные не трогаются.
Итог:
Память: −15–25% за счёт компактного хранения
Скорость: до +60% на микробенчмарках
Load factor выше — меньше перестроений
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤4🤔2
В середине года мы спрашивали у вас про вашу любимую IDE. Повторим опрос? Тогда лагеря разделились почти поровну между VS Code и GoLand.
Поставьте эмоцию соответствующую вашей IDE:
👍 — VS Code
🤩 — GoLand
👾 — Другие IDE
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩156👍152👾60🥱2
2025-й стал годом «скучной стабильности» в айти. Компании не росли — выживали: резали бюджеты, оптимизировали команды, затягивали найм.
2383 отклика на 1 вакансию.
−20% позиций за год.
30-50% сокращений в e-commerce.
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
😢13😁2👾2
Когда проект на Go становится больше пары пакетов, держать в голове связи между функциями — задача неблагодарная.
go-callvis решает эту проблему: он строит интерактивную диаграмму вызовов прямо из кода.
Как установить:
go install github.com/ofabry/go-callvis@latest
Главная команда:
go-callvis ./...
Это запустит HTTP-сервер по адресу http://localhost:7878/, где можно интерактивно просматривать граф вызовов.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤🔥3👏2
Весной мы рассказывали про Watermill, фреймворк для Go, который упрощает обработку сообщений. Поддерживает Kafka, RabbitMQ, NATS и другие брокеры.
Фреймворк дает маршрутизацию по темам, гибкую настройку под микросервисы. Встроены метрики и логи, чтобы следить за потоком. От простых очередей до распределенных систем работает стабильно.
Код простой: роутер подключаете, хендлер с subscriber и publisher. Сообщение приходит, обрабатываете, дальше шлёте. Идеально для заказов в e-commerce или аналитики.
Пример:
r := router.NewRouter(router.Config{}, logger)
r.AddHandler(
"order_handler",
"orders",
kafkaSubscriber,
"processed_orders",
rabbitPublisher,
func(msg *message.Message) ([]*message.Message, error) {
// Логика обработки сообщения
return []*message.Message{msg}, nil
},
)
r.Run()📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4❤2
Высокопроизводительные AI-агенты: пора строить экосистемы
Go идеально подходит для инфраструктуры ИИ, но чтобы управлять логикой моделей, нужны паттерны автономности. В 2026-м недостаточно уметь дёргать
На курсе «Разработка AI-агентов» мы учим строить автономные системы:
— использование паттерна
— оркестрация в
— внедрение протокола
— создание быстрых
Дипломный проект — автономная группа агентов, решающая задачи анализа рынка или автоматизации саппорта.
❄️ До 12 января действует акция «3 в 1»: забирай курс по ИИ-агентам и 2 дополнительных курса в подарок.
Ворваться в AI-разработку
Go идеально подходит для инфраструктуры ИИ, но чтобы управлять логикой моделей, нужны паттерны автономности. В 2026-м недостаточно уметь дёргать
OpenAI API.На курсе «Разработка AI-агентов» мы учим строить автономные системы:
— использование паттерна
ReAct для принятия решений агентом;— оркестрация в
n8n для управления сложными флоу;— внедрение протокола
MCP для обмена данными;— создание быстрых
RAG-систем для работы с контекстом.Дипломный проект — автономная группа агентов, решающая задачи анализа рынка или автоматизации саппорта.
❄️ До 12 января действует акция «3 в 1»: забирай курс по ИИ-агентам и 2 дополнительных курса в подарок.
Ворваться в AI-разработку
😁1
🧱 7 архитектурных паттернов, которые должен знать каждый программист
Архитектурные паттерны — это фундаментальные подходы, помогающие создавать масштабируемые, устойчивые и поддерживаемые решения.
В статье собрали и разобрали 7 архитектурных паттернов, которые сегодня стоит знать каждому разработчику.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#лучшее_из_библиотеки_2025
Архитектурные паттерны — это фундаментальные подходы, помогающие создавать масштабируемые, устойчивые и поддерживаемые решения.
В статье собрали и разобрали 7 архитектурных паттернов, которые сегодня стоит знать каждому разработчику.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱4👏1
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
😁33❤4💯2
Одной командой и парой строк кода делаем кэш для вашего приложения.
Установка
go get github.com/patrickmn/go-cache
Быстрый пример
c := cache.New(5*time.Minute, 10*time.Minute)
c.Set("foo", "bar", cache.DefaultExpiration)
val, found := c.Get("foo")
if found {
fmt.Println("Found:", val)
}
• 5m — TTL по умолчанию для всех ключей
• 10m — интервал очистки просроченных ключей
• можно указать cache.NoExpiration — чтобы хранить вечно
Полезные методы
// Установить с TTL
c.Set("key", "value", time.Minute)
// Получить значение
c.Get("key")
// Удалить ключ
c.Delete("key")
// Очистить всё
c.Flush()
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍7🌚7
Zog – это библиотека, вдохновлённая Zod. Она позволяет гибко и декларативно проверять входные данные, минимизируя ручную обработку ошибок.
Где пригодится
• Валидация JSON-запросов в API
• Проверка параметров HTTP-запросов
• Чтение и проверка переменных окружения
• Минимизация кода валидации и ошибок
Пример использования:
var UserSchema = zog.Object(map[string]zog.Schema{
"username": zog.String().Min(3).Max(20),
"email": zog.String().Email(),
"age": zog.Number().Min(18),
})
func main() {
data := map[string]interface{}{
"username": "go_dev",
"email": "test@proglib.io",
"age": 25,
}
parsed, err := UserSchema.Parse(data)
if err != nil {
fmt.Println("Ошибка валидации:", err)
return
}
fmt.Println("Успешно:", parsed)
}Создаём схему UserSchema, где username должен быть строкой длиной от 3 до 20 символов, email – валидным email-адресом, а age – числом не меньше 18. Передаём тестовый JSON и проверяем его с помощью UserSchema.Parse().
🖇 Официальный репозиторий проекта
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥4⚡1
В рейтинге TIOBE наш любимый язык за год потерял 8 позиций.
📍 Навигация: Вакансии • Задачи • Собесы
#GoLive
Please open Telegram to view this post
VIEW IN TELEGRAM
😢26❤🔥2😁1🥱1
🆚 Go vs C#: когда что выбирать
В феврале мы сравнивали эти два языка — пост собрал много комментариев. Освежим основные тезисы.
Область применения
• Go — детище Google для облака, микросервисов и высоконагруженных систем. Простота и скорость — главные козыри.
• C# — инструмент Microsoft для корпоративного софта, игр на Unity и десктопа под Windows.
Кроссплатформенность
• Go компилируется в один бинарник без зависимостей — запускается где угодно.
• C# работает через .NET Core на разных платформах, но требует рантайм.
Система типов
• Go минималистичен: никакого наследования, только интерфейсы и композиция.
• C# даёт полный ООП-арсенал: наследование, дженерики, функциональные фишки.
Когда что брать
• Go — если пишете API, микросервисы, CLI-утилиты. Когда важны простота деплоя и производительность без магии.
• C# — если нужен Unity, десктоп под Windows или мощная корпоративная экосистема с LINQ и Entity Framework.
➡️ Заглядывайте в Библиотеку шарписта, там тоже хит-парад лучших постов 2025 года
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#лучшее_из_библиотеки_2025
В феврале мы сравнивали эти два языка — пост собрал много комментариев. Освежим основные тезисы.
Область применения
• Go — детище Google для облака, микросервисов и высоконагруженных систем. Простота и скорость — главные козыри.
• C# — инструмент Microsoft для корпоративного софта, игр на Unity и десктопа под Windows.
Кроссплатформенность
• Go компилируется в один бинарник без зависимостей — запускается где угодно.
• C# работает через .NET Core на разных платформах, но требует рантайм.
Система типов
• Go минималистичен: никакого наследования, только интерфейсы и композиция.
• C# даёт полный ООП-арсенал: наследование, дженерики, функциональные фишки.
Когда что брать
• Go — если пишете API, микросервисы, CLI-утилиты. Когда важны простота деплоя и производительность без магии.
• C# — если нужен Unity, десктоп под Windows или мощная корпоративная экосистема с LINQ и Entity Framework.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🤔7
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6💯6😢1
Команда разработки Go столкнулась с трудностями при попытке упростить этот процесс через синтаксические изменения языка.
За последние несколько лет разработчики пытались улучшить обработку ошибок через:
• Механизм
check/handle в 2018.• Функцию
try в 2019.• Предложение с оператором «
?» в 2024.Предложенные механизмы не получили поддержки сообщества, и разработчики решили сохранить текущую модель обработки ошибок.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40❤5👏3😢2
Напоминаем вам простые, но полезные команды для работы с git-репозиториями.
1. Отображение истории в виде графа:
git log --graph --oneline --all --decorate
2. Временное сохранение изменений без коммита:
git stash push -m "Описание стэша"
git stash list
git stash apply stash@{0}
3. Поиск по коммитам:
git log -S "поисковая строка"
4. Переименование последних коммитов в интерактивном режиме:
git rebase -i HEAD~3
Вспомнили все команды — ставьте 👍
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🥱10😢2❤🔥1👏1
Параллелизм 2.0: оркестрация автономных агентов на Go
В 2026 году мощь Go идеально ложится на задачи управления роем ИИ-агентов. Пока другие пишут простые скрипты, мы строим высоконагруженные системы с автономным принятием решений.
На курсе вы изучите:
— паттерн
— работу с
— протокол
— продвинутый
Начните год с технологий, которые изменят ваш подход к бэкенду.
🧨 До 12 января акция «3 в 1»: забирайте курс по ИИ-агентам и ещё два в придачу.
Ворваться в AI-экосистему
В 2026 году мощь Go идеально ложится на задачи управления роем ИИ-агентов. Пока другие пишут простые скрипты, мы строим высоконагруженные системы с автономным принятием решений.
На курсе вы изучите:
— паттерн
ReAct: создание «сознательных» ботов на базе LLM;— работу с
n8n для быстрой сборки конвейеров автоматизации;— протокол
MCP от Anthropic для общения между агентами;— продвинутый
RAG для эффективной работы с контекстом.Начните год с технологий, которые изменят ваш подход к бэкенду.
🧨 До 12 января акция «3 в 1»: забирайте курс по ИИ-агентам и ещё два в придачу.
Ворваться в AI-экосистему
🥱11❤2👾1
В июле мы наткнулись на тему в реддите:
Я только что наблюдал, как AI-агент взял задачу в Jira, разобрался в нашей кодовой базе и за несколько минут отправил Pull Request — и это меня действительно пугает.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6🤔1
🚀 Флаг -cpu: стресс-тесты на разном числе ядер
В начале года рассказывали про этот флаг — он до сих пор остаётся одним из самых недооценённых инструментов для тестирования конкурентного кода.
Флаг
Тесты выполнятся четыре раза: сначала на одном логическом процессоре, потом на двух, четырёх и восьми.
Зачем это нужно
Гонки данных и дедлоки часто проявляются только при определённом уровне параллелизма. На одном ядре всё работает, на восьми — падает. Флаг
Ещё это способ понять, как код масштабируется. Если на 8 ядрах работает не быстрее, чем на 2 — где-то узкое место.
Без флага тесты запускаются с текущим
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#лучшее_из_библиотеки_2025
В начале года рассказывали про этот флаг — он до сих пор остаётся одним из самых недооценённых инструментов для тестирования конкурентного кода.
Флаг
-cpu запускает тесты с разными значениями GOMAXPROCS. Указываете список — Go прогоняет тесты для каждого:go test -cpu=1,2,4,8 -v
Тесты выполнятся четыре раза: сначала на одном логическом процессоре, потом на двух, четырёх и восьми.
Зачем это нужно
Гонки данных и дедлоки часто проявляются только при определённом уровне параллелизма. На одном ядре всё работает, на восьми — падает. Флаг
-cpu помогает поймать такие баги до продакшена.Ещё это способ понять, как код масштабируется. Если на 8 ядрах работает не быстрее, чем на 2 — где-то узкое место.
Без флага тесты запускаются с текущим
GOMAXPROCS — обычно равен числу ядер. То есть вы проверяете только один сценарий из многих возможных.📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21
🎮 Minecraft на чистом Go
Прошлой зимой показывали этот проект — полноценный клон Minecraft на Go и OpenGL. Без движков, всё с нуля: рендеринг, физика, генерация мира.
Запуск:
Если хотите разобраться в 3D-графике без Unity и Unreal — исходники открыты.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#лучшее_из_библиотеки_2025
Прошлой зимой показывали этот проект — полноценный клон Minecraft на Go и OpenGL. Без движков, всё с нуля: рендеринг, физика, генерация мира.
Запуск:
git clone https://github.com/GianlucaP106/minecraft && cd minecraft
go run .
Если хотите разобраться в 3D-графике без Unity и Unreal — исходники открыты.
📍 Навигация: Вакансии • Задачи • Собесы
#лучшее_из_библиотеки_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31❤3👾2❤🔥1