工作方法

如何阅读 Spring 源码?

如何阅读 Spring 源码?

D瓜哥
昨晚原计划给几个朋友简单介绍一下阅读 Spring 源码的方法。结果,大家因为各种原因没能及时参加。后来,就取消分享了。干脆写一篇文章出来,感兴趣欢迎自取。 代码准备 Spring Framework 是开源的,代码托管在 GitHub 上: Spring Framework。任何人都可以方便地获得它的源代码。所以,如果想阅读 Spring 的源代码,当然是直接把代码克隆到本地,然后直接在 IDE(推荐 IDEA)中进行调试了。另外,还需要存放自己写一些测试和文档。所以,最好把代码 fork 到自己的账户下,从 master 上切出一个新分支并 push 到自己的 Repo 中,这样自己就可以随意更新了。具体步骤如下: 克隆代码 # 直接克隆原始仓库为 origin git clone git@github.com:spring-projects/spring-framework.git fork 代码,D瓜哥直接 fork 到自己账户下了: diguage/spring-framework。 添加原创仓库地址: # 添加自己仓库为 diguage # 这样就能在所有项目中保持命名的一致性,方便标识 git remote add diguage git@github.com:diguage/spring-framework.git 创建新分支 # 创建新分支 git switch -c analysis # 将新分支 push 到自己的 Repo 中 git push diguage analysis 这样,在这个新分支上,就可以随意折腾了。

在世界读书日,推荐书单

D瓜哥
今天是世界读书日,各种人都在推荐书单。D瓜哥也凑个热闹,水一篇文章,推荐一些书籍。 在前一段时间,D瓜哥已经写了一个书单: 推荐几本 Java 并发编程的书。为了避免重复,上一个书单中推荐过的书籍,这次就不再重复推荐了。 每年十二个月,D瓜哥就推荐 12 本书,每个月读一本想必压力也不算大。 如何阅读一本书? D瓜哥在年初的时候,刚刚再次重读了这本书。而且,还写了一篇读书笔记: 《如何阅读一本书?》之读书笔记。 如果喜欢读书,那么这本书绝对应该是首先阅读的第一本书。一句话总结一下:用检视阅读的方法来快速筛选出你关注主题的书籍;用分析阅读的方法来吸收一本书的精华;用主题阅读的办法来对多本同一主题的书去伪存真,加工再输出。 远见 D瓜哥在去年年末写的年终总结 “告别 2019,迎接 2020” 中提到了这本书。考虑这本书的实用性和对自身发展的指导意义,所以决定再次推荐这本书。 在这本书中,作者将职业生涯分为:强势开局、聚焦长板和实现持续的影响力三个阶段。 在强势开局阶段,就像要开始一个汽车拉力赛,要努力加添燃料。 在聚焦长板阶段,要努力提高自己的核心竞争力,创造自己的制高点。 在实现持续的影响力阶段,则要优化长尾效应,让自己持续保持领先。 对于职业生涯有追求的小伙伴,尤其是在读大学生,一定要去尽早认真读一读这本书。 思考,快与慢 这是一本有关心理学方面的书籍。作者丹尼尔•卡尼曼因其与阿莫斯•特沃斯基在决策制定上的研究而荣获了 2002 年度的诺贝尔经济学奖。所以,这本书质量上肯定是有保证的。 这本书主要是介绍认知心理学的。作者在书中,把人的认知分为系统一和系统二。系统一是那种不需要思考的,已经固化在我们基因中的反应,比如看见危险会跑路等;而系统二,则是需要深入思考才能有所收获的事情,比如在新税法下,计算个人应该缴纳的个人所得税。两个系统相辅相成,时刻影响着我们的生活,但我们却有些熟视无睹。 穷查理宝典 提起查理·芒格,也许有些人不知道是谁。(看这篇文章的读者估计都了解)但是,他的搭档估计是人尽皆知,那就是世界股神沃伦·巴菲特。 虽然这本书不是查理·芒格书写的,里面的精华部分,却都是查理的演讲稿。通过这些演讲,你可以看到一个睿智的老人,如何在循循善诱地向你传授他的思维方法。查理给我们介绍了他的思维模型:逆向思维,多元思维模型,打造自己的核心圈,避免嫉妒效应,内部积分卡(用我们古人的话说就是反求诸己)等等。 社会性动物 D瓜哥是去年开始读这本书的,非常抱歉目前还没有读完。 这本书是讲述社会心理学的,讲述在这个社会中,人与人之间是如何相互影响的。举一个典型的例子:你思考过吗,什么样的广告最能打动你吗? 事实 比尔·盖茨也推荐了这本书。我也是最近刚刚开始读这本书。还没有读完。就不做过多评价了。用一个问题,勾引一下你的兴趣:
《程序员修炼之道》之提示全集

