关于《码农翻身》一书的读后感以及自己的一些拙见汇总

书籍名称

        《码农翻身》 | 刘欣(@码农翻身) 著 |

文章将以问答的形式进行叙述

1.是从什么渠道接触到《码农翻身》的

        一个工作日的下午,手上的任务基本结束,翻了翻桌上的书和笔记之类的,同事见我在看书,于是向我推荐了《码农翻身》这本书,他跟我简单介绍了下这本书的易读性,以及大概章节,感觉文章的叙述方式蛮有意思的,就借来了

2.用时多久读完

        从同事那里借来以后,到今天看完有大概半个月的时间,因为内容是以第三人称展开的,所以都得比较快,很惭愧没有细读

3.为什么会对此书独有情钟,想要总结读后感

        这是我为数不多的从头到尾读完的,当时同事跟我讲解的时候,随便翻了几页当时就有了这个想法,到今天全部读完以后,感觉是有很多收获的,也想记录下读书心得

4.大致讲一下此书的内容

        总共分为六个章节(内容比例大概为4:4:2:1:1:1),前五章讲的是计算机以及编程方面的基础知识,最后一章是工作以及学习中的提升效率方法

        第一章 计算机的世界

        该部分的内容占比较多,通过第三人称的视角讲述了我们日常使用的电脑在另一个维度的情景,每个零件每个程序都有自己的身份,开篇以一个线程的视角展开计算机世界的宇宙观,结合古时驿站传递消息的背景分析了TCP/IP之间的连接方式和演进史,到后面的CPU(阿甘)的工作原理,再到后面的输入输出设备,从每个零件的视角讲解了我们使用的计算机底层是怎么运行起来的,以及零件之间的工作关系。大致就是专业课四大天书中的《计算机网络》《计算机操作系统》《计算机组成原理》的微宇宙版本,但是没有书上覆盖的这么全面

        第二章 Java的世界

        该部分占比与第一章相差无几,开章从古时帝国的崛起以及殖民统治的环境,以C语言的长时间统治下,Java语言是如何突破重围以及打压并得到大多程序员的拥赖的故事线展开的,介绍了Java语法中常见的一些语法介绍,比如泛型,动态代理,继承,序列化等,并且介绍了与别的中间件的联系,比如数据库连接、消息队列的工作原理,spring注解开发的演进史等。大致就是刚开始学习Java时的路线,从Java基础,面向对象开发,数据库,Spring系列等等粗略的过了一遍

        第三章 Web的世界

        该部分占比只有前两章的一半左右,开章从超链接的形成开始入手,捋了一遍HTTPS数据传送的安全性是如何一步一步演进到全面的,着重讲解了数据库,并且引进了常用的非关系型数据库Redis是如何互相搭配工作的,除了数据库还讲到了Tomcat,Nginx等工具。就像当时出学Java web的时候,自己搭建Tomcat服务器,连接数据库等等在框架没使用之前需要手动操作的步骤,这里有从第三视角讲解

        第四章 代码管理的演变

        该部分占比就少很多,只有第三章的一半不到,开篇也是从第三视角讲解代码的版本管理演变,从最开始的锁定文件避免冲突,到后面的允许冲突,再到后面的微服务管理,阐述了Git等版本管理工具的演变史,一样的而手法,叙述了管理工具Maven的崛起,以及后面敏捷开发和代码重构。这里就是涉及到编码中用到的管理工具Maven以及工作中常用的Git代码管理工具,以及代码重构的讲解

        第五章 编程语言史

        该部分与第四章的占比相差无几,从JavaScript的视角,讲述了如何从草根逆袭到与Java不相上下的过程,通过讲解C语言,Java语言,Python语言,Ruby等语言的热榜交替分析了编程语言世界中的竞争激烈,最后以命令式编程和声明式编程收掉本章的结尾。该部分大致讲解了JavaScript语言从前端语言演变到服务器端浏览器端都可用的过程

        第六章 持续提升能力的愿景

        该部分作为全书的结尾,占比不是很多,开篇讲解程序员的发展道路,以及编码时一些常用的提高效率的技巧,最后以作者对自己的编码经验总结为末结束了全文,全书的最后两页也是教唆我们不要想文中所举的例子一样,”摇摆不定“、”行动的矮子“、”不看书“、”半途而废“

