Skip to content

Commit 32909f0

Browse files
committed
feat: update articles
1 parent 70b7447 commit 32909f0

File tree

9 files changed

+363
-89
lines changed

9 files changed

+363
-89
lines changed

按年份归档/2005/2005~《控制论与科学方法论》/2021~《控制论和科学方法论》读书笔记.md

Lines changed: 74 additions & 74 deletions
Large diffs are not rendered by default.

按年份归档/2009/2009~马歇尔卢森堡~《非暴力沟通》/2020~《非暴力沟通》读书笔记.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
### 回避责任
3333

34-
我们对自己的思想、情感和行动负有责任。但是人们经常有“不得不”的借口,如:“不管你是否喜欢,有些事你不得不做”,这种表达显然淡化了个人责任。 我们要用负责任的语言来代替回避责任的语言。推荐表达的句式是:我选择“XXX”,因为我想“YYY” 比如下面的例子就是试图回避责任:
34+
我们对自己的思想、情感和行动负有责任。但是人们经常有“不得不”的借口,如:“不管你是否喜欢,有些事你不得不做”,这种表达显然淡化了个人责任。我们要用负责任的语言来代替回避责任的语言。推荐表达的句式是:我选择“XXX”,因为我想“YYY” 比如下面的例子就是试图回避责任:
3535

3636
- 受说不清楚的力量驱使
3737
- Q:为什么打扫房间?A:因为我不得不做
@@ -114,7 +114,7 @@
114114

115115
批评往往暗含着期待,但是我们通过批评来提出主张,人们的反应往往是申辩和反击;反之,如果我们直接说出需要,其他人就有可能作出积极的回应。
116116

117-
一旦人们开始谈论需要,而不是指责对方,他们就有可能找到办法来满足双方的需求。 非暴力沟通把需要看作是有助于生命健康成长的要素,而不是某种具体行为。我们每个人都有的基本需求:
117+
一旦人们开始谈论需要,而不是指责对方,他们就有可能找到办法来满足双方的需求。非暴力沟通把需要看作是有助于生命健康成长的要素,而不是某种具体行为。我们每个人都有的基本需求:
118118

119119
1. 自由选择。梦想、目标、方向,以及自由指定计划来实现目标
120120
2. 庆祝。庆祝生命的创造力和梦想的实现 或 纪念人生的失落
@@ -157,7 +157,7 @@
157157

158158
### 体会他人的感受和需要
159159

160-
**给他人反馈**:倾听之后可以主动表达我们的理解,如果理解到位,对方就会意识到这点;如果理解还不到位,对方就有机会来纠正我们。 建议**使用疑问句来给予对方反馈**,一般集中在如下几个方面:
160+
**给他人反馈**:倾听之后可以主动表达我们的理解,如果理解到位,对方就会意识到这点;如果理解还不到位,对方就有机会来纠正我们。建议**使用疑问句来给予对方反馈**,一般集中在如下几个方面:
161161

162162
- 他人的观察:“上周我有三个晚上不在家,你说的是这件事吗?”
163163
- 他人的感受和需要:“你很灰心?你希望得到肯定是吗?”
@@ -202,7 +202,7 @@
202202

203203
### 使谈话生动有趣
204204

205-
有时候,谈话的气氛很沉闷,我们体会不到说话的人有怎样的感受和需要,也不知道他对我们有什么期待。这种情况,要尽快提醒说话的人留意自己的感受和需要。这并不是要以自我为中心,而是请求他人体会自身的状态。 使谈话生动有趣的另一个做法是直接表达我们的愿望。说的人也更希望对方打断,而不是假装在听。所有的人都希望自己的话对别人有益,而不是被人当作负担。
205+
有时候,谈话的气氛很沉闷,我们体会不到说话的人有怎样的感受和需要,也不知道他对我们有什么期待。这种情况,要尽快提醒说话的人留意自己的感受和需要。这并不是要以自我为中心,而是请求他人体会自身的状态。使谈话生动有趣的另一个做法是直接表达我们的愿望。说的人也更希望对方打断,而不是假装在听。所有的人都希望自己的话对别人有益,而不是被人当作负担。
206206

