Category : golang

golang
Величие и нищета Виктории и Прометея

Кхм. Громковатый заголовок, но я всё объясню.Итак, у меня был сервис. Обычная молотилка данных, каждый с такой хотя бы раз да сталкивался - что-то на входе, что-то на выходе, а внутри походы в базу, HTTP-вызовы, шаблоны, скриптовая логика... В общем, много всякого.Ну, ладно, тут стоит сразу уточнить, что сервис с особенностями - молотилка данных устроена так, что пытается работать с разными форматами на входе и выходе, а внутри держать всё в одном представлении. Но вот из-за этой потребности ра…

  • среда, 29 октября 2025 г. в 00:00:07
golang
Kubernetes кластер на миллион узлов. Обзор проекта k8s-1m

Команда Go for Devs подготовила перевод k8s-1m — кейса о том, как не догадки, а измерения двигают пределы Kubernetes. Ключевые идеи: изоляция QPS по типам ресурсов, смягчение гарантий хранения для эфемерных данных, и шардирование планировщика. Полезно всем, кто проектирует крупные кластеры или хочет работать с ними.Зачем?Несколько лет назад, работая в OpenAI, я был соавтором статьи Scaling Kubernetes to 7500 Nodes, которая до сих пор остаётся одной из самых популярных публикаций CNCF. Alibaba о…

  • вторник, 28 октября 2025 г. в 00:00:04
golang
Продолжаем вкатываться в Go — таблица компетенций. Что ты должен знать на джуна/мидла?

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

  • понедельник, 27 октября 2025 г. в 00:00:03
golang
Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go

Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.Одно из самых медленных действий, которое можно совершить в приложении, — это системный вызов. Они медленные, потому что требуют перехода в ядро, а это дорогостоящая операция. Что делать, если нужно выполнять мног…

  • воскресенье, 26 октября 2025 г. в 00:00:03
golang
ML в продакшене: почему аналитикам и бэкенду сложно договориться

Самый дешёвый билет далеко не всегда лучший для пользователя. Люди готовы доплатить за удобное время вылета, нормальный аэропорт или отсутствие ночной пересадки. Но если выдачу сортировать только по цене, оптимальные варианты оказываются глубоко внизу — и часть пользователей просто уходит к конкурентам.Чтобы закрыть эту проблему, в Авиасейлс решили внедрить ML-скоринг и ранжировать билеты по вероятности покупки. На практике задача оказалась гораздо сложнее: разные источники данных у аналитиков …

  • суббота, 25 октября 2025 г. в 00:00:07
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