0%

带着共产党和红军的各种疑问,冒着生命危险,在北平登上了去西安的火车。
见到了杨虎城,邵力子,董健吾,邓发
趁着股价暴跌,过来谈一个好 offer,过两年又可以人生巅峰了

Read more »

重新定义公司

  • 最好的产品是通过新的方法运用一两项科技来解决重大问题的独特洞见
  • 将 80% 的时间花在带来 80% 收益的项目上
Read more »

Tips
Refactoring changes the programs in small steps. If you make a mistake, it is easy to find the bug.

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Refactoring is a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.

Creating and Destroying Objects

  1. Consider static factory methods instead of constructors
  2. Consider a builder when faced with many constructor parameters
  3. Enforce the singleton property with a private constructor or an enum type
Read more »

背景

  • 对电梯调度发生兴趣的起源前公司在 2018 年对办公楼做过一次电梯系统改造,改造后的乘梯体验是:用户选择到达楼层,系统告知几号电梯被呼叫到。

电梯调度为什么复杂

先问是不是,再问为什么。操作系统原理的本科课程一般都会提到 I/O 调度问题,多个 I/O 请求可能同时到达但磁盘控制器同一时间只能执行一次 I/O 操作;不同 I/O 操作在磁盘上的远距离会导致磁盘臂的较大移动;
磁盘访问时间(Disk Access Time) = 寻址时间(Seek Time) + 旋转延迟(Rotational Latency) + 数据传输时间(Transfer Time)

Read more »

一直以来觉得自己读书不够。以前读的书也比较浅,有很多本来有兴趣的大部头因为没能坚持,翻了前面几章就放在书柜上起灰了。没有系统的整理,不知道哪些书该读,哪些书不该读,怎样才能够快速抓到书中对自己有用的部分而不受书害,希望随着阅读量的累计对这些问题有更深刻的看法。

读工作相关的技术类书籍严格讲不算阅读,和读其他的书差别也比较大。

读英文原著一直是可望而不可即的目标,30年内应该是比较难实现了。

Two-Phase Commit

二阶段提交,分布式系统架构下保证所有节点在事务处理中保持原子性和一致性而设计的一种算法。一个事务跨越多个节点时,为了保证事物的ACID特性,需要引入一个作为Coordinator来控制所有Cohorts的处理结果,总体的思路就是:Cohorts将操作结果通知Coordinator,Coordinator根据所有Cohorts的结果判断是否提交或者中止操作。

Read more »