207207
## 九、爱自己
208208

@@ -218,7 +218,7 @@
218218

219219
### 深入理解我们行为的动机
220220

221-
思考“我选择做 xxx 是因为我想 xxx”这个问题时,就会意识到我们的行为所服务的需要,即使工作很艰辛,富有挑战甚至举步维艰,我们也会从中得到乐趣。 主动根据需要和价值观来选择生活。 我们越是投入到服务生命(唯一的目的)的乐趣中,我们也就越爱自己。
221+
思考“我选择做 xxx 是因为我想 xxx”这个问题时,就会意识到我们的行为所服务的需要,即使工作很艰辛,富有挑战甚至举步维艰,我们也会从中得到乐趣。主动根据需要和价值观来选择生活。我们越是投入到服务生命(唯一的目的)的乐趣中,我们也就越爱自己。
222222

223223
## 十、充分表达愤怒
224224

按年份归档/2012/2012~《反脆弱》/2018~读书笔记:《反脆弱——从不确定性中获益》.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 读书笔记:《反脆弱——从不确定性中获益》
22

3-
尼采有句名言:“杀不死我的,使我更强大。”就像人的骨头承受压力和紧张会变得更加强壮,谣言或暴乱在有人试图压制它们时会变本加厉一样,生命中的许多事物也会受益于压力、混乱、波动和不确定。 发生概率极低的事件和无法预测的“黑天鹅”事件,在世界上几乎每一种事物的身上都会发生。
3+
尼采有句名言:“杀不死我的,使我更强大。”就像人的骨头承受压力和紧张会变得更加强壮,谣言或暴乱在有人试图压制它们时会变本加厉一样,生命中的许多事物也会受益于压力、混乱、波动和不确定。发生概率极低的事件和无法预测的“黑天鹅”事件,在世界上几乎每一种事物的身上都会发生。
44

55
在《反脆弱》一书中,塔勒布告诉我们在不确定的世界中的生存法则,他找到并定义了“反脆弱”类事物:每一个事物都会从波动中得到利益或蒙受损失,脆弱性是指因为波动和不确定而承受损失,反脆弱性则是指让自己避免这些损失,甚至从混乱和不确定中获利。
66

@@ -40,9 +40,9 @@
4040

4141
因此,由于存在多个层级和层次,反脆弱性就变得更复杂,也更有趣了。
4242

43-
比如:泰坦尼克号事件。 如果“泰坦尼克”号没有遭遇那次众所周知的致命事故,我们将会不断地建造越来越大的远洋客轮,而下一次的灾难将是更大的悲剧。
43+
比如:泰坦尼克号事件。如果“泰坦尼克”号没有遭遇那次众所周知的致命事故,我们将会不断地建造越来越大的远洋客轮,而下一次的灾难将是更大的悲剧。
4444

45-
因此,船上乘客实际上是为更大的利益做出了牺牲,他们挽救的生命数量将超过逝去的生命数量,这是毫无争议的。“泰坦尼克号”的故事充分地说明了系统利益与对部分个体的伤害之间的区别。 一艘邮轮的失事带来的是整个造船业的反思,避免了更多类似事故的发生。
45+
因此,船上乘客实际上是为更大的利益做出了牺牲,他们挽救的生命数量将超过逝去的生命数量,这是毫无争议的。“泰坦尼克号”的故事充分地说明了系统利益与对部分个体的伤害之间的区别。一艘邮轮的失事带来的是整个造船业的反思,避免了更多类似事故的发生。
4646

4747
02、为什么学会反脆弱
4848

@@ -142,7 +142,7 @@
142142

143143
世界是非线性的,非线性”是指反应无法直接估计的、不呈直线分布的效应。不对称性必然是非线性的。
144144

145-
它带来的弊远大于利:原因很简单,其强度增加带来的伤害远比强度等量减少带来的益处要大。 而我们世界上真正按照线性模式发展的情况非常少。因此才会有那么多的不确定性和随机事件。
145+
它带来的弊远大于利:原因很简单,其强度增加带来的伤害远比强度等量减少带来的益处要大。而我们世界上真正按照线性模式发展的情况非常少。因此才会有那么多的不确定性和随机事件。
146146

