EasonDesign Pattern — Decorator()Have you ever met some point that some object would add extra duties onto a method based on some conditions? For example, you’re designing…Jul 16Jul 16
EasonDesign Pattern — ObserverHave you ever bumped into a circumstance that lots of objects want to get the update of one specific data? Let’s say, you need to create a…Jul 8Jul 8
EasonHow and when to use design pattern — Strategy PatternIf you’re a software engineer with several years experience, maybe you’ve heard of “Design Pattern”. However, it’s not that common to…Jul 1Jul 1
EasonThe most important principle of developing softwareThere are so many principles out there when it comes to software develop. For example: KISS principle, DRY principle, etc… But during all…Jun 25Jun 25
EasonHow to prevent out of port in Docker swarmWhen it comes to deploy a web application, a common issue comes up: choose a port to export. If this is the only application you have and…Jul 12, 2023Jul 12, 2023
EasonThe explanation of 2 Phase Commit, Saga, TC/CIn response to the trend of big data, it’s hard to keep all the data in one database server. Hence, it came up with “Partition”. The…Jul 6, 2023Jul 6, 2023
EasonRate limit algorithmsThis article’s purpose is to take a note of different kinds of rate limit algorithm and analyze pros and cons between them.May 18, 2023May 18, 2023
EasonDifferent implementation of Message queueThere are various of message queue product, such as RabbitMQ, Kafka, NATS, etc. So it’s very common to face the decision between all these…May 10, 2023May 10, 2023
EasonGeo index: Geohash、QuadTreeIn recent years, many apps have incorporated location systems that allow users to search for nearby targets. This has increased the…May 2, 2023May 2, 2023
EasonPerformance Behind Http server of java, nodejs and golangI think everybody knows that the performance rank of these three programming language is: 1.golang 2.nodejs 3.java. Of course the rank…Apr 30, 2023Apr 30, 2023