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

书籍名称

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

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

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    -------------------------------------------------------------------

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里后端实习一面面经

阿里后端实习一面面经 项目中使用到了es,es的作用? elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 es中的重要概念? 群集:一个或多个节点…

PostgreSQL的常见错误和解决方法

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 在学习新的东西时,会犯很多的错误,会遇到很多坑。我们在填坑与犯错中不断进步成长。 以下是在学习pgsql中…

Pytorch详细安装过程

1、安装anaconda 官网(https://www.anaconda.com/products/distribution#Downloads)下载,使用管理员身份运行(不使用似乎也没事) 这里选择Just me(至于为啥,咱也不是很清楚) 更改路…

编程基础 - 初识shell

编程基础 - 初识shell 返回序言及专栏目录 文章目录 编程基础 - 初识shell前言一、Linux的路径1、绝对路径2、相对路径3、特殊路径 二、交互式工作1、先联系上shell2、交互式命令 三、执行脚本四、sh和bash的区别总结 前言 shell是Linux内核外的一层壳,是用户与Li…

大数据 MapReduce如何让数据完成一次旅行?

专栏上一期我们聊到MapReduce编程模型将大数据计算过程切分为Map和Reduce两个阶段,先复习一下,在Map阶段为每个数据块分配一个Map计算任务,然后将所有map输出的Key进行合并,相同的Key及其对应的Value发送给同一个Reduce任务去处理…

数据库设计-DDL

D D L \huge{DDL} DDL DDL:数据库定义语言,用来定义数据对象(数据库、表) 简单操作 首先在cmd中进行操作,登录数据库 show databases; -- 以列表的形式显示所有的数据库create database [if not exists] 数据库名称…

[C#]使用DlibDotNet人脸检测人脸68特征点识别人脸5特征点识别人脸对齐人脸比对FaceMesh

【官方框架地址】 https://github.com/takuya-takeuchi/DlibDotNet 【算法介绍】 DlibDotNet是一个开源的.NET库,用于实现机器学习和计算机视觉应用。它基于C库dlib,通过C/CLI封装了dlib的所有功能,为.NET开发者提供了简单易用的API。以下是…

Nacos 持久化及集群的搭建【微服务】

文章目录 一、统一配置管理二、微服务配置拉取三、配置热更新四、多环境共享配置五、Nacos 集群搭建1. 集群结构2. 初始化数据库3. 搭建集群 六、Nginx 反向代理七、启动项目测试 一、统一配置管理 案例练习的时候我们只有两个微服务,管理起来非常简单,但…

el-upload上传文件

需求:选中或拖拽文件后,使用http-request属性实现自动上传,并根据后端传回来的结果显示错误和控制fileList的显示,如果后端返回成功,则文件显示在文件列表处,如果后端返回失败,则文件列表不显示…

Qt/QML编程学习之心得:Timer的使用(22)

Qt中timer计时器如何使用? Timer的创建: void InitTimer(){myTimer = new QTimer(q);myTimer->setInterval(100); // 100msmyTimer->setSingleShot(true); //只运行一次的计时器QObject::connect(myTimer,SIGNAL(timeout()),q,SLOT(onTimeOut()));myTimer->start(…

Oracle分区表

文章目录 A. varchar2类型时间字段(20240102)分区实战1. 表要不要分区2. 将已经存在的表改造为分区表(时间字段,varchar2类型)3. 增加分区3.1 增加分区3.2 置换分区,不会复制索引,不要用这种语法建表,这是专门为置换分区用的3.3 分…

SonarQube 漏洞扫描

SonarQube 漏洞扫描 一、部署服务 1.1 docker方式部署 #安装docker curl -L download.beyourself.org.cn/shell-project/os/get-docker-latest.sh | sh yum install -y docker-compose #进去输入:set paste可以保证不穿行 [rootlocalhost sonar]# vim docker-compose.yml v…

java基于SSM的游戏商城的设计与实现论文

基于SSM的游戏商城的设计与实现 摘 要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前相关行业对于游戏信息的管理和控制,采用人工登记的方式保存相关数据,这种以…

【C++】内存对齐

本篇文章介绍C中的内存对齐,后续介绍C的union和C的variant的时候,需要用到这部分的知识。 占用内存 先回忆下C各个数据类型占用的内存大小: int:所占内存大小:4byte 32bit;char:所占内存大小…

x-cmd-mod | zuz - 压缩或解压文件

目录 简介首次用户子命令x zuz zx zuz uzx zuz uzrx zuz ls 相关链接 简介 zuz 为 x-cmd 中的必用模块之一,提供压缩与解压文件的功能。 x z 就是调用 x zuz z,可将目标文件压缩根据后缀名成指定格式,x uz 则可以解压任何格式的压缩包 首次…

四个模型建模及数据分析整理(基于Titanic数据集)

目录 介绍: 二、数据 2.1引用数据 2.2检查缺失数据 2.2.1手动检查缺失数据 2.2.2查看某一个特征值为空数据 2.3补充缺失数据 2.3.1盒图 2.3.2手动用均值填补缺失数据 2.3.3手动用类别填补缺失数据 三、数据分析 3.1男女生存比例 3.2男女生存数 3.3船舱级…

ROS学习笔记(11)进一步深入了解ROS第五步

0.前提 我在学习宾夕的ROS公开课的时候发现,外国的对计算机的教育和国内的是完全不一样的,当你接触了外国的课程后回头看自己学的会发现好像自己啥也没学。我这里可以放出来给大家看一下。 1.Python and C 2.Python PDB Tutorial:Python Deb…

PyTorch|构建自己的卷积神经网络

如何搭建网络,这在深度学习中非常重要。简单来讲,我们是要实现一个类,这个类中有属性和方法,能够进行计算。 一般来讲,使用PyTorch创建神经网络需要三步: 继承基类:nn.Module 定义层属性 实现…

动态规划(不同路径1,不同路径2,整数拆分)

62.不同路径 力扣题目链接(opens new window) 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。…

手机上连网络转接app,电脑连接手机,共用网络转接app的办法

方法一,(不推荐) 因为太简单了所以写一下 电脑安装MuMu模拟器,之后安装网络转接app,这个模拟器设置了从电脑上安装app和,安卓与电脑同步文件夹功能,实现文件共享。所以直接用就可以了。 方法二…