corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a0c52b-f458-7340-a3af-6e5dcab8807b", "title": "5 Tips for Building Resilient Architecture", "url": "https://codeopinion.com/5-tips-for-building-resilient-architecture/", "published_at": "2023-12-20T22:09:29+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-4276860daa10", "title": "Path to Event-Driven Architecture. Start capturing INTENT!", "url": "https://codeopinion.com/path-to-event-driven-architecture-start-capturing-intent/", "published_at": "2023-12-13T20:03:41+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-427686231b7b", "title": "DDD is just giving a 💩 about your Domain", "url": "https://codeopinion.com/ddd-is-just-giving-a-about-your-domain/", "published_at": "2023-12-06T21:43:03+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-427687110433", "title": "Focusing on “Entities” leads nowhere good.", "url": "https://codeopinion.com/focusing-on-entities-leads-nowhere-good/", "published_at": "2023-11-30T17:20:30+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-427687b97989", "title": "What are Business Rules? It’s not this.", "url": "https://codeopinion.com/what-are-business-rules-its-not-this/", "published_at": "2023-11-16T19:29:53+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-427687f6178a", "title": "Single() or First()? Understand the Abstractions you use!", "url": "https://codeopinion.com/single-or-first-understand-the-abstractions-you-use/", "published_at": "2023-11-08T20:24:39+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-4276889e5ebf", "title": "Code Review & Refactoring to a Better Design", "url": "https://codeopinion.com/code-review-refactoring-to-a-better-design/", "published_at": "2023-10-26T20:11:43+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-4276896cb603", "title": "“Clean Architecture” and indirection. No thanks.", "url": "https://codeopinion.com/clean-architecture-and-indirection-no-thanks/", "published_at": "2023-10-18T21:00:13+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-427689afa417", "title": "How to seed a new Microservice with data?", "url": "https://codeopinion.com/how-to-seed-a-new-microservice-with-data/", "published_at": "2023-10-12T19:18:20+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768a9b3e84", "title": "HELP! My system is a spaghetti code mess.", "url": "https://codeopinion.com/help-my-system-is-a-spaghetti-code-mess/", "published_at": "2023-10-04T18:31:18+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768aef7dba", "title": "How I became a software architect… (or not)", "url": "https://codeopinion.com/how-i-became-a-software-architect-or-not/", "published_at": "2023-09-20T21:14:35+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768bb20bf8", "title": "Have you replaced your DB because of the Repository Pattern?", "url": "https://codeopinion.com/have-you-replaced-your-db-because-of-the-repository-pattern/", "published_at": "2023-09-13T21:45:51+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768bfa484c", "title": "Distributed isn’t Microservices, In-Process isn’t a Monolith", "url": "https://codeopinion.com/distributed-isnt-microservices-in-process-isnt-a-monolith/", "published_at": "2023-08-30T19:29:56+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768c61ed5f", "title": "The pendulum swings! Microservices to Monoliths", "url": "https://codeopinion.com/the-pendulum-swings-microservices-to-monoliths/", "published_at": "2023-08-23T21:36:20+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768c6f6936", "title": "Aggregate (DDD) isn’t hierarchy & relationships", "url": "https://codeopinion.com/aggregate-ddd-isnt-hierarchy-relationships/", "published_at": "2023-08-03T22:08:18+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768cc87190", "title": "Using your Database as a Queue?", "url": "https://codeopinion.com/using-your-database-as-a-queue/", "published_at": "2023-07-27T19:26:29+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768d866016", "title": "Building a system that Junior Developers can be productive in", "url": "https://codeopinion.com/building-a-system-that-junior-developers-can-be-productive-in/", "published_at": "2023-07-20T23:28:31+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768e715d27", "title": "Speeding up Queries with Materialized Views", "url": "https://codeopinion.com/speeding-up-queries-with-materialized-views/", "published_at": "2023-07-13T20:00:37+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768ea64b54", "title": "Implementing Undo functionality", "url": "https://codeopinion.com/implementing-undo-functionality/", "published_at": "2023-07-06T19:02:06+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768ea80964", "title": "Biggest scam in software dev? Best Practices.", "url": "https://codeopinion.com/biggest-scam-in-software-dev-best-practices/", "published_at": "2023-06-21T21:59:21+00:00" }, { "id": "01a0c537-3fc0-706a-81d5-42768f5f70d0", "title": "Change Data Capture + Event-Driven Architecture", "url": "https://codeopinion.com/change-data-capture-event-driven-architecture/", "published_at": "2023-06-14T19:59:23+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30682e9a38e9", "title": "Greg Young answers your Event Sourcing questions!", "url": "https://codeopinion.com/greg-young-answers-your-event-sourcing-questions/", "published_at": "2023-06-08T18:54:52+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30682f22452c", "title": "Underrated skill as a developer", "url": "https://codeopinion.com/underrated-skill-as-a-developer/", "published_at": "2023-05-31T20:43:18+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30682ffdb5d3", "title": "BEWARE of Consumer Lag!", "url": "https://codeopinion.com/beware-of-consumer-lag/", "published_at": "2023-05-25T19:13:37+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30683018c629", "title": "Abstractions to easily swap implementations? Not so fast.", "url": "https://codeopinion.com/abstractions-to-easily-swap-implementations-not-so-fast/", "published_at": "2023-05-11T18:38:55+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30683086544c", "title": "Untangling the many aspects of EDA", "url": "https://codeopinion.com/untangling-the-many-aspects-of-eda/", "published_at": "2023-05-04T20:15:09+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30683163b382", "title": "Troubleshooting Kafka with 2000 Microservices", "url": "https://codeopinion.com/troubleshooting-kafka-with-2000-microservices/", "published_at": "2023-04-27T18:29:50+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-3068320e5f6c", "title": "Scaling a Monolith with 5 Different Patterns", "url": "https://codeopinion.com/scaling-a-monolith-with-5-different-patterns/", "published_at": "2023-04-20T18:04:51+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-3068329ddf71", "title": "Greenfield Project? Start HERE!", "url": "https://codeopinion.com/greenfield-project-start-here/", "published_at": "2023-04-05T21:10:39+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30683384eabd", "title": "“I NEED data from another service!”… Do you really?", "url": "https://codeopinion.com/i-need-data-from-another-service-do-you-really/", "published_at": "2023-03-29T19:33:17+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-306833a52e8a", "title": "Don’t Fail Publishing Events!", "url": "https://codeopinion.com/dont-fail-publishing-events/", "published_at": "2023-03-22T20:19:03+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-306833f72613", "title": "Testing WITHOUT Mocks or Interfaces!", "url": "https://codeopinion.com/testing-without-mocks-or-interfaces/", "published_at": "2023-03-16T19:34:09+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-3068341299a8", "title": "Domain Events in Event Sourcing? Not Exactly!", "url": "https://codeopinion.com/domain-events-in-event-sourcing-not-exactly/", "published_at": "2023-03-09T18:51:56+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-3068341a28e6", "title": "The Challenge of Microservices: UI Composition", "url": "https://codeopinion.com/the-challenge-of-microservices-ui-composition/", "published_at": "2023-02-23T20:30:32+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-306834ba26a2", "title": "What’s enough Complexity for a Domain Model?", "url": "https://codeopinion.com/whats-enough-complexity-for-a-domain-model/", "published_at": "2023-02-15T21:54:47+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-3068355c0364", "title": "Which Software Architecture Patterns do you use?", "url": "https://codeopinion.com/which-software-architecture-patterns-do-you-use/", "published_at": "2023-02-09T16:33:44+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30683569ce13", "title": "Why is Clean Architecture so Popular?", "url": "https://codeopinion.com/why-is-clean-architecture-so-popular/", "published_at": "2023-02-03T13:30:35+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-306835fba427", "title": "That’s NOT an Aggregate in Domain Driven Design", "url": "https://codeopinion.com/thats-not-an-aggregate-in-domain-driven-design/", "published_at": "2023-01-26T00:42:53+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-30683651084f", "title": "McDonald’s Journey to Event-Driven Architecture", "url": "https://codeopinion.com/mcdonalds-journey-to-event-driven-architecture/", "published_at": "2023-01-18T19:56:12+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-306836a60e0d", "title": "Do you need a Distributed Transaction? Maybe not!", "url": "https://codeopinion.com/do-you-need-a-distributed-transaction-maybe-not/", "published_at": "2022-12-21T21:45:17+00:00" }, { "id": "01a0c541-09fd-73ea-b3e7-3068372ed849", "title": "How your “Sr.” Devs incurred Technical Debt", "url": "https://codeopinion.com/how-your-sr-devs-incurred-technical-debt/", "published_at": "2022-12-15T21:43:39+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d98249d2244", "title": "Design Patterns: Who gives a 💩?", "url": "https://codeopinion.com/design-patterns-who-gives-a/", "published_at": "2022-12-08T19:30:17+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d98258f4680", "title": "Wix.com – 5 Event Driven Architecture Pitfalls!", "url": "https://codeopinion.com/wix-com-5-event-driven-architecture-pitfalls/", "published_at": "2022-11-30T23:27:30+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d9825df97ab", "title": "Stop using trivial Guard Clauses! Try this instead", "url": "https://codeopinion.com/stop-using-trivial-guard-clauses-try-this-instead/", "published_at": "2022-11-17T00:07:49+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d9825e6935c", "title": "Do you want to use Kafka? Or do you need a Queue?", "url": "https://codeopinion.com/do-you-want-to-use-kafka-or-do-you-need-a-queue/", "published_at": "2022-11-09T23:27:39+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d9826aaecb9", "title": "Just store UTC? Not so fast! Handling Time zones is complicated.", "url": "https://codeopinion.com/just-store-utc-not-so-fast-handling-time-zones-is-complicated/", "published_at": "2022-11-02T22:08:02+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982724252f", "title": "STOP Over-Engineering Software!", "url": "https://codeopinion.com/stop-over-engineering-software/", "published_at": "2022-10-26T22:18:07+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d9827904990", "title": "Data Partitioning! Don’t let growth SLOW you down!", "url": "https://codeopinion.com/data-partitioning-dont-let-growth-slow-you-down/", "published_at": "2022-10-19T22:10:24+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d9828874b74", "title": "Event Choreography for Loosely Coupled Workflow", "url": "https://codeopinion.com/event-choreography-for-loosely-coupled-workflow/", "published_at": "2022-10-13T22:08:37+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d9828c9802a", "title": "What is Software Architecture?", "url": "https://codeopinion.com/what-is-software-architecture/", "published_at": "2022-10-06T20:46:01+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d9829987e07", "title": "Should you Soft Delete?", "url": "https://codeopinion.com/should-you-soft-delete/", "published_at": "2022-09-21T21:10:49+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982a0db207", "title": "Where should you use gRPC? And where NOT!", "url": "https://codeopinion.com/where-should-you-use-grpc-and-where-not/", "published_at": "2022-09-14T21:50:31+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982a6a87b7", "title": "The world is full of Asynchronous Workflow", "url": "https://codeopinion.com/the-world-is-full-of-asynchronous-workflow/", "published_at": "2022-09-07T22:21:37+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982a74c1e1", "title": "Data Access Layer makes it easier to change your Database?", "url": "https://codeopinion.com/data-access-layer-makes-it-easier-to-change-your-database/", "published_at": "2022-08-31T21:50:55+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982ad2b95c", "title": "Shared Database between Services? Maybe!", "url": "https://codeopinion.com/shared-database-between-services-maybe/", "published_at": "2022-08-17T22:13:30+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982bc7898a", "title": "Workflow Orchestration for Resilient Systems", "url": "https://codeopinion.com/workflow-orchestration-for-resilient-systems/", "published_at": "2022-08-10T22:31:18+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982bd5e82f", "title": "Distributed Tracing to discover a Distributed BIG BALL of MUD", "url": "https://codeopinion.com/distributed-tracing-to-discover-a-distributed-big-ball-of-mud/", "published_at": "2022-08-03T21:46:28+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982c55f614", "title": "Fintech Mindset to Software Design", "url": "https://codeopinion.com/fintech-mindset-to-software-design/", "published_at": "2022-07-27T21:54:17+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982ccaf7b6", "title": "Event Carried State Transfer: Keep a local cache!", "url": "https://codeopinion.com/event-carried-state-transfer-keep-a-local-cache/", "published_at": "2022-07-20T22:41:54+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982d7fcb70", "title": "SOLID? Nope, just Coupling and Cohesion", "url": "https://codeopinion.com/solid-nope-just-coupling-and-cohesion/", "published_at": "2022-07-13T20:12:01+00:00" }, { "id": "01a0c549-fd9e-7206-bc64-1d982dcb5353", "title": "Blocking or Non-Blocking API calls?", "url": "https://codeopinion.com/blocking-or-non-blocking-api-calls/", "published_at": "2022-07-07T20:22:37+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d176e208", "title": "Avoiding Batch Jobs by a message in the FUTURE", "url": "https://codeopinion.com/avoiding-batch-jobs-by-a-message-in-the-future/", "published_at": "2022-06-29T21:59:46+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d258a966", "title": "Sidecar Pattern for Abstracting Common Concerns", "url": "https://codeopinion.com/sidecar-pattern-for-abstracting-common-concerns/", "published_at": "2022-06-22T21:50:41+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d303a875", "title": "Event Sourcing Tips: Do’s and Don’ts", "url": "https://codeopinion.com/event-sourcing-tips-dos-and-donts/", "published_at": "2022-06-15T21:30:09+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d3ef6d17", "title": "Avoiding a QUEUE Backlog Disaster with Backpressure & Flow Control", "url": "https://codeopinion.com/avoiding-a-queue-backlog-disaster-with-backpressure-flow-control/", "published_at": "2022-06-08T21:40:09+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d4df3242", "title": "Is an ANEMIC Domain Model really that BAD?", "url": "https://codeopinion.com/is-an-anemic-domain-model-really-that-bad/", "published_at": "2022-06-01T21:58:06+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d4eb8ae0", "title": "Message Ordering in Pub/Sub or Queues", "url": "https://codeopinion.com/message-ordering-in-pub-sub-or-queues/", "published_at": "2022-05-25T21:35:55+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d4f70ec8", "title": "Commands & Events: What’s the difference?", "url": "https://codeopinion.com/commands-events-whats-the-difference/", "published_at": "2022-05-18T19:29:57+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d5ef0912", "title": "Microservices gets it WRONG defining Service Boundaries", "url": "https://codeopinion.com/microservices-gets-it-wrong-defining-service-boundaries/", "published_at": "2022-05-11T20:08:35+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d61040e2", "title": "Real-World Event Driven Architecture! 4 Practical Examples", "url": "https://codeopinion.com/real-world-event-driven-architecture-4-practical-examples/", "published_at": "2022-05-04T21:26:33+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d65af9e1", "title": "ADVICE to my younger self as a Software Developer", "url": "https://codeopinion.com/advice-to-my-younger-self-as-a-software-developer/", "published_at": "2022-04-20T21:38:32+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d71938bb", "title": "Asynchronous Request-Response Pattern for Non-Blocking Workflows", "url": "https://codeopinion.com/asynchronous-request-response-pattern-for-non-blocking-workflows/", "published_at": "2022-04-13T21:33:27+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d7839a01", "title": "Anti-corruption Layer for mapping between Boundaries", "url": "https://codeopinion.com/anti-corruption-layer-for-mapping-between-boundaries/", "published_at": "2022-04-06T21:34:18+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d82dea56", "title": "Avoiding Distributed Transactions with the Reservation Pattern", "url": "https://codeopinion.com/avoiding-distributed-transactions-with-the-reservation-pattern/", "published_at": "2022-03-30T21:48:16+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d9088ac8", "title": "Building a Webhooks System with Event Driven Architecture", "url": "https://codeopinion.com/building-a-webhooks-system-with-event-driven-architecture/", "published_at": "2022-03-23T21:35:30+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5d9db523f", "title": "Gotchas! in Event Driven Architecture", "url": "https://codeopinion.com/gotchas-in-event-driven-architecture/", "published_at": "2022-03-16T21:57:39+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5da43f585", "title": "Domain Logic: Where does it go?", "url": "https://codeopinion.com/domain-logic-where-does-it-go/", "published_at": "2022-03-09T22:51:17+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5db3c9479", "title": "Eventual Consistency is a UX Nightmare", "url": "https://codeopinion.com/eventual-consistency-is-a-ux-nightmare/", "published_at": "2022-03-02T22:26:45+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5db90fed5", "title": "Semantic Versioning is overrated", "url": "https://codeopinion.com/semantic-versioning-is-overrated/", "published_at": "2022-02-23T22:27:39+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5dc644117", "title": "Should you use Domain Driven Design?", "url": "https://codeopinion.com/should-you-use-domain-driven-design/", "published_at": "2022-02-16T22:40:41+00:00" }, { "id": "01a0c552-89b7-71d3-9493-87e5dd35a776", "title": "CRUD API + Complexity = Death by a 1000 Papercuts", "url": "https://codeopinion.com/crud-api-complexity-death-by-a-1000-papercuts/", "published_at": "2022-02-09T23:09:34+00:00" }, { "id": "01a0c55a-fba4-7334-a166-e2ffc8e49128", "title": "Cache invalidation isn’t a hard problem", "url": "https://codeopinion.com/cache-invalidation-isnt-a-hard-problem/", "published_at": "2022-02-02T22:15:33+00:00" }, { "id": "01a0c55a-fba5-7189-9c04-1d64e3156423", "title": "Event Sourcing vs Event Driven Architecture", "url": "https://codeopinion.com/event-sourcing-vs-event-driven-architecture/", "published_at": "2022-01-26T23:43:21+00:00" }, { "id": "01a0c55a-fba5-7189-9c04-1d64e33b3c88", "title": "Securing Sensitive Data in an Event Driven Architecture", "url": "https://codeopinion.com/securing-sensitive-data-in-an-event-driven-architecture/", "published_at": "2022-01-19T22:45:34+00:00" }, { "id": "01a0c55a-fba5-7189-9c04-1d64e3a335e6", "title": "When NOT to write an Abstraction Layer", "url": "https://codeopinion.com/when-not-to-write-an-abstraction-layer/", "published_at": "2022-01-12T23:03:35+00:00" }, { "id": "01a0c55a-fba5-7189-9c04-1d64e3c28b9d", "title": "CQRS & Event Sourcing Code Walk-Through", "url": "https://codeopinion.com/cqrs-event-sourcing-code-walk-through/", "published_at": "2022-01-05T22:41:31+00:00" }, { "id": "01a0c55a-fba5-7189-9c04-1d64e4739b38", "title": "Optimistic Concurrency in an HTTP API with ETags & Hypermedia", "url": "https://codeopinion.com/optimistic-concurrency-in-an-http-api-with-etags-hypermedia/", "published_at": "2021-12-15T22:58:42+00:00" }, { "id": "01a0c55a-fba5-7189-9c04-1d64e49488d0", "title": "Long live the Monolith! Monolithic Architecture != Big Ball of Mud", "url": "https://codeopinion.com/long-live-the-monolith-monolithic-architecture-big-ball-of-mud/", "published_at": "2021-12-08T23:10:27+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a5428082", "title": "Should you use the Repository Pattern? With CQRS, Yes and No!", "url": "https://codeopinion.com/should-you-use-the-repository-pattern-with-cqrs-yes-and-no/", "published_at": "2021-12-01T23:01:54+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a57b0074", "title": "Should you publish Domain Events or Integration Events?", "url": "https://codeopinion.com/should-you-publish-domain-events-or-integration-events/", "published_at": "2021-11-24T23:11:45+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a6578e0b", "title": "What’s the Cost of Indirection & Abstractions?", "url": "https://codeopinion.com/whats-the-cost-of-indirection-abstractions/", "published_at": "2021-11-17T23:17:25+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a6c98938", "title": "Publishing Events from CRUD or Commands?", "url": "https://codeopinion.com/publishing-events-from-crud-or-commands/", "published_at": "2021-11-10T22:56:49+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a7254cbe", "title": "Handling HTTP API Errors with Problem Details", "url": "https://codeopinion.com/handling-http-api-errors-with-problem-details/", "published_at": "2021-11-03T21:34:05+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a79a2109", "title": "Multi-tenant Architecture for SaaS", "url": "https://codeopinion.com/multi-tenant-architecture-for-saas/", "published_at": "2021-10-27T22:12:52+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a8964f16", "title": "Leaking Value Objects from your Domain", "url": "https://codeopinion.com/leaking-value-objects-from-your-domain/", "published_at": "2021-10-20T21:30:03+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a8fb2201", "title": "Data Consistency Between Microservices", "url": "https://codeopinion.com/data-consistency-between-microservices/", "published_at": "2021-10-14T21:37:20+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46a9c4b0c0", "title": "My TOP Patterns for Event Driven Architecture", "url": "https://codeopinion.com/my-top-patterns-for-event-driven-architecture/", "published_at": "2021-10-07T21:53:31+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46aa85518f", "title": "ALWAYS Valid Domain Model", "url": "https://codeopinion.com/always-valid-domain-model/", "published_at": "2021-09-30T20:51:48+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46ab06a83c", "title": "Separating Concerns with Pipes & Filters", "url": "https://codeopinion.com/separating-concerns-with-pipes-filters/", "published_at": "2021-09-22T21:24:25+00:00" }, { "id": "01a0c55a-fba6-72af-a89f-0a46ab529903", "title": "Processing Large Payloads with the Claim Check Pattern", "url": "https://codeopinion.com/processing-large-payloads-with-the-claim-check-pattern/", "published_at": "2021-09-15T21:52:55+00:00" } ] posts
Claim your blog
Back to codeopinion.com
Blog · corpus.blog/blogs/codeopinion.com/posts
codeopinion.com
codeopinion.com
2023
5 Tips for Building Resilient Architecture
original ↗
20 Dec 2023
Path to Event-Driven Architecture. Start capturing INTENT!
original ↗
13 Dec 2023
DDD is just giving a 💩 about your Domain
original ↗
6 Dec 2023
Focusing on “Entities” leads nowhere good.
original ↗
30 Nov 2023
What are Business Rules? It’s not this.
original ↗
16 Nov 2023
Single() or First()? Understand the Abstractions you use!
original ↗
8 Nov 2023
Code Review & Refactoring to a Better Design
original ↗
26 Oct 2023
“Clean Architecture” and indirection. No thanks.
original ↗
18 Oct 2023
How to seed a new Microservice with data?
original ↗
12 Oct 2023
HELP! My system is a spaghetti code mess.
original ↗
4 Oct 2023
How I became a software architect… (or not)
original ↗
20 Sept 2023
Have you replaced your DB because of the Repository Pattern?
original ↗
13 Sept 2023
Distributed isn’t Microservices, In-Process isn’t a Monolith
original ↗
30 Aug 2023
The pendulum swings! Microservices to Monoliths
original ↗
23 Aug 2023
Aggregate (DDD) isn’t hierarchy & relationships
original ↗
3 Aug 2023
Using your Database as a Queue?
original ↗
27 Jul 2023
Building a system that Junior Developers can be productive in
original ↗
20 Jul 2023
Speeding up Queries with Materialized Views
original ↗
13 Jul 2023
Implementing Undo functionality
original ↗
6 Jul 2023
Biggest scam in software dev? Best Practices.
original ↗
21 Jun 2023
Change Data Capture + Event-Driven Architecture
original ↗
14 Jun 2023
Greg Young answers your Event Sourcing questions!
original ↗
8 Jun 2023
Underrated skill as a developer
original ↗
31 May 2023
BEWARE of Consumer Lag!
original ↗
25 May 2023
Abstractions to easily swap implementations? Not so fast.
original ↗
11 May 2023
Untangling the many aspects of EDA
original ↗
4 May 2023
Troubleshooting Kafka with 2000 Microservices
original ↗
27 Apr 2023
Scaling a Monolith with 5 Different Patterns
original ↗
20 Apr 2023
Greenfield Project? Start HERE!
original ↗
5 Apr 2023
“I NEED data from another service!”… Do you really?
original ↗
29 Mar 2023
Don’t Fail Publishing Events!
original ↗
22 Mar 2023
Testing WITHOUT Mocks or Interfaces!
original ↗
16 Mar 2023
Domain Events in Event Sourcing? Not Exactly!
original ↗
9 Mar 2023
The Challenge of Microservices: UI Composition
original ↗
23 Feb 2023
What’s enough Complexity for a Domain Model?
original ↗
15 Feb 2023
Which Software Architecture Patterns do you use?
original ↗
9 Feb 2023
Why is Clean Architecture so Popular?
original ↗
3 Feb 2023
That’s NOT an Aggregate in Domain Driven Design
original ↗
26 Jan 2023
McDonald’s Journey to Event-Driven Architecture
original ↗
18 Jan 2023
2022
Do you need a Distributed Transaction? Maybe not!
original ↗
21 Dec 2022
How your “Sr.” Devs incurred Technical Debt
original ↗
15 Dec 2022
Design Patterns: Who gives a 💩?
original ↗
8 Dec 2022
Wix.com – 5 Event Driven Architecture Pitfalls!
original ↗
30 Nov 2022
Stop using trivial Guard Clauses! Try this instead
original ↗
17 Nov 2022
Do you want to use Kafka? Or do you need a Queue?
original ↗
9 Nov 2022
Just store UTC? Not so fast! Handling Time zones is complicated.
original ↗
2 Nov 2022
STOP Over-Engineering Software!
original ↗
26 Oct 2022
Data Partitioning! Don’t let growth SLOW you down!
original ↗
19 Oct 2022
Event Choreography for Loosely Coupled Workflow
original ↗
13 Oct 2022
What is Software Architecture?
original ↗
6 Oct 2022
Should you Soft Delete?
original ↗
21 Sept 2022
Where should you use gRPC? And where NOT!
original ↗
14 Sept 2022
The world is full of Asynchronous Workflow
original ↗
7 Sept 2022
Data Access Layer makes it easier to change your Database?
original ↗
31 Aug 2022
Shared Database between Services? Maybe!
original ↗
17 Aug 2022
Workflow Orchestration for Resilient Systems
original ↗
10 Aug 2022
Distributed Tracing to discover a Distributed BIG BALL of MUD
original ↗
3 Aug 2022
Fintech Mindset to Software Design
original ↗
27 Jul 2022
Event Carried State Transfer: Keep a local cache!
original ↗
20 Jul 2022
SOLID? Nope, just Coupling and Cohesion
original ↗
13 Jul 2022
Blocking or Non-Blocking API calls?
original ↗
7 Jul 2022
Avoiding Batch Jobs by a message in the FUTURE
original ↗
29 Jun 2022
Sidecar Pattern for Abstracting Common Concerns
original ↗
22 Jun 2022
Event Sourcing Tips: Do’s and Don’ts
original ↗
15 Jun 2022
Avoiding a QUEUE Backlog Disaster with Backpressure & Flow Control
original ↗
8 Jun 2022
Is an ANEMIC Domain Model really that BAD?
original ↗
1 Jun 2022
Message Ordering in Pub/Sub or Queues
original ↗
25 May 2022
Commands & Events: What’s the difference?
original ↗
18 May 2022
Microservices gets it WRONG defining Service Boundaries
original ↗
11 May 2022
Real-World Event Driven Architecture! 4 Practical Examples
original ↗
4 May 2022
ADVICE to my younger self as a Software Developer
original ↗
20 Apr 2022
Asynchronous Request-Response Pattern for Non-Blocking Workflows
original ↗
13 Apr 2022
Anti-corruption Layer for mapping between Boundaries
original ↗
6 Apr 2022
Avoiding Distributed Transactions with the Reservation Pattern
original ↗
30 Mar 2022
Building a Webhooks System with Event Driven Architecture
original ↗
23 Mar 2022
Gotchas! in Event Driven Architecture
original ↗
16 Mar 2022
Domain Logic: Where does it go?
original ↗
9 Mar 2022
Eventual Consistency is a UX Nightmare
original ↗
2 Mar 2022
Semantic Versioning is overrated
original ↗
23 Feb 2022
Should you use Domain Driven Design?
original ↗
16 Feb 2022
CRUD API + Complexity = Death by a 1000 Papercuts
original ↗
9 Feb 2022
Cache invalidation isn’t a hard problem
original ↗
2 Feb 2022
Event Sourcing vs Event Driven Architecture
original ↗
26 Jan 2022
Securing Sensitive Data in an Event Driven Architecture
original ↗
19 Jan 2022
When NOT to write an Abstraction Layer
original ↗
12 Jan 2022
CQRS & Event Sourcing Code Walk-Through
original ↗
5 Jan 2022
2021
Optimistic Concurrency in an HTTP API with ETags & Hypermedia
original ↗
15 Dec 2021
Long live the Monolith! Monolithic Architecture != Big Ball of Mud
original ↗
8 Dec 2021
Should you use the Repository Pattern? With CQRS, Yes and No!
original ↗
1 Dec 2021
Should you publish Domain Events or Integration Events?
original ↗
24 Nov 2021
What’s the Cost of Indirection & Abstractions?
original ↗
17 Nov 2021
Publishing Events from CRUD or Commands?
original ↗
10 Nov 2021
Handling HTTP API Errors with Problem Details
original ↗
3 Nov 2021
Multi-tenant Architecture for SaaS
original ↗
27 Oct 2021
Leaking Value Objects from your Domain
original ↗
20 Oct 2021
Data Consistency Between Microservices
original ↗
14 Oct 2021
My TOP Patterns for Event Driven Architecture
original ↗
7 Oct 2021
ALWAYS Valid Domain Model
original ↗
30 Sept 2021
Separating Concerns with Pipes & Filters
original ↗
22 Sept 2021
Processing Large Payloads with the Claim Check Pattern
original ↗
15 Sept 2021
Previous
Next