Рубрика «архитектура» - 3

Дисклеймер: самая большая ошибка в этой истории даже не выбор 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Читать полностью »

«Высоконагруженные приложения» Мартина Клеппманна — книга для меня особенная. Именно она поменяла мой взгляд на системы и их проектирование. Книга представляет собой довольно глубокое погружение в то, как устроены системы которые работают под реальной нагрузкой. Клеппманн объясняет не только что делать, но и почему одни решения работают а другие разваливаются при масштабировании.

Книгу называют «Кабанчиком» за, уже легендарную, обложку с животным.

Читать полностью »

Пришёл в проект, там легаси погоняет легаси. Спагетти такие что уже в рот лезут. Отчёты по филиалам открывались 30 секунд. Команда реально боялась нажать кнопку в рабочее время, а вдруг база ляжет.

Это была система управления розничной сетью: несколько филиалов, сотни тысяч записей о заказах, ежедневные отчёты по выручке и остаткам. На бумаге ничего страшного. На практике монолит на Django где бизнес-логика размазана по контроллерам так, что поменяй что-то одно и сломается три другого.

Первое что я сделал: открыл EXPLAIN ANALYZE.

Что показал EXPLAIN ANALYZE

Запрос для отчёта по филиалу выглядел примерно так:

Читать полностью »

Манифест персонального агентного минимализма - от инженера, который 10 лет строил enterprise-системы и устал от сложности

Кто я и зачем пишу

Меня зовут Егор Зиновьев, я IT-архитектор. Десять лет в enterprise - Java, DevOps, fintech, команды до 70 человек, 20+ систем.

Последние месяцы я работаю с персональным AI-агентом, который закрывает 100% моих DevSecOps-задач - от покупки вертуалок до security-аудита Docker-образов. Один агент, без фреймворков, без оркестраторов, без векторных баз данных.

Эта статья - про архитектуру, которая за этим стоит. Я назвал её Jarvis Pattern.

Проблема: индустрия продаёт строительные леса как архитектуру

Читать полностью »

Любой десктопный монолит имеет один фатальный изъян: если UI поток падает - умирает вся бизнес-логика. Я решил это применив бэкенд-подход на десктопе.

Задача была амбициозной: создать единый центр управления рабочим местом. Чтобы одной кнопкой (или по расписанию) переключать ПК и комнату между режимами “кодинг”, “игры”, “стрим”. Это значит: управлять умным домом (Home Assistant), блокировать отвлекающие процессы и сайты, запускать нужный софт, контролировать медиа (Spotify) - и всё это через плагины.


Когда я начал проектировать архитектуру, я столкнулся с классической проблемой десктопного софта: Читать полностью »

Введение: когда документация по БД перестаёт быть мёртвым грузом

Представьте: вы заходите в репозиторий, открываете папку schemas и через пять минут понимаете, как устроена база во всём проекте, со всеми связями. Никаких устаревших диаграмм в Confluence, никаких гаданий по коду миграций. Схема базы данных становится частью кодовой базы — её можно версионировать, ревьюить, тестировать. Модель в формате ArchDB становится единым источником истины, из которого автоматически генерируются документация, DDL-скрипты и даже ORM-сущности. Звучит как мечта? Для нас с командой это стало реальностью, когда мы перешли на ArchDB.

Читать полностью »

Работая в Сбере, я столкнулся с тем, что общепринятым инструментом для функционального тестирования в моем трайбе был JMeter. Нравится ли мне это? Вопрос второстепенный. Приходилось работать с тем, что есть. По мере того как разрастались наши компоненты и их функциональность - разрастались и JMeter-тесты. Если кто не сталкивался - вся логика JMeter-тестов описана в файле с расширением .jmxЧитать полностью »

Многие из нас начинали с книг Роберта Мартина и свято верили: чистый код — это святое. Мёртвый код нужно безжалостно удалять, рефакторинг проводить каждый спринт, а технический долг — гасить немедленно. Эта догма впитывается с первых месяцев работы.

Но если вы когда-нибудь работали в проекте, который живёт больше пяти лет, в high‑load системе или enterprise‑среде, вы наверняка сталкивались с парадоксом: самые стабильные части системы — это те, к которым никто не прикасается годами.

В этой статье я хочу поговорить о крамольной для многих идее: Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js