home.social

#cqrs — Public Fediverse posts

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

  1. CQRS, async with retries and dead-lettering, event sourcing, projections, workflows. That feature list usually means a platform team.

    I built it as an e-commerce shop on Tempest + Ecotone. The entire messaging layer: about a dozen small classes of business logic. No worker command, no repository, no queue wiring.

    The Order aggregate IS the Tempest database model. One class, both frameworks.

    github.com/ecotoneframework/te

    #PHP #CQRS #EventSourcing

  2. CQRS, async with retries and dead-lettering, event sourcing, projections, workflows. That feature list usually means a platform team.

    I built it as an e-commerce shop on Tempest + Ecotone. The entire messaging layer: about a dozen small classes of business logic. No worker command, no repository, no queue wiring.

    The Order aggregate IS the Tempest database model. One class, both frameworks.

    github.com/ecotoneframework/te

    #PHP #CQRS #EventSourcing

  3. CQRS, async with retries and dead-lettering, event sourcing, projections, workflows. That feature list usually means a platform team.

    I built it as an e-commerce shop on Tempest + Ecotone. The entire messaging layer: about a dozen small classes of business logic. No worker command, no repository, no queue wiring.

    The Order aggregate IS the Tempest database model. One class, both frameworks.

    github.com/ecotoneframework/te

    #PHP #CQRS #EventSourcing

  4. CQRS, async with retries and dead-lettering, event sourcing, projections, workflows. That feature list usually means a platform team.

    I built it as an e-commerce shop on Tempest + Ecotone. The entire messaging layer: about a dozen small classes of business logic. No worker command, no repository, no queue wiring.

    The Order aggregate IS the Tempest database model. One class, both frameworks.

    github.com/ecotoneframework/te

    #PHP #CQRS #EventSourcing

  5. CQRS, async with retries and dead-lettering, event sourcing, projections, workflows. That feature list usually means a platform team.

    I built it as an e-commerce shop on Tempest + Ecotone. The entire messaging layer: about a dozen small classes of business logic. No worker command, no repository, no queue wiring.

    The Order aggregate IS the Tempest database model. One class, both frameworks.

    github.com/ecotoneframework/te

    #PHP #CQRS #EventSourcing

  6. Как я 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

  7. Как я 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

  8. Как я 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

  9. Почему я перестал передавать 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

  10. Почему я перестал передавать 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

  11. Почему я перестал передавать 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

  12. В поисках баланса в 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

  13. В поисках баланса в 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

  14. В поисках баланса в 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

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

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

    habr.com/ru/articles/1042256/

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

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

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

    habr.com/ru/articles/1042256/

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

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

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

    habr.com/ru/articles/1042256/

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

  18. Как мы укротили сложный процесс с помощью 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_статьи

  19. Как мы укротили сложный процесс с помощью 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_статьи

  20. Как мы укротили сложный процесс с помощью 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_статьи

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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 ?

  27. 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 ?

  28. 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 ?

  29. 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 ?

  30. 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 ?

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

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

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

    habr.com/ru/companies/otus/art

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

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

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

    habr.com/ru/companies/otus/art

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

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

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

    habr.com/ru/companies/otus/art

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

  39. 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/

  40. 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/

  41. 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/

  42. 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/

  43. 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/