第一性原理First Principle运用方法

第一性原理

第一性原理的本质是演绎性思维,是一个自确定的原起点,是整个逻辑推理的基石。

运用第一性原理的基本步骤:

A. 打破原理论基础,重新归零,重设原点,建立新的起点。

B. 拆分解构,找到改变的突破点。

C. 重构,设定新的规则,建立新的模式。

 

思维模型之刻意练习Purposeful practice

著名的一万小时原则,出自于Anders Ericsson《Peak: Secrets from the New Science of Expertise》一书,中文翻译为《刻意练习:从新手到大师》。该书核心观点认为,所谓天才或专家级的水平,都是可以通过不断刻意练习达到的,而这个“不断”的时间大约是1000万小时。

刻意练习,是达到专家级水平的关键因素,刻意练习包含以下几个要点:

1. 刻意练习是不断在“舒适区”之外确切地说在学习区进行。也就是,进行一项知识或技能的训练,是不断挑战个人能力水平或极限的,是难度逐渐提高的过程。这个过程是可能是痛苦的,但是是不断进步的。

2.分阶段大量的重复训练并且精神高度集中。

3.有持续的反馈效果、纠错机制。

这意味着,我们要想自己达到某个行业专家级的水平,就需要走出舒适区,在特定知识技能上,不断挑战自己,加以大量练习。

vim高频实用命令整理

进入编辑/输入模式

快捷命令 功能描述
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入随后输入的文本
A 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令

光标移动操作

快捷命令 功能描述
w 向前移动,光标停留在下个单词词首,每次一个单词(单词中不含其他字符如:- \ = +等)在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
nw 向后移动n个word(n可以是任意整数数字,如2w)后续W、b、B、e、E都可这样使用
W 向前移动,光标停留在下个单词词首,每次一个字符串(字符串可以含有其字符如:- \ = +等,is-a word/and/bog 这种都是字串)
b 向后移动,光标停留在前个单词词首,每次一个单词
B 向后移动,光标停留在前个单词词首,每次一个字符串在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
e 向前移动,光标停留在前个单词词尾,每次一个单词
E 向前移动,光标停留在前个单词词尾,每次一个字符串在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令
Home 快速移动光标至当前行首
End 快速移动光标至当前行尾
:n 移动到第n行,如,:10可快速跳转到10行
gg 移动到文本开始处
G 移动到文本末尾处
nG 光标移动到第 n 行,n 为数字
0 或 ^ 移动至当前行的行首
$ 移动至当前行的行尾
n$ 移动至当前行只有 n 行的行尾,n为数字
fx 移动至当前行中下一个 x 字符处,如,fe,则移动到下一个e字母处
Fx 移动至当前行中上一个 x 字符处,如,fe,则移动到下上个e字母处
nj 向下移动n行,如,10j表示向下移动10行
ctrl+b 向上翻页
ctrl+f 向下翻页

撤销操作

快捷命令 功能描述
u 撤销上一次的操作
U 行撤销,撤销所有在前一个编辑行上的操作(行恢复)。

查找操作

快捷命令 功能描述
/str 在后面的文本中查找str。
?str 在前面的文本中查找str。
n 向后查找下一个。
N 向前查找下一个。

复制粘贴

快捷命令 功能描述
yy 单行复制
dd 单行删除(剪切)
p 粘贴
按esc键后,先按gg(到达顶部),然后dG 全部删除
按esc键后,先按gg,然后ggyG 全部复制
n 向后查找下一个。
N 向前查找下一个。

设计模式剖析系列之快照/备忘录模式

快照/备忘录模式

快照模式也称为备忘录模式,其作用是将捕获对象的状态保存起来,在需要的时候可以进行恢复。

核心结构:

A.源发器 Originator类,对象的基本状态信息类,其含两个核心方法,其一是备份操作的setMemento()方法,该方法返回一个备份对象Memento实例。另一个是恢复操作的recovery(Memento m)方法,其需要传入一个已经备份的Memento实例。

B. 快照Memento类,用于创建源发器实例的快照。其属性包含了源发器所有属性。构造方法需要传入一个需要备份的源发器Originator类实例。

C. 快照管理类,用于关联已经创建的快照对象实例。

以上三者关系及客户端调用方法如下图所示:

设计模式剖析系列之状态模式

状态模式详解

当控制一个对象状态转换的条件表达式过于复杂,把状态的判断逻辑转移到对应的状态类中,实现复杂逻辑的简单化,这是状态模式的初衷。状态模式的核心组成要点:

1. 抽象状态接口或类State:封装状态行为。

2. 具体状态类 Concrete State:实现抽象State类或接口的行为,每个状态对应一个类。

3. 环境类 Context:用于实现状态的转换与客户端的调用,其包含了对一个对State实例的引用。

状态模式示意图

 

设计模式剖析系列之策略模式

策略模式定义了一系列算法(算法族),各可以相互替换,客户端可根据实际情况选择使用哪一种算法,算法的变化不会影响使用算法的客户。

策略模式核心结构: