Recent posts

Don't miss the latest trends

PLATFORM ENGINEERING : la nouvelle tendance qui redéfinit DevOps et le cloud-native

DevOps, autrefois vu comme la solution aux problèmes organisationnels, pose maintenant des défis. Beaucoup d’équipes se retrouvent à gérer des tâches opérationnelles qu’elles n’ont jamais souhaité faire. Pour résoudre cela, l’ingénierie des plateformes émerge comme une façon de séparer les opérations du développement d’applications, permettant à chacun de se concentrer sur ce qu’il fait le…

SAMI
December 2, 2024
Bettounsi Coding

CQRS and Mediator pattern

المقدمة في المقال هذا، بش نحكيو على CQRS وMediator Pattern، شنو العلاقة بينهم وعلاش نستعملوهم. CQRS هو Architectural Pattern يستعمل باش نفصل عمليات القراءة (Read) على عمليات الكتابة (Write). الاسم اختصار لـ Command and Query Responsibility Segregation. والمصطلح Segregation يعني الفصل بين المسؤوليات، يعني في الحالة هذي، الـ CQRS يفصل بين قراءة البيانات وكتابتها. خلينا…

1 min to read
Coding Bettounsi

Introduction Into Dependency Injection (DI) in .NET

في تطبيقات .NET الكبيرة والمعقدة، بنحتاج في كثير من الأحيان أن الـ (objects) تعتمد على بعضها البعض، مما يعقد عملية الصيانة والاختبار. المقدمة في تطبيقات .NET الكبيرة والمعقدة، بنحتاج في كثير من الأحيان أن الـ (objects) تعتمد على بعضها البعض، مما يعقد عملية الصيانة والاختبار. على سبيل المثال، إذا كان لديك (Service) تعتمد على (Interfaces)…

1 min to read
Coding Software Design and Architecture

Backend for Frontend (BFF): A Practical Guide for Software Engineers

As modern apps grow more complex, the tools and patterns we use to build them need to evolve too. With microservices, cloud-native architectures, and an explosion of client devices—web, mobile, IoT, you name it—developers face the challenge of delivering fast, secure, and tailored user experiences. Enter Backend for Frontend (BFF), an architecture pattern designed to…

5 mins to read
Data Engineering

Pessimistic vs. Optimistic Locking: A Comprehensive Guide

In multi-user environments, maintaining data consistency and integrity is paramount. Locks play a crucial role in preventing simultaneous modifications that could lead to inconsistencies. Two widely used strategies for managing concurrency are pessimistic locking and optimistic locking. Understanding their differences, benefits, and trade-offs is essential for designing robust systems. What Are Locks, and Why Are…

4 mins to read
Coding Software Design and Architecture

20 System Design Concepts Explained in 10 Minutes

To advance from a Junior Developer and build scalable applications or pass system design interviews, one must understand 20 essential system design concepts related to networking, API patterns, databases, and more. Topics cover vertical vs. horizontal scaling, the use of load balancers and CDNs, caching mechanisms, and communication protocols like TCP/IP, HTTP/HTTPS, and WebSockets. Additional…

1 min to read
Software Design and Architecture

10 meilleures ressources pour apprendre l’architecture logicielle en 2025

Mes livres d’architecture logicielle préférés, livres blancs, blogs d’ingénierie et cours pour les développeurs et architectes logiciels expérimentés. Devenir un architecte logiciel qualifié est un voyage à la fois d’apprentissage et de pratique. Pour les développeurs expérimentés, la transition vers un rôle d’architecte logiciel nécessite une compréhension approfondie de la conception logicielle , de l’architecture système et de la…

8 mins to read
Blockchain

Bitcoin Closing in on $100,000: Is It Going Mainstream?

Bitcoin, the pioneer of cryptocurrencies, is on the verge of hitting the $100,000 milestone—a feat that underscores its explosive growth and evolving role in global finance. With a staggering 160% increase in value this year, the digital asset is drawing renewed attention from governments, institutions, and individual investors alike. But is this milestone a sign…

3 mins to read
Coding Testing, Deployment, and Maintenance

Optimizing Software Quality: How QAOps Combines CI/CD and Continuous Testing for Faster, Reliable Releases

Discover how QAOps teams integrate testing throughout the software development lifecycle, leveraging continuous integration (CI), continuous delivery (CD), and continuous testing (CT) to rapidly deliver high-quality applications. Evolving Software Development and Testing The landscape of software development and testing has shifted, prioritizing flexibility and efficiency. QAOps teams depend on continuous practices that emphasize frequent code…

3 mins to read
Testing, Deployment, and Maintenance Coding

What is a CI/CD Pipeline? A Comprehensive Guide to Modern Software Development

In today’s fast-paced software development world, delivering high-quality software quickly is more important than ever. Continuous Integration (CI) and Continuous Delivery (CD) pipelines have become essential tools that help development teams streamline code deployment from development to production. By enabling automated code integration and deployment, CI/CD pipelines eliminate manual processes, reduce errors, and foster a…

7 mins to read