Category : golang

golang
Как добавить GigaChat в проект за 3 шага. Гайд и опенсорс-инструмент

Привет, Хабр!В последнее время все больше разработчиков экспериментируют с большими языковыми моделями. GigaChat от Сбера — одна из самых доступных и мощных моделей на российском рынке. У нее есть подробное REST API, которое позволяет интегрировать нейросеть в любой продукт: от телеграм-ботов до сложных корпоративных систем.Однако, как и при работе с любым серьезным API, прямая интеграция требует решения нескольких рутинных, но важных задач: нужно управлять аутентификацией, обрабатывать жизненн…

  • среда, 16 июля 2025 г. в 00:00:06
golang
Валидация данных в Go с go-playground/validator: полное руководство

Зачем нужна валидацияВалидация входных данных — критически важная часть любого приложения. Без неё ваше приложение подвержено:паникам и ошибкам из-за неожиданных nil или невалидных значений,некорректной работе бизнес-логики при обработке невалидных данных,уязвимостям безопасности (SQL-инъекции, XSS и др.),сложностям в отладке из-за непредсказуемого поведения.Проблемы ручной валидацииРассмотрим типичный подход к валидации без специализированных библиотек:type User struct { Name string …

  • среда, 16 июля 2025 г. в 00:00:06
golang
Алгоритмы для работы с большими данными в Go: HyperLogLog и Count-Min Sketch

Всем привет! Для начала давайте разберем что такое вообще Алгоритмы для работы с большими данными, основная суть алгоритмов для работы с большими данными  — это эффективная обработка огромных объёмов информации при минимальных вычислительных ресурсах (памяти, CPU, диске). Их суть — жертвовать точностью ради скорости и масштабируемости. Примеры:Потоковая обработкаРаспределённые системы (агрегация на многих узлах).Реал‑тайм аналитика (быстрые ответы на лету).Главные алгоритмы и их сутьАлгоритмЧто…

  • понедельник, 14 июля 2025 г. в 00:00:06
golang
Большой разбор Строк Go -> «Типы и структуры данных Go»

Доброе утро/день/вечер/ночь!Меня зовут Рома и это вторая часть цикла «Типы и структуры данных Go». В этот раз будем разбираться с внутренностями строк. В первой части этого цикла я уже говорил, что какое-то время назад я захотел изучить всю внутрянку Go, заглянуть в исходники языка и понять, почему все устроено так, как устроено. В этот самый момент я обнаружил, что на просторах интернета практически отсутствуют материалы, которые подробно разбирают типы данных, их вспомогательные функции, дета…

  • суббота, 12 июля 2025 г. в 00:00:07
golang
Большой разбор Слайсов Go -> «Типы и структуры данных Go»

Привет, меня зовут Рома! Какое-то время назад я захотел изучить всю внутрянку Go, заглянуть в исходники языка и понять, почему все устроено так, как устроено. В этот самый момент я обнаружил, что на просторах интернета практически отсутствуют материалы, которые подробно разбирают типы данных, их вспомогательные функции, детали реализации рантайма и так далее. Поэтому мной было принято решение сделать это самостоятельно. Изначально я занимался этим для себя, но позже решил, что стоит поделиться …

  • пятница, 11 июля 2025 г. в 00:00:10
golang
Верстаем своего ИИ CLI агента на… Go???

Все уже слышали про Gemini CLI, который позволяет взаимодействовать с мощной gemini 2.5 прямо из командной строки. Это удобно, открывает массу возможностей. Но что, если мы захотим не просто использовать готовое решение, а понять, как оно работает изнутри? А если у нас вообще нету VPN для сервисов гугла? Или, что еще интереснее, создать свой собственный, пусть и экспериментальный, аналог? Чем мы хуже? Давайте сверстаем свой вариант на... GOLANG?Да, именно так. Мы не будем писать продакшн-готов…

  • пятница, 11 июля 2025 г. в 00:00:09
golang
BASS: CI, воспроизводимые сборки и пакетный менеджер

Представьте, что вам надо поднять какую-нибудь continuous integration систему. Распространённые решения (BuildBot, Jenkins, TravisCI, ...) — относительно монструозные сложные системы, заточенные под запуск недоверенного кода в изолированном окружении. Зайти на slave и поотлаживать скрипт запуска — не дадут. Кроме того, даже те же современные версии BuildBot интерфейса уже являются web-приложением, а не HTML страницами, что серьёзное неудобство. А можно что-нибудь попроще и полегче? И чтобы был…

  • понедельник, 7 июля 2025 г. в 00:00:07
golang
Верстаем своего ИИ CLI агента на… GOLANG???

Все уже слышали про Gemini CLI, который позволяет взаимодействовать с мощной gemini 2.5 прямо из командной строки. Это удобно, открывает массу возможностей. Но что, если мы захотим не просто использовать готовое решение, а понять, как оно работает изнутри? А если у нас вообще нету VPN для сервисов гугла? Или, что еще интереснее, создать свой собственный, пусть и экспериментальный, аналог? Чем мы хуже? Давайте сверстаем свой вариант на... GOLANG?Да, именно так. Мы не будем писать продакшн-готов…

  • понедельник, 7 июля 2025 г. в 00:00:07
golang
Скрэмбл для тех, кто ненавидит SQL в Go коде

Однажды в компанию, где я работал, пришел новый тимлид. И «го уберем SQL запросы из кода» стало одной из самых популярных фраз на ревью. Так что посвящается ему :-)Обращения к базе — одно из самых популярных действий бэкенд приложений, и чаще всего оно происходит с помощью SQL запросов. И есть несколько способов хранить запросы в коде: строка или константа непосредственно в качестве аргумента функции, билдер запросов или отдельно лежащий файл с SQL запросом, который эмбедится в Go код в момент …

  • воскресенье, 6 июля 2025 г. в 00:00:07