One hundred repositories. Four programming languages. Five different build systems. Getting them to integrate cleanly, continuously, without a dedicated integration sprint or a...
One hundred repositories. Four programming languages. Five different build systems. Getting them to integrate cleanly, continuously, without a dedicated integration sprint or a...
I continue building a Lithuanian AI law assistant. I already have a POC with 4 laws chunked and loaded to the database with semantic retrieval. Is it useful? A bit. It can look up...
Lemmatization is needed in systems that extract, store, or query information based on terms. Words appear in different forms depending on grammar, but you need to normalize them...
Lithuanian writing system reflects this richness through extensive use of diacritical marks. The Lithuanian alphabet contains 32 letters , including several with diacritics that...
I'm building another one, a new app. This time I'll share my progress and findings with you. I'm building a Lithuanian law assistant with LLM using RAG. As nowadays usual, it is a...
Any UI project can come at this phase if no dependencies strategy present for it. Node dependency resolution algorithm allows having multiple dependencies of the same library in...
✅ Text inputs has placeholder “Ask anything”, which is phrase tareted for chat user, opposed to “enter prompt”.
If you’ve ever asked an LLM about your own API and got an outdated answer, you know the pain. In the AI era — with all the vibe code hype and agentic development trends — the...
Because where you store the cache affects your app’s architecture, performance, and security. If you’re designing a new system, this choice can even shape how your frontend...
Is it popular? As of September 2025 it has 23 millions downloads per week. Which is huge compared to other mature components libraries, like antd(2M) or mui(1,5M).
Radix UI is an open source headless UI component library for building design systems, websites, and web applications. Launched in late 2020 by the Modulz team, Radix UI provides a...
RAG stands for Retrieval Augmented Generation. This is the process when the Large Language Models (LMM) input is enriched with a contextual information from the external sources...
Microservice architecture has become a widely adopted approach for building scalable and maintainable systems. However, one of the most complex decisions when implementing this...
The modular monolith architecture isn’t new, but it’s become more popular as a way to balance the simplicity of a monolithic application with the flexibility of microservices. It...
A Modular Monolith is an architectural style that structures your application into distinct, well defined modules within a single codebase. It combines the simplicity and...
Session state is a concept in the software applications to share a user specific data across multiple actions or requests during a single user session. User session can contain:
Module federation is a webpack 5 features. It allows independent deployments for you different applications. Same as HTML import map? Yes but it allows more flexible configuration...
How to load JS in the runtime, from a separate server? Browsers provide a native feature called HTML importmap. It is supported and works across all latest devices and browser...
NPM stands for Node Package Manager. It is the largest package registry in the world. It contains hundreds of thousands of packages uploaded to it.
It was introduced in 2009 by Tom Preston Werner, co founder of a GitHub. It was designed to provide a clear and universal way to mark software updates. There was a convention,...
Breaking changes is a result of a code changes, that how the API behaves. It can be low level code API, REST API, any microservice API or even user interface behavior.
The challenge of rendering HTML markup has been present since the inception of the web. This problem is solved by a multiple patterns mostly on the server side. Such patterns as...
Model View Controller is a well known pattern, which was described in the late 1970s. Since then, it is widespread architectural pattern, which influenced many frameworks and...
The Repository is a design pattern, which helps to load data from the database providing abstract API, concealing the storage implementation details.
Lazy load is a pattern to get data the data at the last moment, when it is actually required. This pattern is applied, when loading the data can have negative performance impact....
Unit of work collects all changes about domain objects, that need to be synced (with the database) and lets committing those at the end of a (business) transaction. Tracking and...
UML stands for Unified Modeling Language. It was created to facilitate the communication and documentation of IT designs and architectures. A UML sequence diagram is a type of...
UML stands for Unified Modeling Language. It was created to communicate and document IT designs and architecture. UML class diagram is a static structure diagram, that describes...
ACID (Atomicity, Consistency, Isolation, Durability) in IT is a properties of a business (or database) transactions, that guarantees the reliability and data integrity of the...
Concurrency is a complex problem of the IT field. I'll try to explain some issues related to the concurrency and how to solve those issues.
In the book Patterns of Enterprise Application Architecture by Martin Fowler two patterns are defined to handle business logic in the system. I do not think that much have changed...
Microservices can communicate synchronously and asynchronously. These are the main group of communication means for microservices. Lest dig in to unwrap, what does it mean.
You want to scale your microservice, when the load exceeds the available resources. Resources can be CPU, RAM, database throughput, workers pool. I will describe two common...
Domain driven design (DDD) is a methodology for designing software with a focus on the domain. DDD is one of the main practices used in the microservices development. I'll cover 3...
CAP abbreviation means: Consistency, Availability and Partitioning tolerance. Theorem states, that distributed data store can have two of three guarantees:
The goal is to have zero down time for deployment of the new version of the service. BlueGreen Deployment (BGD) is a technique having two instances (blue and green) of the same...
Transactions in microservices are not possible, because of the distributed nature of microservices. Though you can implement compensation mechanisms to handle failures in multiple...
Observability is a superset of tools and techniques to understand how a system works, exploring “knowns” and “unknowns” in the systems. Monitoring involves tracking and measuring...
Fundamentals of Software Architecture: An Engineering Approach 1st Edition by Mark Richards (Author), Neal Ford
patterns by Sam Newman from the book Microservices 2nd edition