5.有怎样的阅读感受

        首先,文章是以一种新颖的角度来讲解我们认为比较抽象的计算机底层逻辑,可以帮我们更加容易理解平时所学的理论知识,比如计算机网络方面的TCP通信协议的原理、三次握手等,计算机组成原理中讲解的计算机的主要构成以及每个部件在操作系统中发挥的作用,作者通过第三人称的角度将每个零件描绘的有声有色,让充满机械感的计算机也有不一样的生命感

        其次,文章对初入门的程序员也是很友好,因为在读书过程中会给人一种恍然大悟的感觉,“嗷,原来专业书上讲的是这个意思!”,当然,我觉得对于计算机专业的小白来讲也是挺不错的,可以全面的了解自己未来要接触的专业课知识的构成,以及未来从事自己喜欢的开发语言,起到一个启迪的作用

        最后呢,如果以后有机会的话,我希望能静下心来再仔细阅读一遍,因为我始终相信,“温故而知新”,也相信下次读完之后会有更深刻的理解,对我的未来职业规划也是有很大帮助的

6.后续计划

        在第一次接触这种类型的技术文章后,越发觉得这种生动形象的描绘出较为抽象的知识很重要,我也会继续寻找此类书籍,并且遇到比较好的一些也会记录下来,以供大家参考

------------------------------------------------     END    -------------------------------------------------------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/297040.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用opencv的DNN模块做Yolov5目标检测(纯干货,源码已上传Github)

最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的。于是,我就想着编写一套用opencv的dnn模块做yolov5目标检测的程序。在编写这套程序时,遇到的bug和解决办法&#xff0c…

Mac启动时候出现禁止符号

Mac启动时候出现禁止符号 启动时候出现禁止符号,意味着 选定的启动磁盘 包含 Mac 操作系统,但它不是 您的 Mac 可以使用的 macOS 。您应该在这个磁盘上 重新安装 macOS 。 可以尝试以下苹果提供的方法: Mac启动时候出现禁止符号 不要轻易抹除磁盘&am…

2023 最火的是什么? 超维计算 + 神经网络

从chatgpt开始,人工智能进步的步伐似乎势不可挡,但支撑这些程序的人工神经网络遇到了一些重大限制,其他的很难推理但是人类的大脑能够通过类比进行推理,当我们看到新事物时,我们不必生长新的神经元,我们可以…

【python】Python 3.11不支持Tix库

Tix库主要用于扩展Tkinter,但是Python 3.11 Tkinter已经不再支持Tix库。Tix模块提供了一些额外的部件和功能,但现在这些功能已经整合到了Tkinter库中。 一、如果在Python 3.11中想要使用Tix库,但发现它不再被内置支持,可以尝试以…

QCharView使用

QChart是 QGraphicsWidget的子类。 QCharView是QGraphicsView的子类 QCharView概念:title、系列、图标Chart、视图 说明: 需要添加Qt组件charts 在使用QChart或者QChartView之前需要添加宏定义QT_CHARTS_USE_NAMESPACE (其实是使用了命名空间)&#xff…

KVM虚拟化技术

在当今的云计算时代,虚拟化技术已经成为了企业和个人用户的首选。而在众多虚拟化技术中,KVM(Kernel-based Virtual Machine)虚拟化技术因其高性能、低成本和灵活性而备受青睐。本文将介绍KVM虚拟化技术的原理、特点以及应用场景。…

CDMP考试解析:从报名到成功不走弯路

❤️CDMP数据管理专业认证是由DAMA国际于2004推出,是一项涵盖学历教育、工作经验和专业知识考试在内的综合资格认证,也是目前全球wei一数据管理方面权威性认证。 💰考试费用:CDMP的考试费用约为每科2500元。 其他可能的费用&#…

【web】Springboot3 集成 Swagger3

文章目录 Maven 依赖配置类&#xff08;可选&#xff09;访问示例 Maven 依赖 <!--swagger3--> <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.0.2</v…

什么是谐波减速机?日本Harmonic哈默纳科谐波减速机有哪些优点?

一、什么是谐波减速机&#xff1f; 谐波减速装置最早期被叫做“strain wave gearing”&#xff0c;直译过来为“应变波齿轮”。其后被HarmonicDrive Systems 公司大规模商业实用化后&#xff0c;经过二次翻译后&#xff0c;中文名称才将其称为“谐波齿轮传动”。 谐波减速机是…

