Рубрика «архитектура приложений»

Если вы не стыдитесь свой код, написанный полгода назад — значит, вы недостаточно выросли как разработчик — «Дядюшка Боб»

Для кого эта статья?

Для того, кто только начинает и уже чувствует: «что-то здесь не так, но как правильно — никто не объяснил».

А еще — для того парня, которым я был много лет назад. Который только начинал, радостно накидал компонентов в src/components, порадовался, что всё работает, закрыл задачу и пошел пить чай. А через три месяца открыл этот же проект и не узнал собственный код.

Если вы узнали себя — эта статья для вас.

Введение: Проклятие выбора и гибĸости React

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

монорепа

монорепа

Наверное, у каждого разработчика был момент, когда бизнеса в жизни становится слишком много. Слишком много хотелок. Слишком короткие сроки. Слишком мало времени подумать.

И в этот момент код перестаёт быть инженерной задачей. Он превращается в бесконечное тушение пожаров.

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

Эпиграф: «Talk is cheap. Show me the code.»

Здравствуйте.

Книга «Искусство неизменяемой архитектуры: теория и практика управления данными в распределенных системах» дала интересные идеи создания приложений. Появилось желание проверить утверждения из книги на практике и сравнить теорию и практику в реальном примере.

Для проверок концепций изложенных в книге было решено разработать ТЕСТОВОЕ, НЕ PROD, решение. Решение именно для проверок идей, а не для использование в рабочем окружении.

Сокращения

Когда рассказывают про архитектуру Flutter-приложения, всё обычно выглядит слишком аккуратно.

Есть Bloc, есть Dio, есть go_router, есть get_it. Где-то рядом лежат репозитории, модели, пара экранов и слайд со стрелками. На демо это звучит убедительно: “вот UI-слой, вот data-слой, вот state management”. Кажется, что если взять правильный набор пакетов, дальше система почти сама соберётся.

У меня так не вышло.

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

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

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

Vue3, Composition API, Typescript

Архитектура сложных форм - 1

Представим, что на сайте страховой компании нужна форма для ввода данных о транспортном средстве.
В форме есть поля: типмаркамодельномерной знак

Бизнес-логика:

С появлением AI-агентов разработка программного обеспечения изменилась кардинально. Я, как и многие разработчики, начал активно использовать Claude, Cursor и другие инструменты для автоматизации написания кода. Результаты поначалу впечатляли: за один вечер, занимаясь системным анализом, проектированием архитектуры и промпт-инжинирингом, я мог сгенерировать до 100 000 строк кода.

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

Обо мне

Начну с краткого «кто я и с какой горы припёрся?». Зовут меня Юра и у меня немногим больше семи лет опыта разработки фронта на vue+typescript в ЛАНИТ и в МТС. Начал я, что забавно, с Angular 5 в далёком 2018, когда пятёрка ещё была актуальной версией, и работал с ним немногим больше пары месяцев, после чего перекатился во vue2.

Работал я исключительно в B2B и внутренней разработке. Системы документооборота, сервисдески, внутренние ГИС и PaaS и вот это вот всё. Благодаря этому я повидал разного. От DDD, до «паста‑болоньезе‑код».

Зачем и почему эта статья

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

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

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

Агенда

Добрый день, дорогие читатели!


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