algonote(en)

There's More Than One Way To Do It

Architecture

It is wrong to abuse delegate on the basis of Demeter's Law

IMO Delegate in Ruby and Rails When a class is too bloated because all the requirements are packed, you probably want to split it up. When designing tables, you may want to normalize and split it into separate tables. There are the other w…

Measuring Python Cohesion with Cohesion

How to measure cohesion in Python What is Cohesion? Cohesion is a software metric that measures the proximity of related methods and variables. For example, in LCOM4, the functions accessing a variable in a class are traced and clustered. …

List of open source web services that architects should check out

Reference for implementation Preface: Let's read open source implementations When you are doing web development, you may feel uneasy whether this way of writing is normal or not, or whether the direction of implementation is good or not. I…

How Twitter caches timelines

Reading Twitter's internal structure. Introduction Microblogging services like Twitter have a lot of posts in a short period of time. Especially for the timeline, simply moving data in and out from the RDB will not scale. I found some arti…

GraphQL Adoption Anti-patterns

Is GraphQL a silver bullet? Introduction In web and application development, there are various methods for passing data between servers and between server and clients. The most common are SOAP and XML in the past. In most cases, JSON REST …