147147
非线性带来的就是大量的不对称性。很多事物的发展都具有不对称性,损失和收益不是完全对应的。在泰勒斯的案例中,他也有可能损失,但损失会很小,但与此同时收益会很大。
148148

按年份归档/2012/2012~《程序员的职业素养》/2018~《程序员的职业素养》- 读书笔记.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
### **应该尽力让 QA 找不出任何问题**
1616

17-
> 什么样的代码是有缺陷的呢?那些你没把握的代码都是!把自己没有把握的代码发送给 QA 这么做本身就是不专业的。 尽管公司可能设有独立的 QA 小组专门测试软件,但是开发小组仍然要把“QA 应该找不到任何错误”作为努力的目标。
17+
> 什么样的代码是有缺陷的呢?那些你没把握的代码都是!把自己没有把握的代码发送给 QA 这么做本身就是不专业的。尽管公司可能设有独立的 QA 小组专门测试软件,但是开发小组仍然要把“QA 应该找不到任何错误”作为努力的目标。
1818
1919
以笔者短暂的职业经验来看,出 bug 的地方一定是自己没有完全理解的地方,没有之一,全部命中。所以渐渐的,养成先好好看代码,将逻辑都理清了再重构或者再写代码的习惯,显然出错率少了很多。
2020

@@ -30,13 +30,13 @@
3030

3131
### **应该明确代码的业务价值**
3232

33-
> 专业程序员的首要职责是满足雇主的需求。这意味着要和你的经理们,业务分析师们,测试工程师们和其他团队成员很好地协作,深刻理解业务目标。你需要理解手上正在编写的代码的业务价值是什么了解你的企业将如何从你的工作中获得回报。 专业程序员会花时间去理解业务。他们会和用户讨论他们正在使用的软件,会和销售人员和市场人员讨论所遭遇的问题,会和经理沟通,明确团队的短期目标和长期目标。
33+
> 专业程序员的首要职责是满足雇主的需求。这意味着要和你的经理们,业务分析师们,测试工程师们和其他团队成员很好地协作,深刻理解业务目标。你需要理解手上正在编写的代码的业务价值是什么了解你的企业将如何从你的工作中获得回报。专业程序员会花时间去理解业务。他们会和用户讨论他们正在使用的软件,会和销售人员和市场人员讨论所遭遇的问题,会和经理沟通,明确团队的短期目标和长期目标。
3434
3535
## **二. 专业的程序员如何沟通**
3636

3737
### **应该准确把握“完成”的定义**
3838

39-
> 专业开发人员的“完成”只有一个含义:完成,就是完成。 完成意味着所有的代码都写完了,所有的测试都通过了,QA 和需求方已经认可,这,才是完成。
39+
> 专业开发人员的“完成”只有一个含义:完成,就是完成。完成意味着所有的代码都写完了,所有的测试都通过了,QA 和需求方已经认可,这,才是完成。
4040
4141
### **应该准确预估**
4242

@@ -64,7 +64,7 @@
6464

6565
### **应该用数据争论**
6666

67-
> 凡是不能在 5 分钟内解决的争论,都不能靠辩说解决。争论之所以要花这么多时间,是因为各方都拿不出足够有力的证据。所以这类争论依据的不是事实,而是信念。在没有数据的情况下,如果观点无法在短时间达成一致,就永远无法达成一致,唯一的出路是,用数据争论。 切忌用个人能力赢得争论。他们可能提高嗓门,近距离与你对视,或者摆出不屑的姿态。但这都不重要,长期来看,强力是无法解决争论的,最终还是要需要数据。
67+
> 凡是不能在 5 分钟内解决的争论,都不能靠辩说解决。争论之所以要花这么多时间,是因为各方都拿不出足够有力的证据。所以这类争论依据的不是事实,而是信念。在没有数据的情况下,如果观点无法在短时间达成一致,就永远无法达成一致,唯一的出路是,用数据争论。切忌用个人能力赢得争论。他们可能提高嗓门,近距离与你对视,或者摆出不屑的姿态。但这都不重要,长期来看,强力是无法解决争论的,最终还是要需要数据。
6868
6969
## **三. 专业的程序员如何自我管理**
7070

