🔄 Go Task: новые улучшения для автоматизации задач
Обновление Go Task v3.45.3 привносит долгожданную поддержку встроенных утилит Windows:
Помимо этого:
• Поддержка глобальных конфигов в
• Новые свойства: insecure, verbose, concurrency, remote offline/timeout/expiry.
• Поддержка вложенных и wildcard-задач при выводе через
• Исправление паники при пустых хэш-переменных.
➡️  Репозиторий либы
🐸 Библиотека Go-разработчика
#свежак
Обновление Go Task v3.45.3 привносит долгожданную поддержку встроенных утилит Windows:
cp, mv, mkdir и других команд.Помимо этого:
• Поддержка глобальных конфигов в
$XDG_CONFIG_HOME/task/taskrc.yml или $HOME/.taskrc.yml с расширенной схемой ключей и значений.• Новые свойства: insecure, verbose, concurrency, remote offline/timeout/expiry.
• Поддержка вложенных и wildcard-задач при выводе через
--list --json.• Исправление паники при пустых хэш-переменных.
#свежак
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍11🔥1😍1
  🎧 Свежий Cup o' Go
После двух недель без выпусков Go авторы подкаста снова радуют сообществo. А в сообществе активность не утихает: доступны видео с GopherCon Europe в Берлине, Damien Neil делится лайфхаками по тестированию асинхронного кода, а новая версия gofumpt показывает, как безопасно работать с “голыми” возвратами функций.
➡️  Слушать подкаст
🐸 Библиотека Go-разработчика
#свежак
После двух недель без выпусков Go авторы подкаста снова радуют сообществo. А в сообществе активность не утихает: доступны видео с GopherCon Europe в Берлине, Damien Neil делится лайфхаками по тестированию асинхронного кода, а новая версия gofumpt показывает, как безопасно работать с “голыми” возвратами функций.
#свежак
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Представьте: интернет-магазин продает последний товар сразу трем покупателям, потому что база не успела обновиться.
Такой сценарий превращает хорошие приложения в кошмар службы поддержки. В многопользовательских приложениях, где несколько пользователей или процессов одновременно читают или изменяют одни и те же данные, очень важно обеспечить целостность и согласованность данных
Решение — блокировки в базе данных.
Но какую выбрать: оптимистическую или пессимистическую? От этого решения зависит, будет ли ваше приложение летать или тормозить, масштабироваться или падать под нагрузкой.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤5👍2🔥2
  Мы привыкли слышать: «Надо уходить в микросервисы». Но что если это не панацея или стало только хуже? Разберёмся как вернуться к монолиту.
Как это сделать на практике
1. Разобраться в текущей архитектуре
Карта сервисов, API, базы, зависимости. Определяем, что реально стоит объединять.
2. Слить код в один проект
Из множества репозиториев → единый монолит.
Каждый сервис становится модулем внутри одного приложения.
3. Убрать сетевые вызовы
HTTP/gRPC заменяем на обычные вызовы методов.
Больше никаких прокси, discovery и mesh.
4. Централизовать работу с данными
Объединяем схемы в одну БД или хотя бы в одно хранилище.
Транзакции снова становятся простыми и атомарными.
5. Упростить инфраструктуру
Один артефакт, один деплой, один пайплайн.
API Gateway и прочие прослойки уходят в прошлое.
Монолитизация — не шаг назад, а инструмент. Иногда именно он позволяет бизнесу двигаться быстрее.
#буст
Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁26👍10❤2🔥1👾1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍48😁19❤3💯3🤔2
  Бывает такое, что и в логах ничего не понятно. Логи могут содержать большое количество информации, но в них не всегда легко найти то, что действительно вызывает проблему.
Сегодня делимся с вами промптом для анализа логов:
Проанализируй предоставленный файл с логами приложения на предмет выявления неординарного поведения или потенциальных индикаторов багов. Обрати внимание на аномальные временные метки, повторяющиеся ошибки, неожиданные статусы и отклонения от стандартных паттернов работы. В конце дай подробный отчет с описанием найденных подозрительных событий и рекомендациями для дальнейшего расследования.
#буст
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍4
  🧑💻 Программист не кодит
