Django Performance: Database Query Optimization
· β˜• 4 min read
This article mainly offers optimization advice on Django fields and queries, and also introduces a performance analysis tool called Django-silk. I hope it helps you develop high-performance Django projects. 1. DBA’s Advice 1.1 Table Field Design Avoid null values; null values are hard to optimize queries around and take up extra index space Prefer INT over BIGINT, and describe fields as accurately as possible Use enums or integers instead of string types Use TIMESTAMP instead of DATETIME Do not put more than 20 fields in a single table Store IPs as integers 1.

Django Performance: Sharding Databases and Tables
· β˜• 4 min read
1. The Problem We Hit The frontend requests are heavy, concurrency is high, and access is slow. The bottlenecks show up mainly as: Large single tables Large single databases Slow network IO Slow disk IO Optimizing network and disk IO mainly relies on hardware upgrades. In theory, a database imposes no limit on the size of a single database or a single table, but an oversized single database or table means more requests land on a single machine, putting pressure on IO.

The R&D Process of Agile Development
· β˜• 4 min read
1. What Agile Development Is In the traditional software development model, the cycle from raising a requirement to final delivery is long. The waterfall model proceeds through six steps: requirements analysis, design, coding, integration, testing, and maintenance. Once a requirement changes, the work invested earlier is not only wasted but also hard to adjust.

Building a Team with Consistency
· β˜• 3 min read
1. Consistent Understanding In a large organization, we can think of a small team as a microservice. As early as 1967, Conway proposed the concept of the microservice. Conway argued that any organization designing a system will deliver a design whose structure is consistent with that organization’s communication structure. When developing complex systems, we usually split the system into modules.

Advanced Pytest: Mock
· β˜• 3 min read
1. Why We Need Mock When writing unit tests, the function under test is sometimes not a self-contained executable unit. It depends on external resources, such as the return value of another function or a value in a row of a database. To shield the test from interference from external