《程序员修炼之道》之提示全集

D瓜哥
计算机行业是一个发展非常迅速的行业,技术可谓是日新月异。同样,书籍也是更迭不断。书龄在二十年以上的书,少之又少。如果还能一直保持畅销,那绝对是凤毛麟角。而 《程序员修炼之道》 绝对算是这些神品中不可或缺的一本。 最近当当在搞读书节,又成功骗我入坑,买了几本心仪已久的书。《程序员修炼之道·第2版》被我成功收入囊中。打开书本,只看目录就感觉可以值回书价了。99 条提示,字字珠玑,金科玉律。忍不住发篇水文,推波助澜,让其发扬光大。 务实的哲学 关注你的技艺 思考!思考你的工作 你有选择权 提供选择,别找借口 不要放任破窗 做推动变革的催化剂 牢记全景 将质量要求视为需求问题 对知识组合做定期投资 批判性地分析你读到和听到的东西 英语就是另一门编程语言 说什么和怎么说同样重要 把文档嵌进去,而不是拴在表面 务实的方法 优秀的设计比糟糕的设计更容易变更 DRY—​不要重复自己 让复用变得更容易 消除不想搞事物之间的影响 不设最终决定

OKR 学习笔记 - 未来展望

D瓜哥
29 | 他们落地 OKR 都失败了,原因出在哪儿? 为何这家初创公司落地 OKR 失败了? 拿 OKR 当 KPI 用,只是通过 OKR 看结果,而忽略了 OKR 执行过程中的跟踪与复盘,最终导致 OKR 没用对,KPI 也没用好。 对于初创公司而言,生存固然重要,但成长也不可忽视,OKR 既能实现目标,又能关注成长。 为何这家传统企业落地 OKR 失败了? 为何这家互联网公司落地 OKR 失败了? 总结 没有充分理解 OKR 的核心概念,更没有真正体会到 OKR 的精髓,容易将 OKR 当 KPI 用。 当正确理解 OKR 后,就应该快速落地,并及时跟踪落地效果,持续收集员工反馈。 OKR 的本质就是简单,所以没必要让 OKR 落地变得复杂,无需与流程和制度相绑定。 30 | 用什么工具,能加强OKR落地效果? OKR 初步落地,用什么工具? 与“表格”相比,我更倾向于“看板”,不是电子看板,而是实体看板,需要将它固定在墙上,而且办公区域内,越多的同事看到它越好。 看板使得 OKR 的价值发挥到了极致。

OKR 学习笔记 - 管理心经

D瓜哥
15 | 技术团队真的是“成本中心”吗?如何改变这一现状? 如何体现技术团队的价值? 要回答技术团队如何产生价值的问题,首先要让同事们知道工程师们每天到底在做什么。 除了在技术团队核心工作方面来体现价值以外,你还需要在日常的项目中体现技术团队的价值。 如何使用 OKR 体现项目价值? Why:为何我们要做这个项目,这个项目主要是为了解决什么问题? What:对于项目所解决的问题而言,它所能产生的价值到底有多大? How:项目上线后,是否能够有效地去验证项目的价值?如何验证? 技术团队所交付项目的价值。 如何持续地体现技术团队价值? 不要告诉工程师们应该做些什么,更不要告诉他们应该怎么去做,而要告诉他们为什么要做。 O 的完成率是其下每个 KR 完成率的平均值。 对于曾经做过的项目所产生的价值,你还需要阶段性地向你的上级领导汇报,从而建立领导和你之间的信任,这同样也能体现技术团队的价值。 总结 一些技巧: 项目 OKR 无需你一个人来制定,你需要与协作伙伴们共同来完成。 通过“引导式”提问方法,让你的伙伴们认可通过 OKR 来验证项目价值的方法。 持续体现技术团队价值,通过定期向大家同步项目 OKR 完成率,这个方法值得尝试。 16 | 大家都说“向上管理”很重要,你想学一些“套路”吗? 向下管理指的是管理自己的团队等; 向上管理指的是与自己的领导有效沟通; 横向管理指的是与自己的跨部门同事进行工作协同。 向上管理,到底管理的是什么? 问题 为何与自己的领导一言不合,就会选择离职呢?其根本原因还是在于自己和领导之间的沟通出现了问题。

