Posts
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

PaaS Deployment with Buildpack
· β˜• 6 min read
I have been learning Go recently, and the internal PaaS platform we commonly use happens to support Go as well as related Web frameworks. A PaaS system that supports multiple languages cannot do without the buildpack mechanism. Although PaaS platforms keep being upgraded, the buildpack mechanism has always been retained.