Ubuntu18 安装chatglm2-6b

记了下Ubuntu18 上安装chatglm2-6遇到的问题。 环境&#xff1a;Ubuntu18.04 V100(显卡) nvcc 11.6 显卡驱动cudacudnnaniconda chatglm6b 的安装 网上有很多&#xff0c; 不记录 了。 chatglm2-6b 我从别的地方拷贝的&#xff0c; 模型也包含了。 遇到的问题&#xf…

C++补充内容--语法篇

这里写目录标题 语法其他语法函数的存储类函数参数默认值格式默认参数位置重载函数的默认参数 指针名与正常指针的自增自减以及解引用与的优先级问题指针的赋值、加减数字、加减指针二维数组中的一些指针辨析输出调用字符指针时 会将该指针以及之后的元素全部输出二维数组未完全…

【Docker】配置阿里云镜像加速器

默认情况下&#xff0c;将来从docker hub &#xff08;https://hub.docker.com )上下载镜像太慢&#xff0c;所以一般配置镜像加速器。 没有账号的注册一个账号并登录 登录之后点击控制台 查看 cat /etc/docker/daemon.json

网络名称解读 -入门5

WAN: Wide Area Network(跨区域&#xff09;&#xff0c;LAN&#xff1a; Local Area NetworkWAN MAC&#xff0c; 用来连接上级网络&#xff0c; LAN MAC&#xff0c; 用于内部网路。 LAN & WAN 3.1&#xff0c;LAN表示子网&#xff0c;通过掩码来筛选子网内主机数量&…

多线程和JVM

一&#xff0c;多线程实现的四种方式 1. 实现Runnable接口 普通实现&#xff1a; public class MyRunnable implements Runnable {Overridepublic void run() {System.out.println("线程执行中...");} }public class Main {public static void main(String[] arg…

Origin无法使用主题管理器相关功能或报错:Err, Save Theme dialog error!

问题描述 在使用origin绘图时&#xff0c;往往需要进行大批量绘制同样类型的图。如果每个图都不断地去修改相关设置&#xff0c;无疑是浪费了许多宝贵的时间。为了提高绘图效率&#xff0c;了解到了主题管理器&#xff0c;可在“工具–主题管理器”找到。 然而&#xff0c;当我…

安科瑞变电站综合自动化系统在青岛海洋科技园应用——安科瑞 顾烊宇

摘 要&#xff1a;变电站综合自动化系统是将变电站内的二次设备经过功能的组合和优化设计&#xff0c;利用先进的计算机技术、通信技术、信号处理技术&#xff0c;实现对全变电站的主要设备和输、配电线路的自动监视、测量、控制、保护、并与上级调度通信的综合性自动化功能。 …

Redis偶发Cannot determine a partition for slot报错问题

Redis偶发Cannot determine a partition for slot报错问题 一、背景二、问题定位1、报错位置2、lettuce定时刷新任务3、本地缓存masterCache先清理后写入的问题 三、解决方案&#xff1a;版本升级 一、背景 线上系统&#xff08;springboot&#xff09;经常报错Cannot determi…

适用于生物行业的生信云平台

随着基因检测技术的不断发展&#xff0c;生物信息云平台在基因检测行业的应用越来越广泛。生物信息云平台是一种基于云计算的技术&#xff0c;可以将基因检测数据存储在云端&#xff0c;并通过数据分析、挖掘等技术手段&#xff0c;对基因数据进行处理、分析和解读。 这种技术的…

【机器学习:余弦相似度 】机器学习中余弦相似度的理解和应用

【机器学习&#xff1a;余弦相似度 】机器学习中余弦相似度的理解和应用 定义余弦距离角距离和相似度 L 2 L_2 L2​归一化欧几里得距离Otsuka–Ochiai 系数属性余弦相似度的三角不等式软余弦测量应用示例扩展GPT图像示例 在数据分析领域&#xff0c;余弦相似度用于度量内积空间…

Hive实战:分科汇总求月考平均分

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、启动Hive Metastore服务2、启动Hive客户端3、创建分区的学生成绩表4、按分区加载数据5、查看分区…