OKR 学习笔记 - 操作指南

D瓜哥
08 | 如何轻松制定OKR?方法原来如此简单 你制定的 O 对不对? O 是 OKR 中“What”的层面,它解决了“做什么”的问题。 O 最核心的特性就一定在于它对组织、团队、个人所能提供的价值上: 对于组织目标而言,当一位 CEO 制定组织目标时,他需要结合企业战略规划来制定 OKR,他所制定的 O 就必须具备商业价值。 如果你是团队负责人,那么你一定要考虑:怎样的 O 能帮助你的团队产生价值。 综上所述,在制定 O 时,你需要注意以下三条核心原则: O 要有实际价值,你要深度思考。 O 要能激励人心,你要善于表达。 O 要短期可实现,你要脚踏实地。 分享三条注意事项: O 尽可能要以动词形式开头。例如:打造……、建设……、实现……。 O 用通俗易懂的语言来表达。一定不要写一些自认为“高大上”的词汇,除非大家理解上都可以达成一致。 O 最好能附上一句目标描述。建议为 O 增加一句话描述,就“为何我要写这个目标?”这一问题,来向大家讲解。 你制定的 KR 好不好? KR 是针对 OKR 中“How”的层面,它解决了具体“怎么做”的问题。

OKR 学习笔记 - 快速入门

D瓜哥
01 | 你想要快速理解OKR吗?看这篇文章就够了 越来越火的 OKR 究竟是什么? OKR 是一款目标管理工具,它由 Objectives(目标)和 Key Results(关键结果)两部分构成。同时,OKR 也被称为“目标与关键结果工作法”,简称为“OKR 工作法”。OKR 是融合了一系列框架、方法和哲学后的产物,它起源于 Intel,发展于 Google。 可以把 OKR 中的 O 想象成一个你想要去的最终目的地,它时刻为你指明前进的方向,此外,可以把 KR 想象成一个带有距离标记的路标,它时刻告诉你距离目的地还有多远。 OKR 是一种融入了人性的科学管理框架。OKR 绝不是一款简单的目标管理工具,它充满了人性和智慧。 你为什么需要 OKR? OKR 使方向更加聚焦 OKR 恰恰能够解决短期目标的实现问题,让目标更加聚焦,让行动脚踏实地,通过完成 KR 从而实现 O,这也正是 OKR 的基本原理。 为了让目标更加聚焦,因此在制定 O 的时候就需要考虑“做减法”,不要贪多求广,在资源有限的前提下,我们只有集中优势“兵力”,才能逐个歼灭“敌人”。 OKR 使沟通更加透明 《孙子兵法》云“上下同欲者胜”。 CEO 首先制定“公司 OKR”,即组织目标,并将组织目标与部门负责人沟通。 部门负责人再去制定“部门 OKR”,即团队目标,并将团队目标与组织目标对齐,与 CEO 确认后再与员工沟通。 各个员工充分理解了团队目标后,再去制定自己的“员工 OKR”,即个人目标,并将个人目标与团队目标对齐,并与团队负责人确认。 OKR 使激励更加有效 除了金钱等物质激励以外,最有效的激励方式莫过于“成长”和“认可”,而且精神激励往往比物质激励产生的激励效果更持久。