Обновить
2
Гаджимурад@Khadjimuradread⁠-⁠only

Пользователь

Отправить сообщение

Распределённые транзакции в микросервисах: от SAGA до Two‑Phase Commit

Время на прочтение29 мин
Охват и читатели12K

Переход от монолита к микросервисной архитектуре приносит гибкость и масштабируемость, но и создает новые сложности. Одна из ключевых проблем –согласованность данных и транзакции. В монолите обычно можно обернуть несколько операций одной ACID-транзакцией: либо все операции выполняются успешно, либо при ошибке происходит полный откат. В мире микросервисов такой прямолинейный подход не работает. Каждый сервис автономен, у каждого своя база данных, и общаются они через сеть. Как результат, гарантировать атомарность и целостность процессов, охватывающих несколько сервисов, непросто. Возникает риск частичных обновлений: одна часть системы изменилась, а другая – нет, что приводит к неконсистентным (несогласованным) состояниям данных.

Чтобы решить эту проблему, разработаны специальные паттерны и протоколы управления распределёнными транзакциями. В этой статье детально рассмотрим ограничения классических ACID-транзакций в распределённой архитектуре, а также два подхода к распределённым транзакциям – сага (SAGA) и двухфазный коммит (2PC). Разберём мотивацию, принципы работы, преимущества и недостатки каждого, сравним их по критериям. Кроме того, обсудим альтернативные подходы, такие как TCC (Try-Confirm-Cancel), паттерн Outbox, а также кратко упомянем eventual consistency, транзакционные сообщения, инструменты вроде Atomikos и др. В завершение – практические рекомендации, как выбрать подходящий способ обеспечения согласованности в ваших микросервисах.

Читать далее

HamPi: универсальный дистрибутив радиолюбителя

Время на прочтение8 мин
Охват и читатели10K

В мире радиолюбителей постоянно появляются новые инструменты, упрощающие жизнь как новичкам, так и опытным энтузиастам. Один из них — дистрибутив HamPi для Raspberry Pi. Эта специализированная система объединяет в себе все необходимые программы для цифровых видов связи, работы с SDR-приемниками, APRS и многого другого.

Чтобы начать экспериментировать с радио, достаточно просто установить HamPi на компактный одноплатный компьютер — все готово к работе с первых минут. Есть, конечно, нюансы, и их немало. Ниже расскажу о дистрибутиве, его установке, настройке и использовании. Поехали!

Читать далее

За пределами фичей и метрик: место концептуализации в разработке продуктов

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели319

В 2025 году в IT-индустрии говорить о важности исследований и продуктового подхода - почти моветон. Все уже в курсе, что нельзя заниматься фичеризмом, нужно ориентироваться на цели пользователей и бизнеса, использовать метрики. Продуктовый подход - это уже норма.

Что это означает на практике? Во-первых, что команда не просто реализует фичи, а формулирует и проверяет гипотезы. Во-вторых, что успех работы измеряется не количеством задач в Jira, а изменением ключевых показателей.  В-третьих, что решения принимаются на основе данных полученных из аналитики, исследований, экспериментов.

Такой подход принято назвать data-driven. Он выглядит красиво и строго:

Читать далее

Чем заменить Slack, Notion, Trello, Asana, Zoom и Confluence: российские аналоги для удалённой работы

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.4K

Удалённая работа давно перестала быть временным решением. Сегодня это стандарт для многих команд. Чтобы всё работало как часы, нужны инструменты: коммуникация, управление задачами, документация, совместная работа. Раньше с этим справлялись зарубежные сервисы, но всё сложно 🙄 Собрали российских 13 аналогов для замены шести известных сервисов.

Читать далее

Domain-Driven Design (DDD) — Как сделать архитектуру запутанной

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели11K

Domain-Driven Design подход проектирования давно уже не новые слова, однако и не самая раскрытая тема. Я попытался объснить концепцию такого подхода к проектированию на собственных примерах.

Читать далее

Халява приходит в программирование

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели11K

Недавно прогремел пост Артура Думчева (@arturdumchev), как халява якобы уходит из программирования. Можете ознакомиться с ним, чтиво достойное. Особенно комментарии.

У меня сегодня день рождения: 39 лет. С 2003 года я работаю разработчиком, и сейчас делаю кое-что для ИИ. Интуиция подсказывает, что халява только начинается, мои чюваки. Сейчас — лучшее время быть разработчиком.

Давайте начнем с точно того же определения, как было у Артёма: «для меня халява — это гарантированный результат за вложенные усилия. Логика повествования требует такого определения, дальше всё будет ясно».

А дальше ясно, что из неверно поставленного условия может следовать что угодно.

Читать далее!

Практическое руководство по выбору брокера сообщений

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели3K

