
Есть крайне занимательный факт. Двоичная логика, которую использует каждый современный процессор - математически не оптимальна и проигрывает тернарной по плотности представления данных. Но как так-то?

Есть крайне занимательный факт. Двоичная логика, которую использует каждый современный процессор - математически не оптимальна и проигрывает тернарной по плотности представления данных. Но как так-то?

Сущность — числовой идентификатор без данных.
Компонент — структура данных (Position, Health, Velocity), которая может быть прикреплена к сущности.
Система — код, перебирающий сущности с нужным набором компонентов и обрабатывающий их.
Писать про DDD легко, пока в примерах User, Order и пара красивых стрелочек. В проде оно обычно выглядит менее аккуратно: у клиента в интерфейсе одна сумма, списывается другая, саппорт открывает админку и видит третью.
Расскажу про платежный кусок, где мы на Go в какой-то момент уперлись в курсы валют. Названия сервисов чуть изменены, но суть та же. Это не история про “как мы построили идеальную архитектуру”. Скорее наоборот: сначала сделали нормально на вид, потом оно начало протекать в самых неприятных местах.
Сервисов было немного:
checkout-api
payment-service
fx-rate-service
billing-service
ledger-service
Читать полностью »
Я технический лидер. Обычно моя работа не в том, чтобы писать код руками, а в том, чтобы запускать сложные hardware/software-проекты с нуля, собирать архитектуру, принимать ключевые технические решения, выстраивать команду и доводить систему до MVP в условиях неопределённости.
Я работаю на стыке механики, электроники, разработки и AI, связывая это в единый контур.
При этом я не владею языками программирования как разработчик.
Прежде чем погружаться в архитектуру, давайте посмотрим на контекст, в котором всё это происходит.
По данным исследования McKinsey 2022 года, технический долг составляет до 40% всего технологического портфеля компаний. И это не просто цифра в отчёте. Согласно опросу 2024 года среди технических руководителей, у более чем 50% компаний технический долг занимает свыше четверти всего IT-бюджета, блокируя внедрение новых функций. (Источник: vFunction, 2025)
У вас есть Grafana. Она показывает графики с Prometheus. Prometheus скрейпит метрики с ваших сервисов. Если сервис упал — вы видите красный на дашборде. Если Prometheus упал — вы не видите ничего. Дашборд замирает на последних известных значениях. Если не знать, что Prometheus лежит, можно час смотреть на «зелёный» дашборд, который на самом деле показывает данные часовой давности.
Это не гипотетика. Я видел это дважды. Первый раз — Prometheus съел диск на мониторинг-сервере (да, Prometheus хранит данные на диске, и этот диск тоже может закончиться). Второй раз — kubelet убил pod с Prometheus из-за OOM, а Pod Disruption Budget не был настроен.
Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или решения по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость.
Дисклеймер: самая большая ошибка в этой истории даже не выбор Dart, порядок действий. Вместо того чтобы в первый же день сделать честный raw benchmark на нашем production-like сценарии, я поверил в AOT, в статическую типизацию и в обещания ready for cloud - и сразу начал переносить сервис. Поэтому этот текст не только про Dart, но и про очень дорогой инженерный урок: сначала валидируй runtime-гипотезу, потом строй архитектуру вокруг неё. Чтобы не превращать текст в войну микрооптимизаций — все raw results, k8s manifests, CPU profiles, Dockerfiles и исходники рантаймов вынесены в репозиторийЧитать полностью »
В предыдущей статье мы обсуждали некоторые меры, которые пользователь может предпринять против spyware, детектирующего факт использования VPN и сливающего полученные данные “Большому брату”.
Если судить по комментариям (и автор в целом согласен с их логикой), то в условиях тотального стукачества иных выходов, кроме как иметь два смартфона (а, возможно, и два десктопа!), действительно почти не остаётся. На первый взгляд это и правда так.
Однако если немного подумать, то окажется, что техническое решение всё-таки естьЧитать полностью »
На каждой второй конференции по медицинскому AI звучит один и тот же сценарий: «Дообучим мультимодальную модель, скормим ей DICOM, и она сама выдаст диагноз». На практике, когда этот скрипт пытается попасть в реальную клинику, начинаются неожиданности. OOM на GPU, врачи не понимают, где галлюцинация модели, а где финальный отчёт, двухгигабайтные NIfTI-исследования рвут таймауты балансировщика.
Я какое-то время тоже думала, что главное — это модель. А потом пересмотрела собственный код. У меня уже есть MRI Second OpinionЧитать полностью »