Hi folks.
I'm a software architect, and every Monday I post a regular piece on Medium about my work and studies. Here I will try to organize those contents into a publication by category.
If you want to see the latest content, feel free to subscribe to my Medium.
- Accelerating API Responses with Smart Architecture
- How SHOPLINE Saves 40% Space in Main Database, Part 1
- How SHOPLINE Saves 40% Space in Main Database, Part 2
- How to avoid the race condition and the negative value
- Solve Phantom Read in MySQL
- Understanding Partial Indexing
- Understanding String Comparison of Databases
- Seamless Transition: Handling Exhausted Auto-Increment IDs
- PostgreSQL Full-Text Search in a Nutshell
- How to Perform ALTER TABLE on Huge Table
- How to choose a MongoDB shard key
- Don’t be Afraid of MongoDB Cross-shard Queries
- Data Persistence in MongoDB
- Read-after-write Consistency in MongoDB
- Array Operation in MongoDB
- The Mystery of MongoDB Indexing
- Archiving MongoDB Changes to AWS S3
- Squeezing out MongoDB’s available storage
- Redis helps avoiding racing conditions
- Data Persistence in Redis
- Cardinality Counting in Redis
- Redis as a Lock! Are You Sure?
- Explain Redlock in Depth
- Explaining Pagination in ElasticSearch
- Boosting Elasticsearch Cluster Performance: 3 Proven Tips
- Best Practices of Using ElasticSearch
- Optimizing Elasticsearch Reindex without Downtime
- Elasticsearch Index Lifecycle Management in a Nutshell
- What’s Difference Between Unit Test and Integration Test
- Property-Based Testing Framework for Node
- Gitlab CI for Node Testing and Coverage
- How to Make Example-based Testing Better
- How to Determine API Slow Downs, Part 1
- How to Determine API Slow Downs, Part 2
- CQRS
- Distributed Transaction
- Event-driven Architecture
- Design Patterns of Event-driven Architecture, Part 1
- Design Patterns of Event-driven Architecture, Part 2
- Kafka vs. RabbitMQ
- Message Queue in Redis
- Message Queue in Redis, Part 2
- Understand Temporal Coupling in Code
- Implement Event-driven Architecture With Minimal Effort
- Streaming Architecture Introduction
- Design Pattern of Streaming Enrichment
- Understanding Exactly-once Semantics
- Flink SQL Performance Tuning, Part 1
- Flink SQL Performance Tuning, Part 2
- Resilient Engineering
- Design Principle
- Layered Architecture Clarification
- Are Design Pattern and Clean Code Useful?
- How to Design Software in a Clean Architecture Way
- Designing Software Using Clean Architecture: Domain-Driven Design
- Combine Domain-Driven Design and Databases
- Another Way to Design Short URL Service
- When to Consider Clean Architecture: A Practical Guide
- When to Consider Design Patterns
- Non-functional Requirements, e.g., Scalibility, Consistency
- Data Infra
- Evolutionary Data Infrastructure
- Evolutionary from Batching to Streaming
- The Infrastructure Stack for Real-Time Data Analysis
- Data Pipeline: From ETL to EL plus T
- Orchestrating DBT with Airflow
- HTAP: Learning from Xiaohongshu
- Data Silos: Understanding, Addressing, Integrating
- Is there an Alternative to Debezium + Kafka?
- Do you really need a microservice?
- Original Sin of Microservices, Part 1
- Original Sin of Microservices, Part 2
- Design an E-commerce Website From a High-level Perspective
- Microservices start Here: Chassis Pattern
- Make any Website Authenticated
- Trunk-based Development Can Help
- How Kanban Works and Why I Prefer It Over Scrum
- How to Prepare a Design Review Like an Expert?
- Introduction to Feature Toggling— Types, Use Cases and Implementation
- Unleash vs. LaunchDarkly: A Look at Feature Toggling Solutions
- How to Make a Technical Selection?
- Introducing Decision Making Process
- Speed Up Software Development: Accelerate Your Code Creation
- A Paradigm Shift in Software Development: Leveraging GenAI for Direct Business Logic Processing
- Paradigm Shift in Software Development, Part 2