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

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

十、技术人的素养

不教条

批判性思维

批判性思维(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

相关文章

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放