В мире распределённых систем выбор брокера сообщений — это не просто вопрос технологии, а стратегическое решение, от которого зависит надёжность, масштабируемость и устойчивость всей архитектуры. Несмотря на популярность решений вроде Apache Kafka и Amazon SQS, их выбор часто бывает продиктован модой или привычкой, а не реальными потребностями приложения. 

В этой статье подробно разберём ключевые отличия между потоковыми и очередными брокерами, особенности их масштабирования, работы с ошибками и поддержки разных паттернов обмена сообщениями — от команд до передачи состояния.

Читать далее

Эффективная передача данных: используем Protocol Buffers для коммуникации между ESP32 и QT/QML

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели3.7K

Привет, Хабр!

Сегодня я хочу рассказать вам о том, как можно эффективно использовать Protocol Buffers в сочетании с ESP32 и Qt Framework. Для наглядности я сделаю это на примере собственного хобби-проекта, который представляет из себя гидропонную систему. В этом проекте мы попытаемся наладить коммуникацию между ESP32 и приложением Qt/QML, используя Protocol Buffers через UDP.

Читать далее

BPMN на практике: примеры и ошибки

Время на прочтение5 мин
Охват и читатели3.7K

О нотации BPMN написано немало публикаций. В них разбираются различные объекты этой нотации и способы их взаимодействия. Поэтому в этой статье мы не будем говорить об основах BPMN, а вместо этого разберем различные случаи правильного и не очень построения диаграмм.

Для начала рассмотрим несколько вариантов реализации примера с зависимыми экземплярами.

Читать далее

Физика идеального соуса качо э пепе

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели2.1K

Никто не делает пасту так, как итальянцы, — это может подтвердить каждый, кто пробовал настоящую пасту «качо э пепе». Это простое блюдо: только макароны тоннарелли, твёрдый овечий сыр пекорино и чёрный перец. Но простота эта обманчива. Качо э пепе («сыр и перец») чрезвычайно трудно приготовить правильно, потому что соус легко образует неаппетитные комки с текстурой, скорее напоминающей тягучую моцареллу, вместо гладкой текстуры со сливочным вкусом.

Команда итальянских физиков пришла на помощь, разработав безошибочный рецепт, основанный на их многочисленных научных экспериментах, говорится в новой статье, опубликованной в журнале Physics of Fluids. Хитрость заключается в использовании кукурузного крахмала для приготовления соуса из сыра и перца вместо того, чтобы полагаться на крахмал, который выделяется в кипящую воду при варке макарон.

Читать далее

Пять ошибок при A/B-тестировании

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели697

Привет, Хабр!

В A/B тестах можно ошибиться ещё до того, как первая строчка кода теста будет написана. А последствия этих ошибок сказываются не только на результатах одного эксперимента, а на всей продуктовой стратегии компании: на найме, на развитии функциональности, на распределении инвестиций.

Сегодня рассмотрим пять системных ошибках, которые делают ваши A/B тесты ненадёжными — даже если снаружи всё выглядит корректно.

Читать далее

Выбираем BI-системы: обзор архитектуры, технологий и выбора

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.6K

Я часто пользуюсь в работе BI системами и всегда было интересно, что же там под капотом, насколько это сложная система. Спойлер - очень сложная! И я решил разобраться в вопросе и чуть более подробно. После подготовки этой статьи стало реальнее понятнее, откуда же все таки готовилось нападение, как работает тот же Power BI. Но вероятно, нужно будет перечитать некоторые моменты дважды. В тех местах, и понятиях, которые я сам не с первого раза понял, я добавлял дополнительное описание.

Читать далее

Насколько хорошо люди прогнозируют будущее технологий? Посмотрим на историю «Цикла Хайпа»

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели1.5K

С 1995 года аналитики Gartner выпускают ежегодный доклад «Цикл Хайпа», который показывает состояние разных многообещающих технологий вроде больших языковых моделей, беспилотных автомобилей, солнечных панелей и так далее.
 
Каждый отчет строится вокруг S-образной кривой, где показано, в какой точке находится та или иная технология: пребывает на пике ажиотажа, разочаровывает или внедряется. Ожидается, что разработки, попавшие в «Цикл Хайпа», сильно повлияют на бизнес и общество. Составители кривой Gartner не сами оценивают технологии, а опираются на ожидания инвесторов, бизнеса и общества, ну, и шумиху вокруг разработок. В общем, чтобы понять, насколько хорошо люди прогнозируют будущее, можно покопаться в старых графиках Gartner.

В этой статье разберем некоторые разработки, которые бывали на пике ажиотажа, но не прошли дальше, разочаровали при внедрении или провалились в первоначальной концепции, но распались на решения, используемые повсеместно.

Читать далее

10 советов начинающим основателям компаний

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели4.2K

Или что бы я посоветовал себе 5 лет назад.

