Categories
Agile Development Programming

Git Workflow & Immutability

Immutability here means that once data is written into Git, it cannot be changed. Modifications only create new data versions. The old data remains unchanged. Immutable system designs are commonly used in systems that require high levels of auditability, such as financial systems and version control systems. Here’s how it’s used in Git design: 🔹Users’ […]

Categories
Blockchain Programming Software Architecture

𝐖𝐡𝐚𝐭 𝐢𝐬 𝐖𝐞𝐛 3.0? Why doesn’t it have 𝐚𝐝𝐬?

The diagram below shows Web 1.0/Web 2.0/Web 3.0 from a bird’s-eye view. 🔹Web 1.0 – Read Only Between 1991 and 2004, the internet is like a 𝐜𝐚𝐭𝐚𝐥𝐨𝐠 of 𝐬𝐭𝐚𝐭𝐢𝐜 𝐩𝐚𝐠𝐞𝐬. We can browse the content by jumping from one hyperlink to another. It doesn’t provide any interactions with the content. 🔹Web 2.0 – Read Write […]

Categories
Programming Software Architecture

Session, cookie, JWT, token, SSO, and OAuth 2.0 – what are they?

These terms are all related to user identity management. When you log into a website, you declare who you are (identification). Your identity is verified (authentication), and you are granted the necessary permissions (authorization). Many solutions have been proposed in the past, and the list keeps growing. From simple to complex, here is my understanding […]

Categories
Programming Software Architecture

Principles & Best practices of REST API Design

This best-practices article intends for developers interested in creating RESTful Web services that provide high reliability and consistency across multiple service suites; following these guidelines; services are positioned for rapid, widespread, public adoption by internal and external clients. Here is the complete diagram to easily understand REST API’s principles, methods, and best practices. Now, Let’s […]

Categories
Agile Development Programming Software Architecture

Mastering API Architecture: Design, Operate, and Evolve API-Based Systems 1st Edition

Most organizations with a web presence build and operate APIs; the doorway for customers to interact with the company’s services. Designing, building, and managing these critical programs affect everyone in the organization, from engineers and product owners to C-suite executives. But the real challenge for developers and solution architects is creating an API platform from […]

Categories
Programming

Can a web server provide real-time updates?

An HTTP server cannot automatically initiate a connection to a browser. As a result, the web browser is the initiator. What should we do next to get real-time updates from the HTTP server? Both the web browser and the HTTP server could be responsible for this task. 🔹Web browsers do the heavy lifting: short polling […]

Categories
Agile Development Programming

How does Git Work?

The diagram below shows the Git workflow. Git is a distributed version control system. Every developer maintains a local copy of the main repository and edits and commits to the local copy. The commit is very fast because the operation doesn’t interact with the remote repository. If the remote repository crashes, the files can be […]

Categories
Programming Software Architecture

Pourquoi devriez-vous commencer à utiliser CUPID et non SOLID pour écrire un logiciel maintenable?

Si SOLID a toujours été la norme, il peut parfois être difficile de toujours appliquer ses principes, et selon Dan North, il peut même être dépassé. SOLID est un acronyme décrivant les principes d’écriture d’un logiciel maintenable. Développées par Robert Martin, les cinq lettres représentent cinq principes de conception qui contribueraient à rendre les conceptions de […]

Categories
Programming Software Architecture

Software Architecture for Busy Developers: Talk and act like a software architect in one weekend

A quick start guide to learning essential software architecture tools, frameworks, design patterns, and best practices Key Features Apply critical thinking to your software development and architecture practices and bring structure to your approach using well-known IT standards Understand the impact of cloud-native approaches on software architecture Integrate the latest technology trends into your architectural […]

Categories
Programming Software Architecture

Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy

Building software is harder than ever. As a developer, you not only have to chase ever-changing technological trends but also need to understand the business domains behind the software. This practical book provides you with a set of core patterns, principles, and practices for analyzing business domains, understanding business strategy, and, most importantly, aligning software design with its business needs.

Author Vlad Khononov shows you how these practices lead to robust implementation of business logic and help to future-proof software design and architecture. You’ll examine the relationship between domain-driven design (DDD) and other methodologies to ensure you make architectural decisions that meet business requirements. You’ll also explore the real-life story of implementing DDD in a startup company.

Consent Preferences