В предыдущих сериях (От стартапа к протоколу, Почему финтеху нужен капитальный ремонт, Почему мы терпим факс в эпоху ИИ) мы обсуждали, почему современный финтех - это "Ferrari на грунтовке", и зачем мы начали писать с нуля свой леджер Qazna (на Rust) и ERP-систему Orda (на Go).В комментариях вы справедливо спрашивали: "Зачем изобретать велосипед, если есть PostgreSQL и Kafka?" и "Чем это отличается от Hyperledger/Ripple?".Сегодня я отвечу на эти вопросы кодом и архитекту…
Всем привет. Экспрементируя со способами закрепления на Linux системах в рамках разработки своей системы мониторига безопасности, я наткнулся на руткит с открытым исходным кодом Singularity. Он использует большое количество методов для сокрытия себя от обнаружения, а открытый исходный исходный код позволяет досконально изучить эти методы. В данной статье я подробно расскажу вам, с помощью каких подходов руткиты закрепляются на Linux системах на примере Singularity.Что же такое руткит?Не вдавая…
Привет! На связи Петр Коробейников, я лидирую разработку бэкенда в одной из ключевых финтех-команд и отвечаю за то, чтобы пользователи приложения «Мой МТС» всегда видели актуальные данные своего счета. Если коротко, у нас в проекте Go на бэке, а для общения с приложением GraphQL — выбор продиктован платформой, и мы фактически предоставляем сабграф, к которому и обращается наша часть приложения.В этой заметке я не буду сравнивать протоколы, холиварить на тему REST vs gRPC vs GraphQL или давать п…
В первой части я рассказал, что выяснилось после анализа 9 247 технических интервью через ии помощник для собеседований: кто собеседуется, куда, какие вопросы задают. Статистика, графики, цифры. Всё чинно благородно.Эта часть про задачи. Те самые, которые звучат на live-coding секции, и из-за которых у кандидатов потеют ладони и сжимается пятая точка, а интервьюеры делают покерфейс, когда видят hashCode() { return 1; }.Честно, собрать этот материал оказалось в разы сложнее, чем аналитику из пер…
Всем привет! Меня зовут Максим, я Go-разработчик в Wildberries & Russ. В высоконагруженных системах сотни сервисов взаимодействуют ежесекундно, и любой малейший простой системы напрямую влияет на прибыль бизнеса. Чтобы уметь быстро находить причины и устранять их за короткие сроки придуманы инструменты, обеспечивающие наблюдаемость приложения. Сегодня поговорим о том, как обеспечить observability и почему без нее жизнь продукта превращается в «черный ящик».Три столпа ObservabilityЗачастую, …
Go 1.26 уже вышел! Официальные релизноты довольно скудны на детализацию и приходится изучать глубже. Сделал для тебя большой обзор нововведений, можешь использовать эту статью как шпоргалку. В начале коротко опишу то что лично мне понравилось больше всего. Изменения затрагивают runtime, компилятор, стандартную библиотеку и поддержку платформ. Команда Go сосредоточилась на производительности и удобстве разработки.Главное изменение: Green Tea становится сборщиком мусора по умолчанию. Алгоритм раз…
Два месяца назад я писал на Хабр о первом релизе Funxy — гибридного языка программирования. Тогда это был эксперимент по созданию своего языка с выводом типов, императивного, с функциональными возможностями. Funxy был сырой, интерпретатор мог упасть на валидном коде, производительность хромала, а некоторых привычных вещей просто не было.С тех пор вышло несколько релизов. Мы исправили много ошибок, переписали рантайм и добавили недостающие инструменты. Хочу рассказать, что изменилось.TLDR:Стабил…
ВведениеКогда речь заходит о WebSocket, многие думают: «Ну это же просто протокол для real-time связи, что там сложного?»А потом начинаются вопросы:Почему соединения рвутся через минуту?Как настроить таймауты между клиентом, прокси и сервером?Какую библиотеку выбрать — и почему это вообще важно?Как масштабировать и балансировать stateful-соединения?WebSocket - это не просто протокол. Это целая экосистема, где критически важны выбор языка, библиотек, настройка прокси и понимание того, как всё эт…
Всем привет!В этой статье я решил разобрать стек OpenTelemetry (OTel) для Go приложений:Tracing → TempoMetrics → PrometheusLogs → LokiБудет минимум теории — пройду чисто по шагам: что сделать, для чего и как увидеть результат.Запуск контейнеровМы будем запускать:app-1 — клиентapp-2 — серверotel-collector — точка входа для всех источников телеметрииprometheus — метрикиtempo — трейсыloki — логгированиеgrafana — UI для всего вышеВот docker-compose.yml для всего стека:services: # client app-1: …