Блог

Новости, статьи и руководства от команды Сарнас

Найдено статей: 11 Сбросить

Первый URGENT-релиз Go: как устроена блокировка скомпрометированных корней и что успела сделать команда
28 октября 2026Команда Сарнас

Первый URGENT-релиз Go: как устроена блокировка скомпрометированных корней и что успела сделать команда

Экстренный выпуск Go 1.27.3 и 1.26.10 стал первым в истории проекта релизом по срочному треку — поводом послужили скомпрометированные ключи промежуточных сертификатов eMudhra, попавшие в чёрный…

Читать далее
Размерно-специализированное выделение памяти в Go: как устроено и что нового
12 октября 2026Команда Сарнас

Размерно-специализированное выделение памяти в Go: как устроено и что нового

В рантайме Go появился механизм размерноспециализированного выделения памяти: для каждого span class генерируется отдельная функция mallocgc, что позволяет ускорить аллокацию небольших объектов.…

Читать далее
Утечки горутин в Go: как работает goroutine leak profile
12 октября 2026Команда Сарнас

Утечки горутин в Go: как работает goroutine leak profile

В Go горутина, навсегда заблокированная на канале или мьютексе, не потребляет CPU и не проявляется в стандартных профилях — она просто тихо остаётся в памяти. Версия Go 1.27 закрывает этот пробел…

Читать далее
Платформо-независимый SIMD в Go: что приносит эксперимент в Go 1.27
11 октября 2026Команда Сарнас

Платформо-независимый SIMD в Go: что приносит эксперимент в Go 1.27

Эксперимент в Go 1.27 обещает переносимый SIMD: вместо привязки к конкретным инструкциям процессора появится общий слой, который сам подбирает нужный векторный бэкенд. Разбор объясняет, как…

Читать далее
Go 1.27: экспериментальные SIMD-векторные API для разных архитектур
9 октября 2026Команда Сарнас

Go 1.27: экспериментальные SIMD-векторные API для разных архитектур

В Go 1.27 появился экспериментальный флаг GOEXPERIMENT=simd, впервые приносящий SIMD в язык без обязательного ассемблера: двухуровневый API из низкоуровневых архитектурноспецифичных интринсиков и…

Читать далее
Go 1.27 и JSON v2: что сломается при миграции
9 октября 2026Команда Сарнас

Go 1.27 и JSON v2: что сломается при миграции

Go 1.27 незаметно меняет поведение : теперь старый пакет работает поверх нового движка JSON v2, и привычный код может выдавать другие байты или ошибки. Разбираем, что именно ломается при миграции —…

Читать далее
Гонка данных, которой не было: разбор реального бага в HTTP-сервере
9 октября 2026Команда Сарнас

Гонка данных, которой не было: разбор реального бага в HTTP-сервере

Иногда race detector сообщает о конфликте между пользовательским кодом и , хотя никакой гонки на самом деле нет — по крайней мере, в том смысле, который вы в него вкладывали. Разбираем реальный…

Читать далее
Дженерики в Go: от идеи до Go 1.27
8 октября 2026Команда Сарнас

Дженерики в Go: от идеи до Go 1.27

Дженерики в Go прошли путь от спорной идеи до полноценного механизма, встроенного в язык и его инструменты. Статья разбирает, как устроены объявление, инстанцирование и проверка ограничений изнутри,…

Читать далее
Что внутри планировщика горутин Go: G, M, P и как всё крутится
8 октября 2026Команда Сарнас

Что внутри планировщика горутин Go: G, M, P и как всё крутится

Русскоязычный разбор внутреннего устройства планировщика Go, который объясняет, как связаны абстракции G, M и P и почему поток без процессора не способен выполнять код. Статья последовательно…

Читать далее
Что внутри bbolt: как устроено самое простое KV-хранилище
6 октября 2026Команда Сарнас

Что внутри bbolt: как устроено самое простое KV-хранилище

Устройство bbolt разбирается на уровне отдельных страниц и метаданных: как хранилище определяет размер страницы при открытии, зачем держит две метастраницы и почему блокирует файл. Особенно полезно…

Читать далее