home.social

#cqrs — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #cqrs, aggregated by home.social.

fetched live
  1. Как я php фреймворк писал

    В качестве вступления небольшой дисклеймер. Ниже длиннопост про самописный PHP-фреймворк, с примерами кода и его описанием. Автор не интерпрайз-разработчик, по образованию я юрист, а программирование для меня просто хобби, то, что меня занимает. Повествование идет о том, как я собирал свою систему исходя из своего представления о прекрасном и к чему в итоге пришел. Большинству писать свой фреймворк не нужно от слова совсем. Берете Symfony, Laravel, Spiral, [ваш любимый фреймворк], нужный набор библиотек и решаете продуктовую задачу. Это разумный путь. Зачем тогда этим занялся я? Если кратко, то потому что могу и хочу, если не очень кратко, то мне было интересно написать свой PSR-совместимый фреймворк. Все началось еще в середине десятых. На тот момент недавно вышел PHP 5.6, приняли PSR-7, позже появился PSR-15, и сборка своего велосипеда на этих новомодных абстракциях, с middleware-пайплайном, показалась мне весьма полезным и увлекательным предприятием. За основу было решено взять nyholm/psr7 , PHP-DI , для отправки ответа прикрутил laminas/httphandlerrunner , конфигурация была написана с оглядкой на тот же laminas, а middleware-пайплайн, фабрика для них, мапшрутизация, app-интеграция, провайдер аутентификации, экспорт конфигурации (в том числе экспорт замыканий) и skeleton-пакет были написаны с нуля. На это ушло примерно два или три года, и где-то к 2020 была собрана первая рабочая версия. Потом я то забрасывал проект, то возвращался к нему вновь, то переписывал куски полностью. В 2025 году решил в очередной раз переделать все. Реализовать это устремление сильно помогло развитие кодинг-агентов. Сначала Claude Code, позже Codex. Большой объем кодовой базы был переписан или написан полностью с нуля. Если после прочтения последнего предложения ты, дорогой читатель, почувствовал как свербит седалищный нерв, то не торопись писать свое фи или закрывать статью. Текст ниже не о вайб-кодинге и не о том, как можно легко и круто вкатиться в разработку не хуже интерпрайз-уровня, не имея никакой экспертизы в вопросе. Кодинг-агенты хорошо решают задачу по написанию бойлерплейта, хотя, будем честны, многие другие задачи они тоже решают на достойном уровне. В моем случае я занимался проектированием интерфейсов, архитектурой, написанием промптов, ревью и вычиткой README, а машина писала код, README, тесты, наводила на нужные мысли, предлагала, где можно посмотреть решения.

    habr.com/ru/articles/1050456/

    #php #framework #psr7 #psr15 #cqrs

  2. Как я php фреймворк писал

    В качестве вступления небольшой дисклеймер. Ниже длиннопост про самописный PHP-фреймворк, с примерами кода и его описанием. Автор не интерпрайз-разработчик, по образованию я юрист, а программирование для меня просто хобби, то, что меня занимает. Повествование идет о том, как я собирал свою систему исходя из своего представления о прекрасном и к чему в итоге пришел. Большинству писать свой фреймворк не нужно от слова совсем. Берете Symfony, Laravel, Spiral, [ваш любимый фреймворк], нужный набор библиотек и решаете продуктовую задачу. Это разумный путь. Зачем тогда этим занялся я? Если кратко, то потому что могу и хочу, если не очень кратко, то мне было интересно написать свой PSR-совместимый фреймворк. Все началось еще в середине десятых. На тот момент недавно вышел PHP 5.6, приняли PSR-7, позже появился PSR-15, и сборка своего велосипеда на этих новомодных абстракциях, с middleware-пайплайном, показалась мне весьма полезным и увлекательным предприятием. За основу было решено взять nyholm/psr7 , PHP-DI , для отправки ответа прикрутил laminas/httphandlerrunner , конфигурация была написана с оглядкой на тот же laminas, а middleware-пайплайн, фабрика для них, мапшрутизация, app-интеграция, провайдер аутентификации, экспорт конфигурации (в том числе экспорт замыканий) и skeleton-пакет были написаны с нуля. На это ушло примерно два или три года, и где-то к 2020 была собрана первая рабочая версия. Потом я то забрасывал проект, то возвращался к нему вновь, то переписывал куски полностью. В 2025 году решил в очередной раз переделать все. Реализовать это устремление сильно помогло развитие кодинг-агентов. Сначала Claude Code, позже Codex. Большой объем кодовой базы был переписан или написан полностью с нуля. Если после прочтения последнего предложения ты, дорогой читатель, почувствовал как свербит седалищный нерв, то не торопись писать свое фи или закрывать статью. Текст ниже не о вайб-кодинге и не о том, как можно легко и круто вкатиться в разработку не хуже интерпрайз-уровня, не имея никакой экспертизы в вопросе. Кодинг-агенты хорошо решают задачу по написанию бойлерплейта, хотя, будем честны, многие другие задачи они тоже решают на достойном уровне. В моем случае я занимался проектированием интерфейсов, архитектурой, написанием промптов, ревью и вычиткой README, а машина писала код, README, тесты, наводила на нужные мысли, предлагала, где можно посмотреть решения.

    habr.com/ru/articles/1050456/

    #php #framework #psr7 #psr15 #cqrs

  3. Как я php фреймворк писал

    В качестве вступления небольшой дисклеймер. Ниже длиннопост про самописный PHP-фреймворк, с примерами кода и его описанием. Автор не интерпрайз-разработчик, по образованию я юрист, а программирование для меня просто хобби, то, что меня занимает. Повествование идет о том, как я собирал свою систему исходя из своего представления о прекрасном и к чему в итоге пришел. Большинству писать свой фреймворк не нужно от слова совсем. Берете Symfony, Laravel, Spiral, [ваш любимый фреймворк], нужный набор библиотек и решаете продуктовую задачу. Это разумный путь. Зачем тогда этим занялся я? Если кратко, то потому что могу и хочу, если не очень кратко, то мне было интересно написать свой PSR-совместимый фреймворк. Все началось еще в середине десятых. На тот момент недавно вышел PHP 5.6, приняли PSR-7, позже появился PSR-15, и сборка своего велосипеда на этих новомодных абстракциях, с middleware-пайплайном, показалась мне весьма полезным и увлекательным предприятием. За основу было решено взять nyholm/psr7 , PHP-DI , для отправки ответа прикрутил laminas/httphandlerrunner , конфигурация была написана с оглядкой на тот же laminas, а middleware-пайплайн, фабрика для них, мапшрутизация, app-интеграция, провайдер аутентификации, экспорт конфигурации (в том числе экспорт замыканий) и skeleton-пакет были написаны с нуля. На это ушло примерно два или три года, и где-то к 2020 была собрана первая рабочая версия. Потом я то забрасывал проект, то возвращался к нему вновь, то переписывал куски полностью. В 2025 году решил в очередной раз переделать все. Реализовать это устремление сильно помогло развитие кодинг-агентов. Сначала Claude Code, позже Codex. Большой объем кодовой базы был переписан или написан полностью с нуля. Если после прочтения последнего предложения ты, дорогой читатель, почувствовал как свербит седалищный нерв, то не торопись писать свое фи или закрывать статью. Текст ниже не о вайб-кодинге и не о том, как можно легко и круто вкатиться в разработку не хуже интерпрайз-уровня, не имея никакой экспертизы в вопросе. Кодинг-агенты хорошо решают задачу по написанию бойлерплейта, хотя, будем честны, многие другие задачи они тоже решают на достойном уровне. В моем случае я занимался проектированием интерфейсов, архитектурой, написанием промптов, ревью и вычиткой README, а машина писала код, README, тесты, наводила на нужные мысли, предлагала, где можно посмотреть решения.

    habr.com/ru/articles/1050456/

    #php #framework #psr7 #psr15 #cqrs

  4. Почему я перестал передавать Spring Pageable в контракты слоя приложения

    Контракт use case должен описывать потребность приложения, а не API выбранного persistence фреймворка. Spring Data пагинация хорошо работает в CRUD приложениях. Для многих проектов Pageable в application service — это разумный компромисс. Проблема возникает, когда Pageable становится частью публичного контракта use case.

    habr.com/ru/articles/1044352/

    #Clean_Architecture #Pageable #pagination #Repository_Pattern #CQRS #Read_Model #JDBC #java

  5. Почему я перестал передавать Spring Pageable в контракты слоя приложения

    Контракт use case должен описывать потребность приложения, а не API выбранного persistence фреймворка. Spring Data пагинация хорошо работает в CRUD приложениях. Для многих проектов Pageable в application service — это разумный компромисс. Проблема возникает, когда Pageable становится частью публичного контракта use case.

    habr.com/ru/articles/1044352/

    #Clean_Architecture #Pageable #pagination #Repository_Pattern #CQRS #Read_Model #JDBC #java

  6. Почему я перестал передавать Spring Pageable в контракты слоя приложения

    Контракт use case должен описывать потребность приложения, а не API выбранного persistence фреймворка. Spring Data пагинация хорошо работает в CRUD приложениях. Для многих проектов Pageable в application service — это разумный компромисс. Проблема возникает, когда Pageable становится частью публичного контракта use case.

    habr.com/ru/articles/1044352/

    #Clean_Architecture #Pageable #pagination #Repository_Pattern #CQRS #Read_Model #JDBC #java

  7. В поисках баланса в backend-архитектуре

    Размышление о backend‑архитектуре между двумя крайностями: академической чистотой и радикальным прагматизмом. На примере read/write path, CQRS, кэширования готовых ответов и собственного framework‑а на Go я показываю, как архитектурные шаблоны сталкиваются с production‑реальностью.

    habr.com/ru/articles/1044218/

    #backend #golang #go #clean_architecture #ddd #cqrs #архитектура #framework #read_path #write_path

  8. В поисках баланса в backend-архитектуре

    Размышление о backend‑архитектуре между двумя крайностями: академической чистотой и радикальным прагматизмом. На примере read/write path, CQRS, кэширования готовых ответов и собственного framework‑а на Go я показываю, как архитектурные шаблоны сталкиваются с production‑реальностью.

    habr.com/ru/articles/1044218/

    #backend #golang #go #clean_architecture #ddd #cqrs #архитектура #framework #read_path #write_path

  9. В поисках баланса в backend-архитектуре

    Размышление о backend‑архитектуре между двумя крайностями: академической чистотой и радикальным прагматизмом. На примере read/write path, CQRS, кэширования готовых ответов и собственного framework‑а на Go я показываю, как архитектурные шаблоны сталкиваются с production‑реальностью.

    habr.com/ru/articles/1044218/

    #backend #golang #go #clean_architecture #ddd #cqrs #архитектура #framework #read_path #write_path

  10. Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

    Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система этого даже не заметила. B2B travel SaaS, конец 2016-го. Два руководителя финансового департамента одновременно открыли форму апрува, оба увидели один и тот же остаток, и каждый одобрил поездку, которая по отдельности в бюджет вписывалась. Вместе они пробили лимит. Узнали мы об этом из звонка клиента, не из алерта. Дальше – три вопроса про eventual consistency, которые стоит задать до архитектуры, а не на разборе инцидента.

    habr.com/ru/articles/1042256/

    #eventual_consistency #согласованность_данных #CQRS #оптимистичная_блокировка #EF_Core #проекции #saga #идемпотентность #распределённые_системы #read_model

  11. Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

    Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система этого даже не заметила. B2B travel SaaS, конец 2016-го. Два руководителя финансового департамента одновременно открыли форму апрува, оба увидели один и тот же остаток, и каждый одобрил поездку, которая по отдельности в бюджет вписывалась. Вместе они пробили лимит. Узнали мы об этом из звонка клиента, не из алерта. Дальше – три вопроса про eventual consistency, которые стоит задать до архитектуры, а не на разборе инцидента.

    habr.com/ru/articles/1042256/

    #eventual_consistency #согласованность_данных #CQRS #оптимистичная_блокировка #EF_Core #проекции #saga #идемпотентность #распределённые_системы #read_model

  12. Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

    Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система этого даже не заметила. B2B travel SaaS, конец 2016-го. Два руководителя финансового департамента одновременно открыли форму апрува, оба увидели один и тот же остаток, и каждый одобрил поездку, которая по отдельности в бюджет вписывалась. Вместе они пробили лимит. Узнали мы об этом из звонка клиента, не из алерта. Дальше – три вопроса про eventual consistency, которые стоит задать до архитектуры, а не на разборе инцидента.

    habr.com/ru/articles/1042256/

    #eventual_consistency #согласованность_данных #CQRS #оптимистичная_блокировка #EF_Core #проекции #saga #идемпотентность #распределённые_системы #read_model

  13. Как мы укротили сложный процесс с помощью CQRS и стейт-машин

    Привет, Хабр! Меня зовут Никита, я являюсь разработчиком в направлении SSL инфраструктурной команды биллинга в Timeweb Cloud. Сегодня я хочу рассказать, как мы наводили порядок в коде одного из наших микросервисов, почему отказались от лапши в контроллерах, и главное — почему мы решили выложить наш внутренний архитектурный фреймворк в Open Source. Если вы пишете на Python и хоть раз сталкивались с болью распределенных транзакций, отваливающихся внешних API и проблемой dual-write (двойной записи) — присаживайтесь поудобнее. Речь пойдет про наш open-source фреймворк python-cqrs (он же доступен на PyPI).

    habr.com/ru/companies/timeweb/

    #cqrs #ddd #python #фреймворки #acid #open_source #api #timeweb_статьи

  14. Как мы укротили сложный процесс с помощью CQRS и стейт-машин

    Привет, Хабр! Меня зовут Никита, я являюсь разработчиком в направлении SSL инфраструктурной команды биллинга в Timeweb Cloud. Сегодня я хочу рассказать, как мы наводили порядок в коде одного из наших микросервисов, почему отказались от лапши в контроллерах, и главное — почему мы решили выложить наш внутренний архитектурный фреймворк в Open Source. Если вы пишете на Python и хоть раз сталкивались с болью распределенных транзакций, отваливающихся внешних API и проблемой dual-write (двойной записи) — присаживайтесь поудобнее. Речь пойдет про наш open-source фреймворк python-cqrs (он же доступен на PyPI).

    habr.com/ru/companies/timeweb/

    #cqrs #ddd #python #фреймворки #acid #open_source #api #timeweb_статьи

  15. Как мы укротили сложный процесс с помощью CQRS и стейт-машин

    Привет, Хабр! Меня зовут Никита, я являюсь разработчиком в направлении SSL инфраструктурной команды биллинга в Timeweb Cloud. Сегодня я хочу рассказать, как мы наводили порядок в коде одного из наших микросервисов, почему отказались от лапши в контроллерах, и главное — почему мы решили выложить наш внутренний архитектурный фреймворк в Open Source. Если вы пишете на Python и хоть раз сталкивались с болью распределенных транзакций, отваливающихся внешних API и проблемой dual-write (двойной записи) — присаживайтесь поудобнее. Речь пойдет про наш open-source фреймворк python-cqrs (он же доступен на PyPI).

    habr.com/ru/companies/timeweb/

    #cqrs #ddd #python #фреймворки #acid #open_source #api #timeweb_статьи

  16. I have been iterating on Event Sourcing and CQRS architectures for nearly a decade. When I first started with this pattern around 2016 and 2017, the implementation was considerably more complex. Over the years I have stripped it back again and again, and what I have arrived at now is something I'm genuinely happy with: a small, focused TypeScript library backed by DynamoDB that does exactly what it needs to and nothing more: coderbyheart.com/es-and-cqrs-o #eventsourcing #cqrs #aws

  17. I have been iterating on Event Sourcing and CQRS architectures for nearly a decade. When I first started with this pattern around 2016 and 2017, the implementation was considerably more complex. Over the years I have stripped it back again and again, and what I have arrived at now is something I'm genuinely happy with: a small, focused TypeScript library backed by DynamoDB that does exactly what it needs to and nothing more: coderbyheart.com/es-and-cqrs-o #eventsourcing #cqrs #aws

  18. I have been iterating on Event Sourcing and CQRS architectures for nearly a decade. When I first started with this pattern around 2016 and 2017, the implementation was considerably more complex. Over the years I have stripped it back again and again, and what I have arrived at now is something I'm genuinely happy with: a small, focused TypeScript library backed by DynamoDB that does exactly what it needs to and nothing more: coderbyheart.com/es-and-cqrs-o #eventsourcing #cqrs #aws

  19. I have been iterating on Event Sourcing and CQRS architectures for nearly a decade. When I first started with this pattern around 2016 and 2017, the implementation was considerably more complex. Over the years I have stripped it back again and again, and what I have arrived at now is something I'm genuinely happy with: a small, focused TypeScript library backed by DynamoDB that does exactly what it needs to and nothing more: coderbyheart.com/es-and-cqrs-o #eventsourcing #cqrs #aws

  20. I have been iterating on Event Sourcing and CQRS architectures for nearly a decade. When I first started with this pattern around 2016 and 2017, the implementation was considerably more complex. Over the years I have stripped it back again and again, and what I have arrived at now is something I'm genuinely happy with: a small, focused TypeScript library backed by DynamoDB that does exactly what it needs to and nothing more: coderbyheart.com/es-and-cqrs-o #eventsourcing #cqrs #aws

  21. CW: Détails techniques 9/9

    Explorations techniques (suite)

    #localfirst

    - Comment synchroniser mes données locales entre plusieurs machines ? avec un serveur ?
    - #eventsourcing et #CQRS ?
    - #crdt (@inkandswitch.com ) pour la collaboration ? Est-ce qu'il faut de la collaboration ?

  22. CW: Détails techniques 9/9

    Explorations techniques (suite)

    #localfirst

    - Comment synchroniser mes données locales entre plusieurs machines ? avec un serveur ?
    - #eventsourcing et #CQRS ?
    - #crdt (@inkandswitch.com ) pour la collaboration ? Est-ce qu'il faut de la collaboration ?

  23. CW: Détails techniques 9/9

    Explorations techniques (suite)

    #localfirst

    - Comment synchroniser mes données locales entre plusieurs machines ? avec un serveur ?
    - #eventsourcing et #CQRS ?
    - #crdt (@inkandswitch.com ) pour la collaboration ? Est-ce qu'il faut de la collaboration ?

  24. CW: Détails techniques 9/9

    Explorations techniques (suite)

    #localfirst

    - Comment synchroniser mes données locales entre plusieurs machines ? avec un serveur ?
    - #eventsourcing et #CQRS ?
    - #crdt (@inkandswitch.com ) pour la collaboration ? Est-ce qu'il faut de la collaboration ?

  25. CW: Détails techniques 9/9

    Explorations techniques (suite)

    #localfirst

    - Comment synchroniser mes données locales entre plusieurs machines ? avec un serveur ?
    - #eventsourcing et #CQRS ?
    - #crdt (@inkandswitch.com ) pour la collaboration ? Est-ce qu'il faut de la collaboration ?

  26. Your customer received €50. The notification on their phone says "New balance: €100." Should be €150 — the notification queried the read model before the projection committed.

    That race lives in most CQRS systems. Wrote up how to close it for good in PHP — by emitting derived events from inside the projection.

    blog.ecotone.tech/stop-subscri

    #PHP #EventSourcing #CQRS #Ecotone

  27. Your customer received €50. The notification on their phone says "New balance: €100." Should be €150 — the notification queried the read model before the projection committed.

    That race lives in most CQRS systems. Wrote up how to close it for good in PHP — by emitting derived events from inside the projection.

    blog.ecotone.tech/stop-subscri

    #PHP #EventSourcing #CQRS #Ecotone

  28. Your customer received €50. The notification on their phone says "New balance: €100." Should be €150 — the notification queried the read model before the projection committed.

    That race lives in most CQRS systems. Wrote up how to close it for good in PHP — by emitting derived events from inside the projection.

    blog.ecotone.tech/stop-subscri

    #PHP #EventSourcing #CQRS #Ecotone

  29. Your customer received €50. The notification on their phone says "New balance: €100." Should be €150 — the notification queried the read model before the projection committed.

    That race lives in most CQRS systems. Wrote up how to close it for good in PHP — by emitting derived events from inside the projection.

    blog.ecotone.tech/stop-subscri

    #PHP #EventSourcing #CQRS #Ecotone

  30. Your customer received €50. The notification on their phone says "New balance: €100." Should be €150 — the notification queried the read model before the projection committed.

    That race lives in most CQRS systems. Wrote up how to close it for good in PHP — by emitting derived events from inside the projection.

    blog.ecotone.tech/stop-subscri

    #PHP #EventSourcing #CQRS #Ecotone

  31. Асинхронная архитектура на CQRS: гайд по внедрению в 2026 году

    Монолит тормозит, бизнес требует новых отчётов, а каждая правка ломает всё вокруг? Знакомо! В этой статье рассматриваются примеры внедрения CQRS и Event Sourcing. разбираются практики разделения команд и запросов, построение асинхронной архитектуры на Kafka. Под катом — код, Mermaid-схемы и best practices, которые реально работают.

    habr.com/ru/companies/otus/art

    #ddd #CQRS #DomainDriven_Design #Event_Sourcing #асинхронная_архитектура #микросервисы #Java #Apache_Kafka

  32. Асинхронная архитектура на CQRS: гайд по внедрению в 2026 году

    Монолит тормозит, бизнес требует новых отчётов, а каждая правка ломает всё вокруг? Знакомо! В этой статье рассматриваются примеры внедрения CQRS и Event Sourcing. разбираются практики разделения команд и запросов, построение асинхронной архитектуры на Kafka. Под катом — код, Mermaid-схемы и best practices, которые реально работают.

    habr.com/ru/companies/otus/art

    #ddd #CQRS #DomainDriven_Design #Event_Sourcing #асинхронная_архитектура #микросервисы #Java #Apache_Kafka

  33. Асинхронная архитектура на CQRS: гайд по внедрению в 2026 году

    Монолит тормозит, бизнес требует новых отчётов, а каждая правка ломает всё вокруг? Знакомо! В этой статье рассматриваются примеры внедрения CQRS и Event Sourcing. разбираются практики разделения команд и запросов, построение асинхронной архитектуры на Kafka. Под катом — код, Mermaid-схемы и best practices, которые реально работают.

    habr.com/ru/companies/otus/art

    #ddd #CQRS #DomainDriven_Design #Event_Sourcing #асинхронная_архитектура #микросервисы #Java #Apache_Kafka

  34. Next week I will speak at BASTA! Conference in Frankfurt, about #SoftwareArchitecture, #CSharp, #LLM use in #CQRS and #EventSourcing systems, and much else. 🌎 Bring your thinking hat for my #BASTAllionaire game show 🎉! Say hello if you see me, or come talk about #DevExpress. 🚀 basta.net/frankfurt/

  35. Next week I will speak at BASTA! Conference in Frankfurt, about #SoftwareArchitecture, #CSharp, #LLM use in #CQRS and #EventSourcing systems, and much else. 🌎 Bring your thinking hat for my #BASTAllionaire game show 🎉! Say hello if you see me, or come talk about #DevExpress. 🚀 basta.net/frankfurt/

  36. Next week I will speak at BASTA! Conference in Frankfurt, about #SoftwareArchitecture, #CSharp, #LLM use in #CQRS and #EventSourcing systems, and much else. 🌎 Bring your thinking hat for my #BASTAllionaire game show 🎉! Say hello if you see me, or come talk about #DevExpress. 🚀 basta.net/frankfurt/

  37. Next week I will speak at BASTA! Conference in Frankfurt, about #SoftwareArchitecture, #CSharp, #LLM use in #CQRS and #EventSourcing systems, and much else. 🌎 Bring your thinking hat for my #BASTAllionaire game show 🎉! Say hello if you see me, or come talk about #DevExpress. 🚀 basta.net/frankfurt/

  38. Next week I will speak at BASTA! Conference in Frankfurt, about #SoftwareArchitecture, #CSharp, #LLM use in #CQRS and #EventSourcing systems, and much else. 🌎 Bring your thinking hat for my #BASTAllionaire game show 🎉! Say hello if you see me, or come talk about #DevExpress. 🚀 basta.net/frankfurt/

  39. 🚀 Unlock Enterprise-Grade Software Architecture! 🚀

    Tired of legacy code chaos? With 20+ years mastering .NET, DDD, CQRS, microservices & TDD, I craft scalable, maintainable systems that drive business wins. From authoring functional C# libraries with 49k+ NuGet downloads to architecting scalable enterprise systems.

    Ready to level up? Book a Calendly session!

    Dive into insights on my blog.

    #SoftwareArchitecture #DotNet #DDD #CQRS #Microservices #Consulting #TechLeadership

  40. Urich: DDD и CQRS для микросервисов на Starlette без ручной раскладки роутов

    Когда строим бэкенд по DDD и CQRS, роуты и OpenAPI обычно собираем вручную. Urich делает иначе: описываешь ограниченный контекст одним объектом — маршруты и документация появляются сами. Обзор фреймворка на Starlette и примеры кода.

    habr.com/ru/articles/1002994/

    #python_3 #starlette #ddd #cqrs #микросервисы

  41. Urich: DDD и CQRS для микросервисов на Starlette без ручной раскладки роутов

    Когда строим бэкенд по DDD и CQRS, роуты и OpenAPI обычно собираем вручную. Urich делает иначе: описываешь ограниченный контекст одним объектом — маршруты и документация появляются сами. Обзор фреймворка на Starlette и примеры кода.

    habr.com/ru/articles/1002994/

    #python_3 #starlette #ddd #cqrs #микросервисы

  42. Urich: DDD и CQRS для микросервисов на Starlette без ручной раскладки роутов

    Когда строим бэкенд по DDD и CQRS, роуты и OpenAPI обычно собираем вручную. Urich делает иначе: описываешь ограниченный контекст одним объектом — маршруты и документация появляются сами. Обзор фреймворка на Starlette и примеры кода.

    habr.com/ru/articles/1002994/

    #python_3 #starlette #ddd #cqrs #микросервисы

  43. Wenn du anfängst, dich intensiver mit Softwaredesign zu beschäftigen, stolperst du relativ früh über Prinzipien mit großen Namen. Eins davon ist Command–Query Separation, kurz CQS. Klingt erstmal theoretisch, ist aber im Alltag extrem praktisch - gerade dann, wenn dein Code langsam größer w

    magicmarcy.de/command–query-se

    #Command #Query #Separation #CQRS #Trennung #Programming

  44. Wenn du anfängst, dich intensiver mit Softwaredesign zu beschäftigen, stolperst du relativ früh über Prinzipien mit großen Namen. Eins davon ist Command–Query Separation, kurz CQS. Klingt erstmal theoretisch, ist aber im Alltag extrem praktisch - gerade dann, wenn dein Code langsam größer w

    magicmarcy.de/command–query-se

    #Command #Query #Separation #CQRS #Trennung #Programming

  45. Wenn du anfängst, dich intensiver mit Softwaredesign zu beschäftigen, stolperst du relativ früh über Prinzipien mit großen Namen. Eins davon ist Command–Query Separation, kurz CQS. Klingt erstmal theoretisch, ist aber im Alltag extrem praktisch - gerade dann, wenn dein Code langsam größer w

    magicmarcy.de/command–query-se

    #Command #Query #Separation #CQRS #Trennung #Programming