Lastest Posts | 最新文章

Chapter 3: How to Scale SQL Database?

Database is oftentimes the bottleneck of service scalability and reliability. Between 2018 and 2020, Doordash experienced multiple site wide outages during our traffic peak hours due to database issues. Before we are able to break down the monolithic service, we need to put off the database fires to ensure the team has enough room to focus on the service extraction. In this chapter, I am going to introduce how we scale the SQL databases.

read more

Chapter 2: Why ORM Can Be the Scaling Bottleneck?

ORM is widely used in Doordash’s Django monolithic service. It enabled the developer to focus on the business logic. However, it became a major scalability bottleneck as the service grew. In this chapter, I am going to talk about the bad side of ORM, and why we decided to get rid of ORM in our new microservice and use SQL queries instead.

read more

Chapter 1: Decouple Client and Backend through BFF Layer

In the monolithic world, doordash service only has two layers: a python Django monolithic service as the backend, and the client layer, including the web and mobile clients. The simple architecture worked well when the business and the team were small, as it enabled the product team to move fast. However it doesn’t scale as it increases the overhead maintaining the backend.

read more

Economics & Financial Market | 经济与金融

银行是如何运作的?Part 1

银行是现代金融体系的核心,但是很少有文章把银行的运作方式介绍清楚,这篇文章通过资产负债表的方式讲解银行的运行模式。主要包括:货币在银行体系中产生的过程,准备金,银行信贷,资本要求等内容。

read more

Computer Science & Software | 计算机与软件

Quick Read 1: Circuit Breaker Pattern

Circuit breaker is a design pattern used in modern software development. It is used to detect failures and encapsulates the logic of preventing a failure from constantly recurring, during maintenance, temporary external system failure or unexpected system difficulties.

read more

Release It! Stability

Morden software system usually needs to process transactions, which is an abstract unit of work. A resilient system keeps processing transactions even when there are transient impulses, persistent stresses, or component failure disrupting normal processing.

read more

Humanities, Society & Art | 人文、社会与艺术

从小说《芳华》到电影《芳华》

冯小刚当然可以说《芳华》是他对青春的美好回忆,但是你很难不感到那是被过分美化、离真实太遥远的青春。电影芳华再现了那个黄金年代,给往事增添了许多美感,但也让人物塑造少了深度。原著小说里,中年的刘峰和萧穗子相聚,萧穗子给刘峰看林丁丁的照片,被刘峰拒绝,他宁愿林丁丁永远是记忆中心动的模样。芳华电影的视角与此类似,已经逝去的青春和从未得到的美好都让人叹惋,但沉醉在个人回忆里难免让电影失去打动更多人的力量。

read more

《荣国府的经济账》红楼梦的世界观

罗伯特麦基在《故事》里说,作者应该是故事的上帝,从人物的饮食习惯到九月的天气,作者必须对每个问题都了如指掌。用更通俗的话说,作者需要为作品设置一个详细的世界观,人物的行动必须和世界观吻合。曹雪芹就是这样令人惊叹的创造者,他在创作情节和人物时,还构建了一个完整的红楼梦世界。

read more

从《克莱默夫妇》到《婚姻故事》

《克莱默夫妇》和《婚姻故事》都是当年十分有分量的电影,不仅因影片本身的优秀,还因为他们赢得了许多观众的共鸣。两个故事离婚的过程里所关注的重点有所差别,性别权力冲突的中心也随着社会大背景的变化而移动,把两个故事进行比较的时候这一点更加明确。尽管两个故事的内核相似,但是我们仍然能从他们的差别中找到时代的影子。

read more

Professional Development | 职业发展

招聘杂谈:先招高级工!

招到合适的人是经理最重要的任务,但是新人经理最容易犯的错是给团队招聘太多初级员工。这个错误一般是两个情况造成的:第一是团队需要快速扩充人手,第二是初级候选人数量众多又容易招到。新人经理可以凭借业务能力带领相对初级的团队,但这很快就会成为他们进一步成长的绊脚石。

read more

面试杂谈:Google Engineer 的问题

我面试候选人的时候发现Google 这类大公司的工程师普遍有两个问题:对基础设施端(Infrastructure)了解不足,主动沟通能力不够。这两个问题根植在大公司的运行模式和企业文化当中,在这类公司的候选人当中非常普遍。

read more

The Choice Of Words: Introductory

The goal of writing professional document is to convey our meaning without ambiguity and without giving unnecessary trouble to our readers. To achieve this goal, we should follow the following principles:

read more

Personal Growth | 个人成长

禅与亲密关系修理艺术

亲密关系的崩坏是慢慢发生的,想起挽回时却往往已经没了回旋的余地。问题是,为什么我们没能更好的时机解决问题?我们对亲密关系的变质有许多感性的解释,比如将其归结于爱的丧失。那句经典的劝解是怎么说的?“归根结底是因为不够爱”。这个解释倾向于将亲密关系看做一成不变,仿佛用爱就可以发电。可实际上,亲密关系从来都没有停止变化,仅靠爱无法解决所有问题。

read more

亲密关系中的权力

权力就是使对方按照自己的意志行动的能力。如同所有关系一样,亲密关系中也包含着权力。我们希望两个人走在一起是出于完全平等的意愿,相互尊重,相互支持,但现实生活中,双方权力不对等的情况才是常态。

read more

拒绝,冷落,嫉妒,和背叛:亲密关系中的紧张与压力

与被初次见面的人拒绝相比,被我们所了解和所爱的人拒绝是一件远为让人难受的事情,因为这关乎到自尊。我们已向对方敞开心扉,请他们了解我们内在的品质,对他们抱有深深的期待。我们希望他们看到我们的价值,重视我们,像我们一样重视这段关系。但当我们没有获得期待的回应,比如被拒绝的时候,我们的自尊会受到打击,自我价值也会产生动摇:我们发现伴侣对这段关系的珍视程度没有达到我们的期待,亲密关系中的伤害往往来自于此。

read more