Category : golang

golang
Продолжаем вкатываться в Go — таблица для моков по грейдам

Всем привет!Не так давно я выкладывал RoadMap для самостоятельного изучения Go. Но во время обучения всегда встаёт важный вопрос: «А что учить дальше и на каком я уровне?».Чтобы закрыть и его, я подготовил логичное продолжение — таблицу с вопросами и темами для самопроверки по грейдам (Junior, Middle, Senior).Что это такое и зачем нужно?Это не экзаменационный билет, а скорее навигатор для развития. В таблице собраны ключевые темы и вопросы, которые помогут вам подготовиться к собеседованиям. Та…

  • суббота, 25 октября 2025 г. в 00:00:06
golang
Systemd-rc — мост для тех кто привык к Systemd

ВведениеSystemd-rc - это шим-утилита, которая даёт возможность использовать привычные команды в дистрибутивах Linux c OpenRC, Runit, Dinit и скоро S6. Написан на Go, но могут внедряться части модули на C++ и других языках, если это будет необходимо. Стоит упомянуть сразу - это не эмулятор, он только переводит systemctl в rc-service/rc-update/loginctl.Встроен в QuasarLinux.Смысл этого всего?Смысл есть и вот причины его:Новички могут не знать OpenRC команд.Некоторые скрипты хотят systemctl, но ег…

  • пятница, 24 октября 2025 г. в 00:00:12
golang
Выжимаем из Go скорость до последних наносекунд

Этот суслик — Гофер, эмблема Го. Ни одно реальное животное не пострадало!ВведениеМногие программисты, начав работать с Go, удивляются, что скомпилированная программа работает со скоростью Python-скрипта. Как так может получиться, ведь Go — это компилируемый язык?Разработчики, пишущие многопоточный код, с удивлением замечают, что Go частенько не может нагрузить все ядра процессора более 50-60%.В этой статье мы рассмотрим некоторые оптимизации, которые могут пригодиться при создании высокопроизво…

  • среда, 22 октября 2025 г. в 00:00:06
golang
Программирование на Go: чему можно научиться за 2 часа и как понять, стоит ли идти дальше

Многие не понимают, зачем проходить бесплатные части курсов. Кажется: ну что там можно узнать за пару часов? У нас в Практикуме бесплатная часть — это не просто демо, а полноценный мини-курс. Вы не просто посмотрите на код со стороны, а напишете первые программы сами, поймёте логику языка и оцените, подходит ли вам профессия. Сегодня покажем, что ждёт вас в бесплатной части курса «Go-разработчик с нуля». Спойлер: за несколько часов вы напишете свой первый код, разберётесь с переменными и типами…

  • вторник, 21 октября 2025 г. в 00:00:06
golang
Одна строка — тысячи горутин: как мы поймали утечку памяти в сервисе на Go

В этом техническом разборе рассмотрим, как инженеры Harness обнаружили и исправили критическую утечку памяти в Go: переназначение переменной контекста в циклах воркеров порождало невидимые цепочки, мешавшие сборщику мусора освобождать память в тысячах горутин, из-за чего их сервис-делегат CI/CD в итоге потреблял гигабайты памяти.Загадка: тревожная корреляция между CPU и памятьюВ нашем стейджинг-окружении, которое обрабатывает ежедневные CI/CD-процессы всех разработчиков Harness, наш Hosted Harn…

  • вторник, 21 октября 2025 г. в 00:00:06
golang
Когда одного агента мало: практический кейс применения мультиагентной системы

Привет! Меня зовут Егор Козлов, я работаю NLP-инженером в red_mad_robot. Мы активно внедряем в бизнес AI-агентов — автономных и полуавтономных программных сущностей, которые самостоятельно выполняют задачи и принимают решения в интересах бизнеса. В статье расскажу о принципах работы AI-агентов — с особым вниманием к workflow-агентам и мультиагентным системам (MAS). И поделюсь практическим кейсом внедрения мультиагентной среды для автоматического анализа и исправления уязвимостей в коде.Агент ил…

  • суббота, 18 октября 2025 г. в 00:00:08
golang
Как реализовать CRDT-структуры в Go для офлайн-режима

Привет, Хабр! Сегодня мы поговорим о том, как справиться с синхронизацией данных в офлайн‑режиме так, чтобы не сваливать на пользователя головную боль слияния конфликтов. Вы наверняка замечали, что многие современные приложения — будь то заметки, менеджеры задач или вики‑редакторы — позволяют работать оффлайн на нескольких устройствах, а при подключении к сети автоматически объединяют изменения. Задача разработчика в таком случае сделать максимально гладкую синхронизацию одновременно изменённых…

  • суббота, 18 октября 2025 г. в 00:00:08
golang
Как структурировать маршруты в Gin: практическое руководство по созданию масштабируемого веб-API

Команда Go for Devs подготовила перевод статьи о том, как грамотно организовать маршруты в Gin. Автор показывает, как группировка маршрутов помогает писать чистый, масштабируемый и легко поддерживаемый код. Если вы строите веб-API на Go — это навык, который стоит освоить.Как разработчик, который создавал и поддерживал несколько веб-API на Gin, я особенно ценю важность чистого, структурированного и масштабируемого кода. Один из самых мощных инструментов для этого — группировка маршрутов в Gin. Е…

  • пятница, 17 октября 2025 г. в 00:00:07
golang
Concurrency на примерах. Собственная реализация Mutex на Go + сравнение с sync.Mutex. Часть 1

Всем привет!Сегодня хочу поделиться с вами заметкой о своем опыте написания с нуля примитивов синхронизации на чистом Go, совместимых c реализациями из стандартной библиотеки. Цель заметки - на понятных примерах посмотреть как работает под капотом то чем мы пользуемся регулярно как разработчики, а также разобраться с популярными проблемами возникающими при написании многопоточных программ.Введение. Пишем собственный MutexСамым популярным примитивом синхронизации как в Go так и в других ЯП являе…

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