Когда вы шли в разработку, наверняка думали: «буду писать код целыми днями». Но реальность другая — у многих бекендеров до 90 % времени уходит не на код.
Реальность такова: большая часть дня уходит не на написание новых фич, а на поддержание, координацию, деплой, отладку, ответ на письма и тикеты.
Получается, мы больше оркестрируем процессы, чем пишем фичи. И это не обязательно плохо: именно эти «не-кодовые» задачи держат систему живой и рабочей.
Но есть обратная сторона: многие начинают чувствовать себя не разработчиками, а менеджерами тасков.
💬  А у вас как? Чувствуете, что реально кодите меньше, чем ожидали, или находите баланс между кодом и всей этой скучной работой?
🐸 Библиотека Go-разработчика
#GoTalk
Когда вы шли в разработку, наверняка думали: «буду писать код целыми днями». Но реальность другая — у многих бекендеров до 90 % времени уходит не на код.
Реальность такова: большая часть дня уходит не на написание новых фич, а на поддержание, координацию, деплой, отладку, ответ на письма и тикеты.
Получается, мы больше оркестрируем процессы, чем пишем фичи. И это не обязательно плохо: именно эти «не-кодовые» задачи держат систему живой и рабочей.
Но есть обратная сторона: многие начинают чувствовать себя не разработчиками, а менеджерами тасков.
#GoTalk
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤7👍3
  This media is not supported in your browser
    VIEW IN TELEGRAM
  📅 24 сентября в 19:00 МСК — бесплатный вебинар с Максимом Шаланкиным.
Тема: «ИИ-агенты: новая фаза развития искусственного интеллекта».
🔹 Почему все говорят про ИИ-агентов и куда вливаются миллиарды инвестиций.
🔹 Чем они отличаются от ChatGPT и обычных ботов.
🔹 Как работает цикл агента: восприятие → планирование → действие → обучение.
🔹 Живое демо простого агента.
🔹 Потенциал для бизнеса: автоматизация процессов и ROI до 80%.
Не придёшь — будешь потом рассказывать, что «агенты — это как чат-боты», и ловить косые взгляды от коллег 😏
👉 Регистрируйтесь через форму на лендинге
Тема: «ИИ-агенты: новая фаза развития искусственного интеллекта».
🔹 Почему все говорят про ИИ-агентов и куда вливаются миллиарды инвестиций.
🔹 Чем они отличаются от ChatGPT и обычных ботов.
🔹 Как работает цикл агента: восприятие → планирование → действие → обучение.
🔹 Живое демо простого агента.
🔹 Потенциал для бизнеса: автоматизация процессов и ROI до 80%.
Не придёшь — будешь потом рассказывать, что «агенты — это как чат-боты», и ловить косые взгляды от коллег 😏
👉 Регистрируйтесь через форму на лендинге
👏1😁1
  🔄 Как работает Round Robin
Round Robin — простой и популярный способ распределения ресурсов. Его суть: все задачи выполняются по очереди и получают одинаковый квант времени.
Как это работает:
1. Задача получает фиксированное время (например, 50 мс).
2. Если она успевает завершиться — удаляется из очереди.
3. Если нет — ставится в конец, и очередь продолжается.
По сути, это как дейлик: каждый участник получает ровно минуту, потом слово передаётся следующему.
🐸 Библиотека Go-разработчика
#GoVisual
Round Robin — простой и популярный способ распределения ресурсов. Его суть: все задачи выполняются по очереди и получают одинаковый квант времени.
Как это работает:
1. Задача получает фиксированное время (например, 50 мс).
2. Если она успевает завершиться — удаляется из очереди.
3. Если нет — ставится в конец, и очередь продолжается.
По сути, это как дейлик: каждый участник получает ровно минуту, потом слово передаётся следующему.
#GoVisual
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍4❤1
  На первый взгляд, структура в Go — это просто набор полей. Но стоит копнуть глубже, и начинают всплывать вопросы:
