Привет, хабр! В этой статье на примере простого чата реализуем E2E шифрование.Продолжаем нашу серию статей по сетевой разработке на Go. В прошлой статье мы писали простейший TCP-чат. Наши сообщения в открытую гуляли в сети, что делало их простой мишенью для компрометации. В этой статье добавим в наш чат шифрование для безопасного обмена данными.Немного теорииЭта статья нацелена на простое понимание и применение на практике. На Хабре полно материалов, которые отлично и досконально разбирают все …
Я перекатываюсь из бэкенда на Go в сторону AppSec, и по дороге разбираюсь с темой, про которую у нас на русском пишут мало — рантайм-безопасность через eBPF. Хочу разложить идею: что это за инструменты, как они устроены изнутри, что уже есть в мире и почему именно сейчас на это смотрят в России. Без рекламы конкретного продукта, просто как карта местности для тех, кто думает, куда копать.С чего вообще растёт эта идеяАнтивирус и сканер уязвимостей проверяют систему в какой-то момент и уходят. Он…
В прошлой статье я остановился на версии 0.9.49. Казалось, что дальше всё должно было пойти по привычному сценарию: новые пользовательские возможности, новые экраны, немного полировки интерфейса и постепенное движение к большим функциям.Но следующие восемь дней разработки неожиданно пошли совсем по другому пути.За это время вышли четыре релиза: 0.9.50, 0.9.51, 0.9.52 и 0.9.53. Если открыть CHANGELOG, создаётся ощущение, что проект серьёзно продвинулся вперёд. Но если открыть сам Messenger, поль…
За свои 17+ лет в активной разработке я встречал много проблем, но одна преследовала меня постоянно: JSON. Нет, с самим форматом все ок, но вот с его чтением — не все норм.Когда я только начинал работать с PHP, я списывал это на скриптовость языка. Отчасти из‑за этого я даже поменял стек. Но когда приходили по‑настоящему большие файлы, это всегда было больно. Иногда — очень. Был проект, где мы ждали не обработку информации бизнес‑логикой, а банального парсинга. Файлы доходили до десятков гигаба…
Часть 1. Анатомия проблемы: откуда берётся окно оверселлингаОстаток разъезжается не потому, что «софт плохой». Он разъезжается потому, что между моментом «товар физически продан» и моментом «покупатель на другой площадке больше не может его купить» проходит время. Это окно я и называю окном оверселлинга. Внутри него вы продаёте то, чего уже нет.Окно складывается из трёх независимых задержек, и это первое, что нужно понять. Большинство обсуждений видит только первую.Задержка 1. Ваша синхронизаци…
В прошлой статье я рассказывал про свой пет-проект qrrot. Тогда это была in memory база данных на Go с TCP-интерфейсом и встроенным ИИ-ассистентом. Идея казалась забавной, но на практике оказалась бесполезной вещью, поэтому я просто продолжил ее ковырять и пробовать сделать из нее что-то интересное и быстрое. В процессе ковыряния в своем проекте я полностью перевернул его суть и идею, и вышло это.Архитектурный сдвиг: уходим от In-MemoryГлавная болячка прошлой версии - все данные лежали в ОЗУ. Е…
Статья не про 1С, можно позволить себе расслабиться и поесть. Удалены все ссылки на проект, кроме исходников на Github, чтобы особенно самоотверженные модераторы в очередной раз не приняли годную техническую статью за рекламу… но кто хочет, тот всегда найдёт. Приятного чтения.А помните, было время…Трансграничные переводы USDT в 2026 году в российских реалиях — уже давно не новость для микро- и малого бизнеса нашей страны. Сотни и тысячи автосервисов, сервисно-производственных предприятий и в це…
Привет, Хабр! Меня зовут Андрей Орлов, я QA‑инженер в команде Tarantool Database, VK Tech. Я занимаюсь функциональным тестированием: проверяю новые фичи и изменения, поддерживаю и развиваю автотесты, разбираю инциденты, анализирую логи и метрики. Нагрузочное тестирование и стресс‑тестирование тоже входит в мои задачи — в том числе для проверки поведения Tarantool Database на больших конфигурациях. В этой статье я расскажу, как мы организовали и провели тестирование Tarantool Database на 640 инс…
Шесть лет назад я и Питер Наги задали вопрос, который был достаточно простым, чтобы быть забавным, и достаточно занудным, чтобы быть полезным: могут ли микросервисы на Java быть такими же быстрыми, как микросервисы на Go? Речь не шла о войне языков — такие споры обычно субъективны, а хуже того, отбивают желание разбираться дальше. Практический вопрос был куда у́же: если взять небольшой HTTP-сервис, аккуратно реализовать его на Go и на Java и запустить на одном железе, окажутся ли результаты в о…