В последнее время мне довелось много заниматься распараллеливанием однопоточного кода и показалось уместным свести воедино более-менее всё, что нам известно про разные типы многозадачности, с примерами и комментариями.Пролог, в котором автор пытается объяснить, зачем вообще всё это нужноПредставьте себе коммунальную кухню в советской квартире. Шесть конфорок, двенадцать жильцов, и у каждого — неотложная потребность сварить борщ именно сейчас. Вопрос распределения ресурсов встаёт ребром, причём …
Всем привет! Меня зовут Паша Агалецкий, я техлид команды платформы разработки Авито. В этой статье я расскажу о самых интересных и полезных фичах релиза новой версии Go — 1.26. Статья будет полезна всем, кто работает с Go и следит за развитием языка. СодержаниеПоддержка выражений в newПроверка конкретного типа ошибки через errors.AsTypeЭкспериментальный пакет secret для работы с чувствительными даннымиНовый алгоритм сборки мусора по умолчаниюЭкспериментальный пакет simd/archsimd для работы с SI…
Думаю, многие сталкивались с ситуацией, когда в компании есть множество различных сервисов, которым нужно асинхронно обмениваться данными. Databus — это волшебная шина, которая как раз решает эту задачу.В этой статье я расскажу, как устроен централизованный, надёжный и удобный способ асинхронного взаимодействия сервисов внутри Wildberries.Я Виктор Такташов, Golang-разработчик в команде Trust & Safety. С задачами Highload знаком не понаслышке, потому что когда-то занимался сервером популярно…
У меня была привычка. Вижу классную статью про архитектуру — сохраняю. Репозиторий с примерами DDD — в закладки. Видео про CQRS — в плейлист «Посмотреть потом».Вы знаете, чем кончаются плейлисты «Посмотреть потом».В какой‑то момент закладок стало 300+. Половина ссылок битые, треть дублируют друг друга, остальное - статьи, которые казались гениальными в два часа ночи. Я сел и вычистил всё до 106 ресурсов. Собрал их в awesome-list на GitHub.Но статья не про список. Статья про три вещи, которые я …
В предыдущих сериях (От стартапа к протоколу, Почему финтеху нужен капитальный ремонт, Почему мы терпим факс в эпоху ИИ) мы обсуждали, почему современный финтех - это "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Зачастую, …