— почему структура весит больше, чем сумма её полей?
— почему один struct можно сравнивать и использовать как ключ в map, а другой — нет?
Ниже заглянем под капот и разберёмся с этим.
Поля в памяти лежат в порядке объявления. Go не переупорядочивает их. Представьте, что у вас шкафчик с ячейками разного размера. Go любит, когда всё лежит ровно, и иногда подкладывает пустые прокладки — padding.
type A struct {
    B bool   // 1 byte (+7 padding)
    I int64  // 8 bytes
} // Sizeof(A) = 16
type B struct {
    I int64  // 8 bytes
    B bool   // 1 byte (+7 padding for struct alignment)
} // Sizeof(B) = 16 (в данном примере одинаково, но порядок важен при большем числе полей)В итоге структура весит не 9, а 16 байт. Если перепутать порядок полей в большой структуре — потратите кучу памяти впустую. Иногда простая перестановка int64 выше bool экономит пространство на диске.
В Go структуры можно сравнивать оператором == и использовать как ключи в map. Но есть важное условие: все поля должны быть сравнимыми.
type KeyGood struct {
    ID   int
    Name string
} // можно сравнивать и использовать как ключ
type KeyBad struct {
    Data []byte
} // compile error: []byte несравнимыйОбходные пути:
• Фиксированный массив вместо среза:
type KeyArr struct {
    Digest [16]byte
}• Строка как ключ (создаёт копию, но работает):
key := string(digestBytes)
m := map[string]string{key: "value"}
• Собственный тип с хэшированием — можно хранить хэш массива байт в uint64 или в строке, и использовать как ключ.
Зная нюансы, вы пишете не просто рабочий код, а код, который работает эффективно и предсказуемо.
#GoDeep
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤17👍2⚡1
  ⚡️ Бесплатный вебинар — ИИ-агенты: новая фаза развития AI
24 сентября в 19:00 МСК состоится бесплатный вебинар с Максимом Шаланкиным — Data Science Team Lead в финтех-команде MWS, а познакомиться с ним ближе можно в его тг-канале.
Тема:
На вебинаре разберёмся, почему агенты — это следующий шаг после ChatGPT, чем они отличаются от обычных моделей и как уже приносят бизнесу ROI до 80%. А дальше я покажу, как эта тема ложится в наш курс по ИИ-агентам, который разработан под руководством Никиты Зелинского.
Подробности рассказываем в гс выше — включай, чтобы не пропустить.
  24 сентября в 19:00 МСК состоится бесплатный вебинар с Максимом Шаланкиным — Data Science Team Lead в финтех-команде MWS, а познакомиться с ним ближе можно в его тг-канале.
Тема:
«ИИ-агенты: новая фаза развития искусственного интеллекта».
На вебинаре разберёмся, почему агенты — это следующий шаг после ChatGPT, чем они отличаются от обычных моделей и как уже приносят бизнесу ROI до 80%. А дальше я покажу, как эта тема ложится в наш курс по ИИ-агентам, который разработан под руководством Никиты Зелинского.
Подробности рассказываем в гс выше — включай, чтобы не пропустить.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁33❤4👍2😢1💯1
  Дженерики в Go позволяют писать один алгоритм для разных типов без копипасты и без interface{}. Это про выразительность и про безопасность типов — меньше дублирования, больше проверок на этапе компиляции.
Пример сравнения разных типов одним методом:
func Compare[T ~int | ~int64 | ~float64 | ~string](a, b T) int {
  if a < b {
    return -1
  } else if a > b {
    return 1
  }
  return 0
}Типобезопасная коллекция без приведения типов:
type Set[T comparable] map[T]struct{}
func NewSet[T comparable]() Set[T] { return make(Set[T]) }
func (s Set[T]) Add(v T)      { s[v] = struct{}{} }
func (s Set[T]) Has(v T) bool { _, ok := s[v]; return ok }
func (s Set[T]) Delete(v T)   { delete(s, v) }
func main() {
  users := NewSet[string]()
  users.Add("alice")
  users.Add("bob")
  nums := NewSet[int]()
  nums.Add(1)
  nums.Add(2)
  fmt.Println(users.Has("bob")) // true
  fmt.Println(nums.Has(3))      // false
}Практические советы
• Если функция нужна в одном месте — дженерик может быть избыточен.
• Дженерики — про DX и безопасность типов; ускорение зависит от конкретного кода.
#GoToProduction
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤6🥱5👍3
  Сегодня последний день недели и это значит, что пришло время для сборника материалов.
