Вы кодите на Go, а Kubernetes написан на Go. Логично, правда? Но разворачивать поды, сервисы и ingress вручную, настраивать деплоймент и автоскейлинг — это не про вас.
Пора разобраться как работать с пайплайнами и самостоятельно деплоить своё приложение 👉 @devopsslib
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Оркестрация агентов сложнее, чем оркестрация горутин
Но принцип похож: множество независимых акторов, общающихся по протоколам. В 2026 году мультиагентные системы (Multi-Agent Systems) станут стандартом бэкенда.
Мы обновили курс «Разработка AI-агентов», добавив туда всё, что нужно для построения высоконагруженных интеллектуальных систем.
Tech Stack Update:
— Protocols: Глубокий разбор MCP (Model Context Protocol) и A2A коммуникации.
— Workflow:
— Ops: AgentOps, мониторинг и деплой.
—
Старая версия была «игрушечной». Новая — про Production и инфраструктуру (даем доступ к GPU).
🎁 Deal:
Берешь курс по агентам (пока актуально к 2026) — получаешь два курса в подарок. Например, математику и алгоритмы.
Deploy here
Но принцип похож: множество независимых акторов, общающихся по протоколам. В 2026 году мультиагентные системы (Multi-Agent Systems) станут стандартом бэкенда.
Мы обновили курс «Разработка AI-агентов», добавив туда всё, что нужно для построения высоконагруженных интеллектуальных систем.
Tech Stack Update:
— Protocols: Глубокий разбор MCP (Model Context Protocol) и A2A коммуникации.
— Workflow:
LangGraph для построения сложных стейт-машин (почти как конечные автоматы, но для LLM).— Ops: AgentOps, мониторинг и деплой.
—
Старая версия была «игрушечной». Новая — про Production и инфраструктуру (даем доступ к GPU).
🎁 Deal:
Берешь курс по агентам (пока актуально к 2026) — получаешь два курса в подарок. Например, математику и алгоритмы.
Deploy here
❤4👾1
Не устану напоминать, что до Нового Года осталось немного. Новый Год не остановит подборку материалов недели.
— Зачем в Go errors.Is и errors.As
— Самоподписанный HTTPS для Go
— Go 1.26 RC1
— TinyGo 0.40.0
Почитать:
— Карьерная «страховка» для IT‑шника
— 15 AI-инструментов для поиска работы в IT за рубежом
📍 Навигация: Вакансии • Задачи • Собесы
#GoLive
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🧹 Чистим JSON
Тэг
omitzero решает это. Поле пропускается при нулевом значении типа:
Можно комбинировать теги:
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#GoToProduction
Тэг
omitzero убирает поля со значениями по умолчанию из JSON. Раньше использовали omitempty. Он пропускает поля, если они пустые: строка без символов, слайс без элементов или nil. Но для чисел и дат проблема. Нулевое значение int или time.Time всегда попадало в JSON, даже если данных нет.omitzero решает это. Поле пропускается при нулевом значении типа:
0 для int, false для bool, пустая строка. Для time.Time не нужно делать указатель. Пример:type User struct {
Name string `json:"name,omitempty"`
Age int `json:"age,omitzero"`
DOB time.Time `json:"dob,omitzero"`
}
u := User{Name: "Алексей"}
json, _ := json.Marshal(u)
// {"name":"Алексей"}Можно комбинировать теги:
json:"field,omitempty,omitzero". Если тип реализует IsZero(), то omitzero использует его логику.📍 Навигация: Вакансии • Задачи • Собесы
#GoToProduction
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍9🤔2👾1
🔄 go fix в Go 1.26
➡️ В статье подробнее про все анализаторы и примеры кода.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#GoDeep
go fix и go vet теперь на одной базе, но разные цели. Vet ловит баги, fix безопасно модернизирует синтаксис. Запуск go fix . применит все анализаторы автоматически от any вместо interface{} до wg.Go вместо Add/Done.📍 Навигация: Вакансии • Задачи • Собесы
#GoDeep
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Строим надёжные AI-системы: инженерный подход
Для тех, кто ценит производительность и строгий контроль. Мы учим создавать автономных ИИ-агентов как управляемые компоненты архитектуры с предсказуемым поведением.
В программе:
— логика на `LangGraph` для перехода от ненадёжных цепочек к детерминированным графам;
— реализация `RAG` с использованием векторных хранилищ для точной работы с данными;
— автоматизация пайплайнов через
— мониторинг рантайма через
Постройте устойчивую AI-инфраструктуру, готовую к нагрузкам.
Регистрация
Для тех, кто ценит производительность и строгий контроль. Мы учим создавать автономных ИИ-агентов как управляемые компоненты архитектуры с предсказуемым поведением.
В программе:
— логика на `LangGraph` для перехода от ненадёжных цепочек к детерминированным графам;
— реализация `RAG` с использованием векторных хранилищ для точной работы с данными;
— автоматизация пайплайнов через
n8n и Python для интеграции в существующий бэкенд;— мониторинг рантайма через
LangSmith для контроля качества и затрат на токены.Постройте устойчивую AI-инфраструктуру, готовую к нагрузкам.
Регистрация
❤4😁1
Разработка затянулась, релизная ветка ушла вперёд. Мерж конфликтует всем подряд, коммит разрастается до эпика.
Решение:
git pull --rebase origin release/3.2.0
Git останавливается на проблемных коммитах. Чиним, коммитим изменения,
git rebase --continue. В конце git push --force-with-lease. Безопасно перезапишет remote.📍 Навигация: Вакансии • Задачи • Собесы
#GoToProduction
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4
Общие данные под нагрузкой — боль мьютексов. Вместо мьютексов для общих данных используйте неизменяемые структуры. Параллельное чтение бесплатно.
Пример: общий конфиг
type Config struct {
LogLevel string
Timeout time.Duration
Features map[string]bool
}
func NewConfig(...) *Config {
copied := make(map[string]bool, len(features))
for k, v := range features { copied[k] = v }
return &Config{..., Features: copied}
}
var current atomic.Pointer[Config]
current.Store(NewConfig(...))
func GetConfig() *Config { return current.Load() }Затем читаем из конфига:
cfg := GetConfig();
if cfg.Features["beta"] { ... }
📍 Навигация: Вакансии • Задачи • Собесы
#GoDeep
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥4👍2🥱1
Go Intern — 60 000 ₽. Лучше вакансии для начинающих найти сложно.
Middle Go-Developer — от 200 000 ₽
Senior Golang Engineer — от 325 300 ₽ с удалёнкой.
#GoWork
Please open Telegram to view this post
VIEW IN TELEGRAM
🎅 Секретный Санта для айтишников от Proglib.academy
Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.
🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:
1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.
Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.
🎄 Акция действует до Нового года.
Win-win, всё как мы любим!
Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.
🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:
1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.
Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.
🎄 Акция действует до Нового года.
Win-win, всё как мы любим!
No as a Service это маленький HTTP сервис который по GET запросу возвращает JSON с рандомной причиной отказа.
Скидывайте в комменты какой ответ попался вам 👇
📍 Навигация: Вакансии • Задачи • Собесы
#GoTalk
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19🤔2❤🔥1
WANTED: GO-ЭКСПЕРТ
Обвиняется в написании слишком быстрых и надёжных сервисов. По нашим данным, ты скрываешь экспертизу, которая могла бы спасти тысячи джунов. Пора выйти на свет.
Приметы:
— профессионально пишет на
— понимает внутреннее устройство горутин и планировщика;
— умеет объяснять сложные вещи просто и без лишней воды;
— готов стать лицом большой площадки Proglib.
Твоя награда:
— статус эксперта в Proglib Academy;
— достойная оплата за подготовку контента;
— медийный вес в Go-комьюнити.
Явка с повинной
P.S. Твой лид — фанат
Обвиняется в написании слишком быстрых и надёжных сервисов. По нашим данным, ты скрываешь экспертизу, которая могла бы спасти тысячи джунов. Пора выйти на свет.
Приметы:
— профессионально пишет на
Go (приветствуется опыт в Python или Java);— понимает внутреннее устройство горутин и планировщика;
— умеет объяснять сложные вещи просто и без лишней воды;
— готов стать лицом большой площадки Proglib.
Твоя награда:
— статус эксперта в Proglib Academy;
— достойная оплата за подготовку контента;
— медийный вес в Go-комьюнити.
Явка с повинной
P.S. Твой лид — фанат
Golang? Пора его сдать нам.👍4😢4
Pion — библиотека на Go для видеозвонков и чатов в браузере. Они улучшили протокол передачи данных, добавив RACK. Теперь скорость выросла на 35%, задержки упали на 25%, CPU тратит меньше на 21%.
Раньше при потере пакетов программа ждала таймер или 3 жалобы от получателя — и пересылала всё заново. RACK смотрит на время: "Сколько прошло с последнего подтверждения?" Шлет тестовый пакет, быстро понимает, что потерялось, и пересылает только нужное.
📍 Навигация: Вакансии • Задачи • Собесы
#GoLive
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18⚡3❤1
Когда в коде появляются статусы, типы ошибок или этапы обработки, быстро появляется ручная нумерация. Потом кто то вставляет новое значение в середину и начинается путаница.
iota решает это и делает список констант самоподдерживаемым.Iota работает внутри блока const и ведет себя как счетчик. В начале каждого const блока он сбрасывается в 0, потом увеличивается на 1 на каждой строке с константой.Самый частый кейс это перечисления. Пишем первую константу с
iota, дальше можно не повторять выражение, Go повторит его сам.type Status int
const (
StatusPending Status = iota
StatusProcessing
StatusDone
StatusFailed
)
Если нужно начать не с нуля, добавляем смещение.
const (
PriorityLow = iota + 1
PriorityMed
PriorityHigh
)
Еще полезный паттерн это флаги через битовый сдвиг. Тогда каждое значение это отдельный бит и их можно комбинировать через побитовое или.
type Perm uint8
const (
PermRead Perm = 1 << iota
PermWrite
PermExec
)
Если значения не последовательные и зависят от математики или внешнего стандарта, проще записать числа явно.
📍 Навигация: Вакансии • Задачи • Собесы
#GoDeep
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3👾2🥱1
Сериализуем nil-указатель в JSON. Ошибка? Паника? Или всё пройдёт гладко? Попробуйте ответить до того, как посмотрите ответ 👉
📍 Навигация: Вакансии • Задачи • Собесы
#ReadySetGo
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱9❤2👍1
Обычная история: есть функция и десять сценариев. Если писать по тесту на каждый сценарий, код быстро превращается в копипасту. Table driven подход делает один тест, а сценарии складывает в таблицу.
Вы описываете кейсы в таблице, обычно это слайс структур. Потом в цикле запускаете каждый кейс как сабтест через
t.Run, чтобы у каждого сценария было имя и его можно было запустить отдельно. Пример на простой функции:
func Split(s, sep string) []string {
return strings.Split(s, sep)
}
func TestSplit(t *testing.T) {
tests := []struct {
name string
input string
sep string
want []string
}{
{name: "simple", input: "a/b/c", sep: "/", want: []string{"a", "b", "c"}},
{name: "no sep", input: "abc", sep: "/", want: []string{"abc"}},
{name: "trailing", input: "a/b/c/", sep: "/", want: []string{"a", "b", "c", ""}},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
got := Split(tc.input, tc.sep)
if !reflect.DeepEqual(got, tc.want) {
t.Fatalf("want %v got %v", tc.want, got)
}
})
}
}Еще мелочь, но полезная. Внутри сабтеста
t.Fatal завершает только текущий сабтест, а не весь набор, поэтому для table driven тестов это часто удобнее чем тянуть continue и пачку if.📍 Навигация: Вакансии • Задачи • Собесы
#GoDeep
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Мультиагентные системы: следующий этап после микросервисов 🚀
Как заставить десятки ботов работать слаженно? Ответ кроется в оркестрации и правильных паттернах. Мы научим вас строить высокопроизводительные системы AI-агентов.
Технологический фокус:
— сборка экосистемы ботов с использованием
— оркестрация процессов и внешних API через
— использование протокола
— оптимизация
Поймёте архитектуру «мозга» агента (
Прокачать навыки ⚡
Как заставить десятки ботов работать слаженно? Ответ кроется в оркестрации и правильных паттернах. Мы научим вас строить высокопроизводительные системы AI-агентов.
Технологический фокус:
— сборка экосистемы ботов с использованием
CrewAI и AutoGen;— оркестрация процессов и внешних API через
n8n;— использование протокола
MCP для эффективного обмена данными;— оптимизация
RAG для доступа к знаниям за миллисекунды.Поймёте архитектуру «мозга» агента (
ReAct) и соберёте дипломный проект: группу автономных сущностей для решения сложных бизнес-задач.Прокачать навыки ⚡
Последний дайджест 2025 года. Пришла пора подвести итоги самых запоминающихся событий минувших 365 дней.
Февраль — Go 1.24
• Теперь псевдонимы типов поддерживают параметры:
type Set[T comparable] = map[T]bool
type Pair[T any] = struct { First, Second T }
• Встроенные map полностью переписали. Новая реализация на базе Swiss Tables вместо хэшмапы.
Август — Go 1.25
• Раньше GOMAXPROCS устанавливался по числу CPU хоста. Теперь runtime учитывает cgroup-лимиты и автоматически подстраивается. Если лимит CPU ниже числа ядер хоста — GOMAXPROCS возьмёт меньшее значение.
• Green Tea — экспериментальный сборщик мусора
• Постквантовая криптография из коробки
По данным JetBrains:
• 2.2 млн разработчиков используют Go как основной язык
• 11% всех разработчиков планируют изучить Go в ближайший год
Фреймворки
• Gin остаётся лидером — 48% Go-разработчиков
• Fiber растёт — 11%
• Echo стабилен — 16%
• Beego теряет позиции
Инструменты
• GoLand удерживает 47% рынка.
• Cursor уже используют 6% Go-разработчиков.
И было много более мелких, но не менее важных апдейтов, которые можно найти по хэштегу #GoLive
📍 Навигация: Вакансии • Задачи • Собесы
#GoLive
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🎉3