Category : golang

golang
Аллокатор в Go

ВведениеПривет, Хабр! Текущая статья будет полезна тем, кто уже знаком с основами языка программирования Golang и хочет более углублённо изучить его. Исходя из названия стати понятно, что речь пойдёт об аллокаторах, основных видах, плюсах и минусах, а также о том, какой аллокатор используется в Go. Я настоятельно рекомендую прочитать статью целиком, прежде, чем приступать к чтению части конкретно относящейся к аллокатору Go.Что такое аллокатор?Аллокатор - это некоторая сущность (программа), кот…

  • среда, 15 июля 2026 г. в 00:00:24
golang
После многих лет борьбы я получил ещё один шанс: Deep Brain Stimulation — Abbott Libberta RC

Меня зовут Станислав Герасимов. Я программист С++/Qt, а также Go и выпускник магистратуры НИУ ВШЭ. С детства живу с тяжёлым неврологическим заболеванием — вторичной генерализованной дистонией с выраженными гиперкинезами. После многих лет лечения, нескольких нейрохирургических операций и многочисленных отказов в дальнейшем лечении в России я прошёл повторную операцию глубокой стимуляции мозга (DBS) в Турции у профессора Аттилы Йылмаза. На этом сайте я делюсь своей историей, рассказываю о лечении…

  • среда, 15 июля 2026 г. в 00:00:22
golang
«dap-18» это не dap-18: номер версии протокола не фиксирует формат на проводе

В свободное время пишу на чистом Go порт DAP. DAP, Distributed Aggregation Protocol - это протокол распределённой агрегации для приватных измерений, из IETF, рабочая группа PPM (Privacy Preserving Measurement). Идея простая: собрать статистику по куче пользователей так, чтобы ни один сервер по дороге не увидел ни одного отдельного значения. Реализаций DAP несколько (daphne у Cloudflare, divviup-ts), а я целюсь в Janus на Rust, реализацию ISRG - тех же людей, что делают Let’s Encrypt. Взял его п…

  • среда, 15 июля 2026 г. в 00:00:21
golang
Великая ересь, или Как использовать protobuf без контракта

Привет! На связи Влад, разработчик product-facade — сердца витрины Ozon и одного из самых высоконагруженных сервисов, который выдерживает до 2,2 млн RPS. В прошлой моей статье я рассказывал об одном из архитектурных вызовов, с которым мы столкнулись в процессе работы. В этот раз продолжим тему микросервисной архитектуры и поговорим о том, что происходит, когда привычная строгость контрактов начинает мешать.Одна из ключевых причин использования gRPC для связи между сервисами — строгий protobuf-к…

  • вторник, 14 июля 2026 г. в 00:00:31
golang
Как я создал локальное хранилище и агрегатор VLESS конфигураций

Не секрет, что в последнее время стабильность доступа к некоторым зарубежным ресурсам и API оставляет желать лучшего. Для обычного человека потеря связи с любимыми или нужными ресурсами посреди рабочего дня — это очень неприятно. Полагаться на один зарубежный сервер стало неэффективно: узлы падают, скорость проседает. У меня у самого появилась это проблема, поэтому я захотел сделать ее решение.Что я решил сделать, рассказываю дальше.Какая была задумкаИзначально, все что было в моих идеях — напи…

  • суббота, 11 июля 2026 г. в 00:00:15
golang
Go подробно! Часть 1. Структура проекта

Привет!Буду с вами честен, для меня читать сухие переводы документации или смотреть 40-часовые видеокурсы - то еще удовольствие. Поэтому я решил устроить эксперимент и разбирать Go прямо в публичном поле, шаг за шагом документируя весь процесс.Я не новичок в разработке - повседневно пишу на Python и TypeScript, знаком с базовым devops. Но вот на территорию Go осознанно захожу впервые.Я возьму за основу официальный трек обучения от создателей языка и постараюсь подробно разобрать как Go устроен.…

  • пятница, 10 июля 2026 г. в 00:00:13
golang
JSX для Go: как маленькая разметка потянула за собой рантайм, компилятор и кучу компромиссов

Я не начинал с идеи написать «убийцу JavaScript». Честно говоря, такие заявления обычно только мешают думать.Сначала была гораздо более скромная мысль: мне нравится Go, мне нравится его простота, типизация и ощущение предсказуемого инструмента. Но когда дело доходит до интерактивного веб‑интерфейса, почти неизбежно оказываешься в другой вселенной: JavaScript, Node.js, сборщики, плагины, отдельная модель компонентов, отдельная экосистема.Это нормально. Веб таким стал не случайно. Но мне было инт…

  • пятница, 10 июля 2026 г. в 00:00:12
golang
Как я сделал аналог Hamachi для геймеров: история PortPlay

Привет, Хабр! Когда я был мелкий, и трава зеленее, провайдеры всегда выдавали не белый, а «серый» адрес. Да, он менялся при каждом подключении, но всегда можно было открыть порт и поиграть с корешами в ту же CS 1.6 или Minecraft. Время прошло, и сейчас, чтобы получить белый IP, нужно пройти три круга ада. И то не факт, что дадут. Или: «Купите наш тариф за миллион денег, тогда дадим». Но не про то пошёл разговор.Предыстория: от идеи к прототипуВсё началось с того, что мы с коллегами по работе ре…

  • пятница, 10 июля 2026 г. в 00:00:10
golang
ИИ задеплоит за тебя. А дежурить кто будет?

ИИ задеплоит за тебя. А дежурить кто будет? На днях в чате разработчиков мне написали: «Я описал Клоду проект с телефона, он собрал MVP и сам задеплоил на Firebase. В деплой я вообще не лез. Зачем теперь нужны сервисы деплоя?». Вопрос честный, и короткий ответ на него: незачем. Если ИИ развернул ваш проект и он работает, всё отлично, расходимся. Длинный ответ интереснее.День первый: тут ИИ действительно победил Признаю без оговорок: настройка сервера перестала быть проблемой. Любой ассистент …

  • четверг, 9 июля 2026 г. в 00:00:15