@@ -92,7 +92,7 @@
9292

9393
### **四. 专业程序员的时间管理**
9494

95-
> 邀请你参加会议的人并不负责管理你的时间,为时间负责的只有你,所以,如果你收到会议邀请,务必确保出席会议可以给自己目前的工作带来切实显著的成效,否则不参与。 你应当明白,继续待在会议室里是浪费时间;就行参加对你没有太多意义的会议,是不专业的行为。因为你有责任合理分配老板给你的时间和金钱,所以,选个何时的机会行亮如何离席,并非不专业的做法。
95+
> 邀请你参加会议的人并不负责管理你的时间,为时间负责的只有你,所以,如果你收到会议邀请,务必确保出席会议可以给自己目前的工作带来切实显著的成效,否则不参与。你应当明白,继续待在会议室里是浪费时间;就行参加对你没有太多意义的会议,是不专业的行为。因为你有责任合理分配老板给你的时间和金钱,所以,选个何时的机会行亮如何离席,并非不专业的做法。
9696
9797
书的作者在最后推崇了学徒制,呼吁了在专业毕业生毕业后进公司时不应该马上投入工作,而是应该采取学徒制来对毕业生进行大学内无法提供的教育。
9898

按年份归档/2015/2015-Phodal-《Growth: 全栈增长工程师指南》.md

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# Growth: 全栈增长工程师指南
2+
3+
> 参考地址:https://ngte.cowtransfer.com/s/eed348bd08b34a
4+
5+
## 书籍简介
6+
7+
《Growth: 全栈增长工程师指南》由全栈开发者 Phodal Huang 撰写,聚焦技术驱动的增长策略,结合工程实践与数据思维,帮助读者构建从技术到业务的全栈增长能力。
8+
9+
## 一、核心框架:技术驱动增长的全栈视角
10+
11+
### 目标
12+
13+
通过技术手段实现用户增长、留存与变现,打破传统部门壁垒,以数据为核心驱动产品迭代。
14+
15+
### 核心逻辑
16+
17+
1. **全栈能力**:整合前端、后端、数据、工具链等技术栈,快速验证增长假设
18+
2. **科学实验**:通过 A/B 测试、数据分析持续优化用户漏斗(获客 → 激活 → 留存 → 变现 → 推荐)
19+
3. **工具化思维**:构建自动化工具链(如数据监控、用户分群),提升增长效率
20+
21+
### 未来趋势
22+
23+
全栈工程师将突破传统前端/后端界限,向物联网、移动应用等领域拓展("无栈"概念),结合 5G-A 无源物联网等新技术实现万物互联场景。
24+
25+
## 二、核心内容详解
26+
27+
### 1. 全栈工程师的未来:技术与组织变革
28+
29+
#### 技术革新史
30+
31+
- 从 CGI 到 MVC 再到前后端分离,技术门槛持续降低,催生全栈角色
32+
33+
#### 组织架构变迁
34+
35+
- 从瀑布式开发到精益开发,小公司更依赖全栈工程师快速试错
36+
37+
#### 专家 vs 全栈
38+
39+
- 专家:深耕单一领域(20%时间达 80 分)
40+
- 全栈:拓展多领域(80%时间探索新方向)
41+
42+
#### 无栈趋势
43+
44+
- 全栈工程师需具备跨领域学习能力
45+
- 适应物联网、移动应用等新兴场景
46+
47+
### 2. 效率工具与技术选型
48+
49+
#### 工具哲学
50+
51+
- 工具是辅助,核心是提升自身能力(如快捷键、终端操作)
52+
53+
#### 语言与框架
54+
55+
- **JavaScript**:全栈核心,覆盖 Web、移动、桌面应用(如 Node.js、Electron)
56+
- **后端选型**:权衡团队协作(如 Ruby、Scala 适合个人,Java 适合大型团队)
57+
58+
#### 架构模式
59+
60+
- **分层架构**:表现层 → 领域层 → 数据层(如 Spring、iBatis)
61+
- **前后端解耦**:采用 MVP/MVVM 模式,通过 RESTful API 通信
62+
63+
### 3. Web 应用构建与性能优化
64+
65+
#### 技术栈实践
66+
67+
- **前端**:HTML(结构)、CSS(样式)、JavaScript(交互)三剑客
68+
- **后端**:数据库(SQL/NoSQL)、搜索引擎(如 Elasticsearch)、缓存(Redis)
69+
70+
#### 性能优化
71+
72+
- **前端**:代码压缩、懒加载、CDN 加速
73+
- **后端**:数据库索引、异步处理、负载均衡
74+
- **监测工具**:Apdex 评估用户体验,Google Analytics 分析流量
75+
76+
### 4. 数据分析与用户洞察
77+
78+
#### 数据驱动决策
79+
80+
- **用户分群**:通过行为数据(如活跃用户、付费用户)制定差异化策略
81+
- **漏斗分析**:拆解用户路径(如注册 → 付费),定位流失节点
82+
83+
#### 工具链
84+
85+
- **Hadoop**:处理大规模数据,支持离线分析
86+
- **Google Analytics**:追踪流量来源、用户行为
87+
88+
#### 2025 趋势
89+
90+
结合可信数据空间、时间序列分析等技术,实现更精准的用户预测与行为分析
91+
92+
### 5. 持续交付与自动化
93+
94+
#### 持续集成(CI)
95+
96+
- **工具**:Jenkins、Travis CI 实现代码自动化测试与部署
97+
- **流程**:小步提交 → 单元测试 → 集成测试 → 生产部署
98+
99+
#### 功能开关(Feature Toggle)
100+
101+
- 灰度发布新功能,降低风险
102+
103+
### 6. 增长策略与实战案例
104+
105+
#### 用户获取
106+
107+
- **SEO 优化**:关键词研究、结构化数据(Schema)、Sitemap 提交
108+
- **内容营销**:通过博客、白皮书吸引目标用户
109+
110+
#### 用户留存
111+
112+
- **个性化推荐**:基于用户行为数据(如协同过滤算法)
113+
- **邮件自动化**:触发式邮件(如新用户欢迎、流失召回)
114+
115+
#### 变现与推荐
116+
117+
- **付费模式**:订阅制、Freemium、广告分成
118+
- **病毒传播**:设计激励机制(如邀请返利)
119+
120+
#### 实战项目
121+
122+
配套《全栈增长工程师实战》使用 Django 框架构建博客系统,涵盖自动化测试、持续集成、API 开发等全流程
123+
124+
### 7. 团队协作与职业发展
125+
126+
#### 跨职能协作
127+
128+
- **增长团队**:工程师、设计师、产品经理协同实验
129+
- **沟通机制**:每日站会、复盘(Retro)促进信息同步
130+
131+
#### 个人成长
132+
133+
- **持续学习**:阅读技术书籍、参与开源项目、写作总结
134+
- **职业路径**:从全栈工程师到技术管理者,或专注垂直领域(如数据科学)
135+
136+
#### 协作优势
137+
138+
全栈工程师可独立完成产品全生命周期开发,降低跨领域沟通成本,推动敏捷迭代
139+
140+
## 三、特色与价值
141+
142+
- **实战导向**:通过 Django 框架、自动化测试、API 开发等案例,演示从开发到上线的完整流程
143+
- **工具整合**:介绍各类工具(如 Apdex、Google Analytics)的使用场景与配置方法
144+
- **数据思维**:强调用数据验证假设,避免主观决策,例如通过 A/B 测试优化转化率
145+
- **作者背景**:Phodal Huang 拥有丰富的开源项目经验(如物联网系统 Lan),其技术著作与行业实践为方法论提供坚实支撑
146+
147+
## 四、适合人群
148+
149+
- **技术人员**:希望从纯开发转向增长领域,掌握数据驱动的产品迭代方法
150+
- **创业者/产品经理**:需要技术背景理解增长策略,快速验证商业模式
151+
- **团队管理者**:构建跨职能增长团队,设计高效协作流程
152+
153+
## 总结
154+
155+
通过整合技术、数据与业务,本书为读者提供了一套可落地的全栈增长方法论,适合希望通过技术实现业务突破的从业者参考。

0 commit comments

Comments
 (0)