现实世界到计算机世界的抽象过程,《代码精进之道:从码农到工匠》读书笔记(思想篇)...

本文主要是介绍现实世界到计算机世界的抽象过程,《代码精进之道:从码农到工匠》读书笔记(思想篇)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

十、技术人的素养

不教条

批判性思维

批判性思维(Critical Thinking)是一种谨慎运用推理去断定一个断言是否为真的能力。它要求我们保持思考的自主性和逻辑的严密性,不被动地全盘接受,也不刻意地带着偏见去驳斥一个观点。

尼尔·布朗写的被誉为批判性思维领域经典读物的《学会提问》,另一本是樊登读书会推荐的《思辨与立场:生活中无处不在的批判性思维工具》

成长型思维

越挫越勇,把每一次失败都当成学习的机会。

具有成长型思维的人相信自己可以通过学习来提升自我,相信学习和成长的力量,相信努力可以改变智力和能力。

我们需要具备成长型思维才能应对工作和生活中的压力,这样在遇到问题时,我们才不会轻言放弃,而是会积极主动地去学习,去寻找解决方案。

结构化思维

结构化思维的定义就是“逻辑+套路”。

所谓逻辑,是指结构之间必须是有逻辑关系的。

组织思想的逻辑只有4种。

(1)演绎顺序:比如“大前提、小前提、结论”的演绎推理方式就是演绎顺序的。

(2)时间(步骤)顺序:比如“第一、第二、第三”和“首先、再者、然后”等,大多数的时间顺序同时也是因果顺序。

(3)空间(结构)顺序:比如“前端、后端、数据”和“波士顿、纽约、华盛顿”等,化整为零(将整体分解为部分)等都是空间顺序。在做空间分解时,要注意满足“相互独立,完全穷尽”(Mutually Exclusive Collectively Exhaustive,MECE)原则。

(4)程度(重要性)顺序:比如“最重要、次重要、不重要”等。

套路是指我们解决问题的方法论、路径和经验。

逻辑是一种能力,而套路是方法论、经验;逻辑属于道,而方法论属于术。二者都很重要,只有熟练地掌握二者,我们才能有更好的结构化思维。

最清晰和实用的结构化表达是“提出问题,定义问题,分析问题,解决问题,最后展望未来”。

5 工具化思维

偷懒也有高低之分,可以分为3个境界。

(1)最差的境界是“实在懒”,拖延不喜欢的任务。

(2)其次是“开明懒”,迅速做完不喜欢的任务,以摆脱之。

(3)最高的境界是“智慧懒”,编写某个工具来完成不喜欢的任务,以便再也不用做这样的事情了,从而一劳永逸。

“硬干”或“苦干”并没有带着光环,而是一种徒劳、低效、大可不必的努力,只会说明你做事情很急切,但并不是在完成工作。人们容易混淆行动与进展、混淆忙碌与多产的概念。

在有效的工作中,最重要的是思考,而人在思考时通常看上去不会很忙。如果和我共事的程序员总是忙个不停,我会认为他并非优秀的程序员,因为他没用最有价值的工具——自己的大脑。

每当你重复同样的工作3次以上,就应该停下来问问自己:我是不是可以通过自动化脚本、配置化,或者小工具来帮助自己提效?

6 好奇心

好奇心是学习的起点,是创新的原动力。我们每个人都应该像小孩子一样保持对知识的渴望,对世界的惊奇。

7 记笔记

首先,做笔记的人基本都是持续学习的人;其次,记录本身也有很多好处。

(1)知识内化:记笔记的过程是一个归纳整理、再理解、再吸收的过程,可以加深我们对知识的理解。

(2)形成知识体系:零散的知识很容易被遗忘,而形成知识体系之后,知识之间就能有更强的连接。

(3)方便回顾:笔记就像我们的硬盘,当缓存失效后,我们依然可以通过硬盘调回,保证知识不丢失。

(1)使用云笔记:云笔记要能在多端使用,要有目录的层次结构、标签和搜索功能。如果有些场合只能用笔做记录,也没关系,回来之后再整理到云笔记上。

(2)归类分组:要定期回顾笔记内容,尽量按照合理的方式对笔记进行重组,形成一个有逻辑关系的树形结构。这样既方便记忆检索,也可以逐渐形成自己的知识体系。对于归于A组或B组都没错的笔记,可以使用标签来辅助分类。

(3)不要复制粘贴:好的笔记最好是自己消化后的总结,而不是简单的照抄。如果有引用和参考,建议把链接也放在笔记下面,方便溯源。

(4)结构化表达:对于简短的内容要重点突出,粗体显示重点部分;对于篇幅较长的内容,最好有目录,这样可以更加结构化地呈现笔记内容。

8 有目标

“你要做一个什么样的人”并不是一个可有可无的次要问题,而是首先要回答的头等大问题。

先想清楚目标,然后努力实现。不管是人生大问题,还是阶段性要完成的事情,都需要目标清晰、有的放矢。

在这个信息爆炸的时代,如果只是碎片化地接收各个公众号推送的文章,学习效果几乎可以忽略不计。在学习之前,我们一定要问自己,这次学习的目标是什么?

9 选择的自由

自由是一种价值观,是一种为自己过去、现在及未来的行为负责的价值观。自由是一种责任,是一种敢于做出选择,并愿意为自己的选择承担后果的责任。

责任感(Responsible),从构词法来说是“能够回应(Response—able)”的意思,即选择回应的能力。

积极主动的人有选择的自由,而消极被动的人往往是被动地接受影响,忘记了自己的主观能动性,忘记了在刺激和回应之间还有选择的自由

但凡成大事者,都能够“处乱世而不惊,临虚空而不惧,喜迎阴晴圆缺,笑傲雨雪风霜”。正因为他们是自己思维的主人,而不是被思维所控制,他们知道不管身处什么样的境地,都有“选择的自由”。

10 平和的心态

首先,我们做事情的出发点必须是善的。其次,“有为的事”是指要认真做事,认真生活;“无为的心”代表一种平和的心态,一种活在当下的智慧。也就是做事要积极,但是心态要放平。

真正平和的人了解自己所有的主观感受都只是一瞬间的波动。虽然疼痛,但不再感到悲惨;虽然愉悦,但不再干扰心灵的平静。于是,心灵变得一片澄明、自在。心灵平静的力量十分强大,那些穷极一生疯狂追求愉悦心情的人完全难以想象。

11 精进

精进就是你每天必须进步一点点!

d0497618a1bb

image.png

巴菲特说:“人生就像滚雪球,关键是要找到足够湿的雪,和足够长的坡。”

但凡能持续学习和精进的人,其结果都不会差。

这篇关于现实世界到计算机世界的抽象过程,《代码精进之道:从码农到工匠》读书笔记(思想篇)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/195637

相关文章

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是

springboot整合gateway的详细过程

《springboot整合gateway的详细过程》本文介绍了如何配置和使用SpringCloudGateway构建一个API网关,通过实例代码介绍了springboot整合gateway的过程,需要... 目录1. 添加依赖2. 配置网关路由3. 启用Eureka客户端(可选)4. 创建主应用类5. 自定

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P