architecture

Navigating a codebase with an API

Navigating a codebase with an API

Today, I'm going to show you how to navigate a code workspace with lsproxy, an open-source dev container for code exploration workflows like AI coding agents. Installation and setup Download the python sdk. pip install lsproxy-sdk Enter fullscreen mode Exit fullscreen mode Pull and run the docker container. WORKSPACE_PATH is the absolute path to your code workspace (likely the repository root). docker pull agenticlabs/lsproxy Enter fullscreen mode Exit fullscreen mode docker run -p 4444:4444 -v $WORKSPACE_PATH:/mnt/workspace agenticlabs/lsproxy Enter fullscreen mode Exit fullscreen mode Set up the client in python. # First create the API client from lsproxy import ( Lsproxy,…
Read More
Is there an Alternative to Debezium + Kafka?

Is there an Alternative to Debezium + Kafka?

I asked this question on Reddit a while back and received lots of valuable answers. Therefore, I've looked into each answer and documented the results in this article. TL;DR No, Debezium dominates the market at the moment, despite some drawbacks. Background Explanation Why would we want to find an alternative to Debezium? The main reason is we encountered a challenging scenario. This is a typical scenario for Debezium, where any modifications to the data source are captured and fed into Kafka for downstream processing. The advantage of this architecture is simple and efficient, ensuring all downstream processes are as real-time…
Read More
Why is impossible to have a clean architecture inside a frontend project

Why is impossible to have a clean architecture inside a frontend project

The internet is full of videos, courses and articles teaching you to have something like "domain" folders in your frontend project, to create "entities" and everything that would make Uncle Bob fall apart. This little post shows why it's impossible to have a clean architecture in this kind of project. Clean Architecture Clean Architecture is a set of good practices to build a good architecture. It is based on the following principles: Independent of Frameworks Testable Independent of UI Independent of Database Independent of any external agency This post will not gonna dive into them. You can check the original…
Read More
Key Points for System Design Interviews

Key Points for System Design Interviews

A System Design Interview assesses your ability to design complex systems, scale them, and ensure they meet the requirements in terms of performance, reliability, and maintainability. It's a critical skill for software engineering roles, especially in senior positions. Here are key points and strategies to approach a system design interview: 1. Clarify Requirements Ask Questions: Always start by asking clarifying questions. Don’t jump into designing immediately. Understand the exact features, non-functional requirements, and constraints of the system.Identify Core Features: Pinpoint the most critical features and their priorities (e.g., user login, data storage, or high availability).Define Scope: Ensure that you are…
Read More
From Dependency Inversion to Dependency Injection in Python

From Dependency Inversion to Dependency Injection in Python

Introduction The Dependency Inversion Principle (DIP) and Dependency Injection (DI) are powerful concepts that can significantly improve the design of your Python code. In this post, we will explore these principles in detail, starting with a high-level overview and progressing to practical examples. By the end, you’ll have a deeper understanding of how to write modular, maintainable, and flexible Python code that adheres to these best practices. Let’s start with a famous quote from Robert C. Martin: “High-level modules should not depend on low-level modules; both should depend on abstractions. Abstractions should not depend on details; details should depend upon…
Read More
Why BookMyShow “Failed” but Hotstar Succeeded – A System Design Perspective

Why BookMyShow “Failed” but Hotstar Succeeded – A System Design Perspective

I've seen a lot of people asking why BookMyShow struggled during events like the Coldplay concert, while platforms like Hotstar seem to manage massive traffic, especially during big cricket matches. To answer that, we need to understand this from a system design and infrastructure perspective—and it's not exactly a fair comparison. Apples to Oranges: Read-heavy vs Write-heavy Systems Hotstar and BookMyShow are fundamentally different in how they handle user interaction. Hotstar is read-heavy, where millions of users are simply streaming content (reading data). On the other hand, BookMyShow is write-heavy during high-demand events like concert ticket sales, with a surge…
Read More
Exploring Hexagonal Architecture

Exploring Hexagonal Architecture

Hexagonal Architecture, also known as Ports and Adapters, originally introduced by Alistair Cockburn in 2005, has gained significant traction due to its emphasis on separating concerns and promoting modularity. In this article, we’ll see the core objectives of Hexagonal Architecture, its role in decoupling technical complexity from business logic, and its utilization of the Dependency Inversion Principle for enhanced componentization. Understanding Hexagonal Architecture The primary goal of Hexagonal Architecture is to facilitate the development of software systems that are adaptable, maintainable, and easily testable. At its core, this architectural style revolves around the concept of a hexagon, with the application’s…
Read More
What is Clean Architecture: Part 14-last step in Application Core Layer

What is Clean Architecture: Part 14-last step in Application Core Layer

When building applications with clean architecture, it's essential to register the services that your application depends on in a clean and centralized manner. This is typically done in the application core layer. In this article, we will look at how to create a centralized service registration for core services such as AutoMapper, MediatR, and any other service needed, like Fluent Validation. The Purpose of Application Core Service Registration The application core layer is where we handle most of the business logic, and it is crucial that services such as mapping, request handling, and validation are made available to the rest…
Read More
iCraft Editor – Free 3D Architecture Diagram Drawing Tool

iCraft Editor – Free 3D Architecture Diagram Drawing Tool

https://icraft.gantcloud.com In this era of rapid digital development, architecture diagrams are key tools for understanding and designing complex systems, and their presentation methods are also evolving. In the past, we usually drew architecture diagrams in 2D on a plane, which only showed the various parts of the system on the plane, and sometimes it was not easy to show the hierarchical relationship. iCraft Editor is a product we have carefully created to meet this demand. It focuses on the 3D design of architecture diagrams, has a three-dimensional visual effect, can attract attention, improve communication efficiency, and will bring you a…
Read More
Yale Spinout in Quantum Field Draws US Intelligence Agency Money

Yale Spinout in Quantum Field Draws US Intelligence Agency Money

Sequoia Capital-backed Quantum Circuits Inc. raised more than $60 million from investors including a fund set up by the US Central Intelligence Agency, as concern grows about quantum computing’s potential security implications.Sequoia’s only portfolio company in the nascent field said on Thursday it won an investment from In-Q-Tel Inc., a nonprofit that deploys funds from US intelligence agencies. Quantum Circuits will use the money to commercialize time on its superconducting quantum computer which boasts built-in error-detection. Source link lol
Read More
No widgets found. Go to Widget page and add the widget in Offcanvas Sidebar Widget Area.