Category : golang

golang
Кoгдa яблoкo yпaлo cлишкoм близкo не к той яблoнe: copy-paste oшибки в cтpyктypнo изoмopфнoм Go кoд…

BвeдeниeНедавно вышел PVS-Studio 8.00, принёсший с собой много масштабных нововведений, среди которых и релиз анализатора для Go! Он же, в свою очередь, обзавёлся несколькими новыми интересными диагностиками.Среди них есть и та, что выявляет один из caмыx кoвapныx видoв copy-paste oшибoк, кoтopые нeoxoтнo пoпaдaютcя нa глaзa пpи oбычнoм peвью. Без лишних слов, приглашаю взглянуть на код:if process.ProcessName != nil && (len(*process.ProcessName) == 0 || len(*process.ProcessName) …

  • четверг, 15 октября 2026 г. в 00:00:13
golang
Эвалы для LLM-фич. Часть 1: зачем они нужны

Всем привет!Меня зовут Тарас Малиновский, я бэкенд‑разработчик, работаю на Go. Последний год почти целиком ушёл на проекты в сфере искусственного интеллекта: делал ассистентов, агентов, разные инструменты и навыки.Недавно участвовал в хакатоне от Podlodka AI Club: мы собирали систему памяти для агентов. Саму память реализовали довольно быстро, а вот доказать, что она реально работает, оказалось куда сложнее. На это и ушло больше всего времени.Этот опыт будто щёлкнул выключателем: именно тогда д…

  • четверг, 15 октября 2026 г. в 00:00:11
golang
Собрал систему видеонаблюдения за голубем (Go, C++)

Несколько месяцев назад подобрал голубя.https://github.com/khomin/roostSelf-hosted сервер видеонаблюдения для RTSP/USB - камер.C web дашбордой для просмотра через WebRTC.C++ модуль читает из gstreamer пайплайн, перепаковывает и отправляет в IPC (/dev/shm/roost_<camera-id>)Go модуль читает из shm, пересылает в стримы WebRTCХотел наблюдать за птицей с лэптопа не покупая ничего.В итоге написал это.

  • четверг, 15 октября 2026 г. в 00:00:10
golang
От Bash к Go: как «просто бэкап 1С» превратился в отдельную утилиту

В программировании на Go я пока новичок.Поэтому, как любой уважающий себя разработчик, я решил начать с самого безопасного занятия — переписать на Go то, что уже несколько лет нормально работает на Bash.Зачем?Потому что один сервер — это Bash‑скрипт.Два сервера — уже Bash‑скрипт плюс его копия с немного другими настройками. А когда появляются Linux, Windows, PostgreSQL, MS SQL Server, файловые базы, сетевые файловые базы и разные требования к срокам хранения резервных копий, начинается самое ин…

  • среда, 14 октября 2026 г. в 00:00:14
golang
HTTP-запрос закончился, а LLM ещё работает: как проектировать AI-задачи на Go

Когда пишешь обычный HTTP API на Go, использование context.Context быстро становится привычкой.Пришёл запрос, получили r.Context(), передали его в сервис, затем в репозиторий и во все внешние вызовы. Если клиент отключился или истёк таймаут, связанные операции отменяются.Для большинства backend-задач это именно то поведение, которого мы хотим.Зачем продолжать выполнять SQL-запрос, если результат уже некому возвращать? Зачем держать соединение с внешним API, если пользователь закрыл страницу?Но …

  • вторник, 13 октября 2026 г. в 00:00:04
golang
Как я решал leetcode задачу

ПредисловиеДля начала стоит прояснить что я не просто так от нечего делать открыл leetcode и начал решать задачки. Такое решение пришло после не очень удачных собеседований, задачи на которых я хоть и решил, но со скрипом и потратив гораздо больше времени чем рассчитывал интервьювер. Конечно же это не удовлетворило его, особенно учитывая большую плотность кандидатов на должность.Сам же я давно в IT и в том числе проводил много собеседований, стараясь избегать leetcode задач, просто потому что с…

  • понедельник, 12 октября 2026 г. в 00:00:04
golang
Я написал 61 тест для AI-ментора. Потом выяснилось, что тестам тоже нельзя верить

Репетитора не нанимают по резюме. Ему дают тетрадь реального ученика и смотрят не на то, знает ли он ответ, а на то, где он остановится. Подскажет, в какой строке ошибка, или перепишет задачу за ученика? Скажет «не знаю, давай проверим» или уверенно додумает?Месяц назад я встроил в свою учебную платформу AI-ментора: он видит уроки, прогресс студента и его последнюю попытку по заданию. Чтобы не выбирать модель и не править промпт по ощущениям, я собрал стенд из автоматических проверок и начал пр…

  • воскресенье, 11 октября 2026 г. в 00:00:10
golang
sync.Pool теряет то, что вы хотели сохранить, и держит то, что хотели выбросить

Привет, Хабр!С sync.Pool знакомство обычно начинается одинаково: начинаешь разбираться с профилированием и оптимизацией Go‑приложения, открываешь профиль — а там сервис четверть процессорного времени кормит сборщик мусора.Дальше — как по написанному:Нашли горячий объект.Завернули в пул.Накатали бенчмарк.Бенчмарк нарисовал двух‑трёхкратный выигрыш.Код уехал в продВ стандартной библиотеке пул торчит из каждого утюга — значит, приём одобрен сверху, значит, всё делаем правильно.А подвох сидит прямо…

  • пятница, 9 октября 2026 г. в 00:00:06
golang
Почему JSON Schema не делает ответ LLM надёжным

После того как LLM начинает возвращать structured output, интеграция внезапно становится очень похожей на обычный backend.Больше не нужно вырезать JSON из Markdown, надеяться, что модель не добавит перед ним «Конечно, вот результат», чинить потерянные кавычки и повторять запрос из-за случайной запятой.Мы описываем схему, модель возвращает объект, десериализуем его в Go-структуру — и кажется, что самая неприятная часть интеграции закончилась.Например:type Invoice struct { Number string `js…

  • четверг, 8 октября 2026 г. в 00:00:07