3 CQRS Architectures that Every Software Architect Should Know

Command-Query Responsible Separation (CQRS) architectures expand the concept of command-query division at the architectural level. But these architectures are not architectures of the whole software system. It is a design of just one part of the software and that part is called the Application Layer.

A Semi-Deterministic Approach for Directing Your Legacy Code Modernisation and Tests (1/2)

Assessment for EU legacy code and software modernisation ... Guillaume Colin de Verdière explains the method and actions taken by this ... Code Viscosity: a simple metric to evaluate code legacy ... this metric with values chosen to test the code Viscosity that reflect exemplary use cases based on some real situations.

System Design Interview Checklist — A Gateway to FAANGs

This is my strategy to drive a System Design Interview which helped me crack a bunch of FAANGs. You could try the same! Drive the interview. FRs and NFRs. Clearly call out the Functional and Non-Functional requirements. Capacity Estimation. Plan. HLD. Must Haves. Walkthrough the design.

Developer or Engineer? Does It Make a Difference?

To summarise the main differences between the software developer and engineer: A developer executes. ... So the software developer is mainly focused on developing code that is a part of software development cycle. An engineer designs and plans applying the principles of engineering to software development.

What is Hexagonal Architecture

Hexagonal Architecture is a pattern introduced by Alistair Cockburn, also known as the Ports and Adapters.

Using Envoy Proxy to Improve Reliability, Security, and Observability of Microservices

In this article, I am going to talk about how to get started with Envoy Proxy with a DIY tutorial and how to use Envoy’s various features to improve the reliability, security, and observability of your applications.

How to Build Extensible Go Applications With Plugins

Contribute to progrium/go-extpoints development by creating an account on ... of control model for making extensible Go packages, libraries, and applications. ... by having a separate extensions.go or plugins.go file with just these imports:.

How to solve escalation issues on your database

How to solve escalation issues on your database. Learn the best technics for escalating your database when you have performance problems

What is WebSocket? — Bring that “Multiplayer” Feel to Your Web or Mobile Application

With WebSockets, both the client and the server can send and receive messages from each other. Essentially all this means is that a client and server can be sending messages to each other at the same time. The client does not have to wait for a response nor does the server.

System Design 101

In this article, we’ll go through steps to approach solving a design problem. This guideline may help you to design a system. This one is based on my experience of learning architecture courses.

Billing System Architecture and System flow

Presentation Layer. Spring Boot Billing System Architecture design, registration flow code walk-thru practical demo. Suresh ...

Did you know you could write scripts with webservices? You do now.

There's a big hole in reusability on the web. An entertaining statistic - not the most accurate but still fascinating - was generated by Simon Wardley from a Twitter poll. He calculated that basic user registration had been written over a million times. The average developer had written user registration about 5 times. I'm sure you've built it a few times yourself.

3 High Availability Cloud Concepts You Should Know

Cloud environments make it possible to build reliable systems, but it doesn’t mean that clouds themself are immune to failures. It doesn’t work that way. You need to be aware and make your system ready to deal with failures, rather than believing that all cloud components you use are always available.

System Design Analysis of Google Drive

How do you design a system like Google Drive? In this article, we will design a google drive service!!

Introduction to Circuit Breaker Pattern: How to Build Better Software

In any application, different sets of services/third-party APIs communicate either asynchronously (out of score from current context) or synchronously or sometimes both (rare cases).

Software Security Primer

As a developer, when you think of security, what comes to mind? Is it clear what are different aspects that need to be handled to make a software secure? And why you need to do that?

Introducing DILOS Principles for JavaScript Code

The SOLID principles have been created as pillars of creating flexible, understandable and maintainable code. They can add days onto your dev time to implement them properly, and most people don't care or worry much about code quality, so I created some better ones.

Step-by-Step Guide to Building and Launching your Chrome Extension

While building my first chrome extension, Foragear- Quick Search Tool, I struggled to find an article that covered the entire ideating, building, and launching process of chrome extensions. To make the lives of future chrome extension builders easier, here is an all-in-one guide to help you through the process.

An Awesome Tool To Quickly Create An Amazon-Like Recommendation Engine

[TL;DR; Get started using Dgraph's Slash GraphQL product and connect to a Spring Boot application which will act as a simple RESTful recommendation service.]

Why and When Are Interfaces Useful?

Suppose that we make a REST call to an external system and it gives us a flat Customer in JSON format, then we want to transform that Customer into one of our own model.