Category : golang

golang
Добавляем E2E шифрование в чат

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

  • вторник, 30 июня 2026 г. в 00:00:29
golang
Рантайм-безопасность на Go и eBPF: что это за класс инструментов и зачем он нужен

Я перекатываюсь из бэкенда на Go в сторону AppSec, и по дороге разбираюсь с темой, про которую у нас на русском пишут мало — рантайм-безопасность через eBPF. Хочу разложить идею: что это за инструменты, как они устроены изнутри, что уже есть в мире и почему именно сейчас на это смотрят в России. Без рекламы конкретного продукта, просто как карта местности для тех, кто думает, куда копать.С чего вообще растёт эта идеяАнтивирус и сканер уязвимостей проверяют систему в какой-то момент и уходят. Он…

  • вторник, 30 июня 2026 г. в 00:00:28
golang
Четыре релиза без единой новой функции. Почему иногда архитектура важнее новых возможностей

В прошлой статье я остановился на версии 0.9.49. Казалось, что дальше всё должно было пойти по привычному сценарию: новые пользовательские возможности, новые экраны, немного полировки интерфейса и постепенное движение к большим функциям.Но следующие восемь дней разработки неожиданно пошли совсем по другому пути.За это время вышли четыре релиза: 0.9.50, 0.9.51, 0.9.52 и 0.9.53. Если открыть CHANGELOG, создаётся ощущение, что проект серьёзно продвинулся вперёд. Но если открыть сам Messenger, поль…

  • вторник, 30 июня 2026 г. в 00:00:26
golang
И снова самый быстрый парсер JSON. Очередной

За свои 17+ лет в активной разработке я встречал много проблем, но одна преследовала меня постоянно: JSON. Нет, с самим форматом все ок, но вот с его чтением — не все норм.Когда я только начинал работать с PHP, я списывал это на скриптовость языка. Отчасти из‑за этого я даже поменял стек. Но когда приходили по‑настоящему большие файлы, это всегда было больно. Иногда — очень. Был проект, где мы ждали не обработку информации бизнес‑логикой, а банального парсинга. Файлы доходили до десятков гигаба…

  • вторник, 30 июня 2026 г. в 00:00:20
golang
Почему остатки на маркетплейсах разъезжаются, и почему Kafka вам, скорее всего не нужна?

Часть 1. Анатомия проблемы: откуда берётся окно оверселлингаОстаток разъезжается не потому, что «софт плохой». Он разъезжается потому, что между моментом «товар физически продан» и моментом «покупатель на другой площадке больше не может его купить» проходит время. Это окно я и называю окном оверселлинга. Внутри него вы продаёте то, чего уже нет.Окно складывается из трёх независимых задержек, и это первое, что нужно понять. Большинство обсуждений видит только первую.Задержка 1. Ваша синхронизаци…

  • воскресенье, 28 июня 2026 г. в 00:00:16
golang
Создал хранилище данных в одном зашифрованном файле

В прошлой статье я рассказывал про свой пет-проект qrrot. Тогда это была in memory база данных на Go с TCP-интерфейсом и встроенным ИИ-ассистентом. Идея казалась забавной, но на практике оказалась бесполезной вещью, поэтому я просто продолжил ее ковырять и пробовать сделать из нее что-то интересное и быстрое. В процессе ковыряния в своем проекте я полностью перевернул его суть и идею, и вышло это.Архитектурный сдвиг: уходим от In-MemoryГлавная болячка прошлой версии - все данные лежали в ОЗУ. Е…

  • воскресенье, 28 июня 2026 г. в 00:00:15
golang
Мультивалютность в ERP — считаем деньги в тенге, SOLANA и Theter одновременно [Go]

Статья не про 1С, можно позволить себе расслабиться и поесть. Удалены все ссылки на проект, кроме исходников на Github, чтобы особенно самоотверженные модераторы в очередной раз не приняли годную техническую статью за рекламу… но кто хочет, тот всегда найдёт. Приятного чтения.А помните, было время…Трансграничные переводы USDT в 2026 году в российских реалиях — уже давно не новость для микро- и малого бизнеса нашей страны. Сотни и тысячи автосервисов, сервисно-производственных предприятий и в це…

  • суббота, 27 июня 2026 г. в 00:00:04
golang
Как мы тестировали Tarantool Database на 640 инстансов

Привет, Хабр! Меня зовут Андрей Орлов, я QA‑инженер в команде Tarantool Database, VK Tech. Я занимаюсь функциональным тестированием: проверяю новые фичи и изменения, поддерживаю и развиваю автотесты, разбираю инциденты, анализирую логи и метрики. Нагрузочное тестирование и стресс‑тестирование тоже входит в мои задачи — в том числе для проверки поведения Tarantool Database на больших конфигурациях. В этой статье я расскажу, как мы организовали и провели тестирование Tarantool Database на 640 инс…

  • пятница, 26 июня 2026 г. в 00:00:14
golang
Java против Go в 2026: бенчмарк через шесть лет показал другую картину

Шесть лет назад я и Питер Наги задали вопрос, который был достаточно простым, чтобы быть забавным, и достаточно занудным, чтобы быть полезным: могут ли микросервисы на Java быть такими же быстрыми, как микросервисы на Go? Речь не шла о войне языков — такие споры обычно субъективны, а хуже того, отбивают желание разбираться дальше. Практический вопрос был куда у́же: если взять небольшой HTTP-сервис, аккуратно реализовать его на Go и на Java и запустить на одном железе, окажутся ли результаты в о…

  • пятница, 26 июня 2026 г. в 00:00:13