— Время высказаться
Команда Go открыла ежегодный опрос разработчиков — Go Developer Survey 2025. Пройти его можно до 30 сентября.
— Outbox-паттерн в Go + Postgres
Вместо того чтобы сразу пушить событие в брокер, сервис пишет его в таблицу outbox в той же транзакции, что и бизнес-изменение. Дальше отдельный воркер периодически читает «необработанные» записи, публикует их и помечает как processed. Так достигается at-least-once доставка, а потребители обязаны быть идемпотентными.
— Новый Cup o' Go
В свежем выпуске подкаста Cup o’ Go — обзор новостей: экспериментальный JSON API для Go, опрос разработчиков 2025 года, статья о том, почему стоит тестировать состояние, а не взаимодействия, и даже история о том, как линтер «сломал» код.
— Go Task v3.45.3
— Оптимистическая vs пессимистическая блокировка
#GoLive
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍4❤1
  Контент недели — в ваших руках.
Мы соберем материалы, практики и гайды именно по выбранному направлению.
#GoTalk
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁24😢3❤1🤩1👾1
  🕵️ Обнаружение утечек горутин
Утечки горутин не всегда заметны — сервис вроде работает, но число горутин медленно растёт.
Проверить можно прямо в тесте:
Также используйте
🐸 Библиотека Go-разработчика
#GoToProduction
Утечки горутин не всегда заметны — сервис вроде работает, но число горутин медленно растёт.
Проверить можно прямо в тесте:
func TestHandler_TestLeaks(t *testing.T) {
    initial := runtime.NumGoroutine()
    err := testHandler()
    require.NoError(t, err)
    time.Sleep(100 * time.Millisecond) // время на очистку
    final := runtime.NumGoroutine()
    assert.InDelta(t, initial, final, 2, "Есть утечка")
}Также используйте
pprof/trace для проверки количества горутин в /debug/pprof/goroutine и трассировки их жизненного цикла#GoToProduction
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍15
  Go-разработчик с удалёнкой в Москве и ЗП до 400 тысяч ₽.
Гибрид для Go-разработчика с вилкой 250-400 тысяч ₽.
Мидл эникей на Go с гибридом в Москве.
Вакансия для тех, кто хочет стать частью команды ProgLib — Бустер
#GoWork
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥 Не пропустите событие осени для AI-комьюнити
24 сентября, 19:00 Мск — бесплатный вебинар с Максимом Шаланкиным «ИИ-агенты: новая фаза развития искусственного интеллекта»
😤 Пока все спорят, «боты это или нет», мы покажем, как работают настоящие агенты: с планированием, инструментами и памятью. За час Максим разберёт:
— почему ИИ-агенты сейчас на пике инвестиций
— чем они отличаются от ChatGPT и обычных моделей
— цикл агента: восприятие → планирование → действие → обучение
— живое демо простого агента
— как бизнес уже получает ROI до 80%
⚡️ Хотите спросить у Максима всё, что обычно остаётся «за кадром»? Ловите шанс — только в прямом эфире.
⏰ Мест мало, регистрация закроется, как только забьём комнату
24 сентября, 19:00 Мск — бесплатный вебинар с Максимом Шаланкиным «ИИ-агенты: новая фаза развития искусственного интеллекта»
😤 Пока все спорят, «боты это или нет», мы покажем, как работают настоящие агенты: с планированием, инструментами и памятью. За час Максим разберёт:
— почему ИИ-агенты сейчас на пике инвестиций
— чем они отличаются от ChatGPT и обычных моделей
— цикл агента: восприятие → планирование → действие → обучение
— живое демо простого агента
— как бизнес уже получает ROI до 80%
⚡️ Хотите спросить у Максима всё, что обычно остаётся «за кадром»? Ловите шанс — только в прямом эфире.
⏰ Мест мало, регистрация закроется, как только забьём комнату
😁2❤1🤔1