Эта статья будет полезна тем, кто только собирается открывать своё дело и хочет избежать участи большинства новых бизнесов. А ещё тем, кто прямо сейчас выбирает между вариантами «оставить агентство» или «закрыть», и нуждается в поддержке того, кто такой кризис преодолевал не раз.

Читать далее

Книга: «Концепции дизайна. Как проектировать ПО, которое работает»

Время на прочтение4 мин
Охват и читатели1.9K
Привет, Хаброжители!

Почему одни программы интуитивно понятны и надежны, а другие — запутанные и ненадежные? В чем секрет хорошего дизайна программного обеспечения? Дэниел Джексон, профессор MIT и ведущий специалист в области проектирования ПО, предлагает революционный подход — концептуальное проектирование. Его книга «Концепции дизайна. Как проектировать ПО, которое работает» доказывает, что ключ к созданию качественного ПО лежит не в бесконечных правках интерфейса или оптимизации кода, а в правильном выделении и структурировании концепций — базовых идей, которые определяют поведение системы.

Дэниел Джексон на страницах книги объясняет, что любое приложение можно разложить на набор взаимодействующих концепций, каждая из которых отвечает за определенную функциональность. Такой подход не только упрощает проектирование, но и делает ПО более предсказуемым, удобным и устойчивым к ошибкам. Книга подходит не только разработчикам, но и всем, кто связан с созданием цифровых продуктов — от дизайнеров до менеджеров.
Читать дальше →

Отвечает ли CRM за сохранность ПД и как не нарушить закон при хранении ПД в обычной таблице

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели1.8K

Сегодня утром вы открыли глаза и четко осознали: бизнесу нужно развиваться!  Отлично, используйте все легальные доступные инструменты.

Только, пожалуйста, не развивайте свое дело, пренебрегая обязательными пунктами ведения бизнеса, которые установило законодательство. Я о работе с персональными данными. Не устаю напоминать, потому что это действительно важно.

Сегодня разбираю законность хранения ПД в обычных таблицах и CRM-системах. Вам нужно это знать, даже если в вашей компании работает три человека

Узнать про хранение ПД в таблицах и CRM

Иннополис 2025: как живёт город, где кодят больше, чем дышат

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели14K

Что, если бы вы жили в городе, где до любого места можно добраться за 15 минут, а на улицах — роботакси и роботы доставщики? Где утро начинается с кофе и стендапа, а вечером ты уже можешь оказаться на afterparty крупнейшей dev-конференции страны. Добро пожаловать в Иннополис — самый молодой, цифровой и «айтишный» город России.

Приглашаем в технологическое сердце Татарстана, чтобы разобраться:
— Кто и зачем переезжает в Иннополис?
— Какие компании создают тут будущее?
— Почему профессиональная конференция Merge собирает тысячи разработчиков со всей страны именно здесь?
— И при чём тут беспилотные такси и школьники-хакеры?

Статья про город, где IT — это не индустрия, а образ жизни.

Читать далее

Все, что нужно знать о домашних 3D-принтерах: сколько стоит, как выбирать, нюансы использования, зачем нужен

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели34K

Если вы подумываете о покупке своего первого 3D-принтера, но ничего о них не знаете и не понимаете, с чего начать выбор, эта статья для вас.

Привет, Хабр! Я Денис Воденеев, директор отделения автоматизированного тестирования в IBS. Увлекаюсь 3D-печатью уже 5 лет — первый принтер купил в 2019 году.

В этой статье расскажу о том, какие бывают 3D-принтеры, как их выбирать, сколько они стоят, какие нужны расходники, и о многом другом, что надо знать перед покупкой своего первого принтера.

Читать далее

Как подготовиться и пройти System Design Interview

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели12K

System Design Interview — пожалуй, один из самых «бесформенных» этапов технического собеседования. Здесь важно не найти единственно верное решение, а продемонстрировать системное мышление, умение работать с абстракциями, логически выстраивать архитектуру и аргументированно делать выбор технологий.

Александр Кучук, эксперт сообщества Spring АйО, подготовил авторскую статью, в которой шагом показывает, как структурировать интервью, какие вопросы задавать, как рассуждать и что оценит интервьюер.

Кстати, Александр ведет репозиторий с заметками: https://github.com/qcha/JBook

Читать далее

Как я создал клон Pinterest с использованием Vue 3 и FastAPI

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3K

👋 Привет, Habr!

Вы когда-нибудь пытались найти качественный open-source клон Pinterest — с real-time функционалом, полноценной архитектурой, удобным UI и современной технологической основой? Я — да. И не нашёл. Поэтому решил создать свой.

Представляю вам Pinterest Clone — мой pet-проект, над которым я работал в одиночку 4 месяца, чтобы воссоздать не просто копию, а полнофункциональную платформу с реальным пользовательским опытом, максимально приближённым к оригиналу.

Читать далее

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность