给大忙人看的码农翻身记

article/2025/9/21 13:58:02

码农翻身记个人读后感

文章目录

  • 码农翻身记个人读后感
    • 本书介绍
    • 大纲
    • 启发
    • 分享
    • 个人的能力欠缺的地方
    • 书中比较棒的建议

本书介绍

在这里插入图片描述

《码农翻身》用故事的方式讲解了软件编程的若干重要领域,侧重于基础性、原理性的知识。 非常适合刚入门大学生或者 计算机领域入行 一两年左右的新人, 也适合从传统开发到微服务开发的 研发人员。其中有大量的大白话来讲解技术,这样可以通俗易懂的了解 计算机的每个组件的作用和我们平常中java开发的执行流程充编译到部署 日志的设计, 以前我是想了解的时候是一股脑的进入源码中看,最后自己搞晕自己了,看源码是不错的,但是需要深入浅出。文中有大量的系统设计的比较经典的案例,对于我现在2年JAVA开发岗的是如获珍宝啊 👍

在这里插入图片描述

大纲

  • 计算机的世界你不懂

    • 讲述的线程 的执行的过程
    • TCP /IP 通信 和协议
    • CPU 的执行过程从原来的同步到后面的异步这里系统老大这个角色是重点
    • 进程 批处理 多道程序 分块装入内存 分段+分页 程序的装载 线程
    • 硬盘的 内部结构 工作的原理 为什么比内存慢,如何保存数据的,进件的过程 管理空闲快 发明了伟大的文件管理系统 一直使用到今天
    • 键盘 内部划分不同的等级 cpu执行速度那么快,如何快速的执行键盘 从原来的 轮询到现在的 DMA
    • 数据库 李氏查询 到后面的并发问题 在到原子性的问题 (二阶段提交事务) 讲的非常精彩
    • 键盘 内部划分不同的等级 cpu执行速度那么快,如何快速的执行键盘 从原来的 轮询到现在的 DMA
    • 数据库 李氏查询 到后面的并发问题 在到原子性的问题 (二阶段提交事务) 讲的非常精彩
    • Socket 简单的数学题 机器是如何执行的
    • 翻译家的时代 从原来的 二进制的机器语言到 汇编语言–》现在的我们人类 可以轻松可以理解的 高级语音的翻译家的发展史
    • 编程世界的那把锁 了解各种锁 共享变量锁 线程争取的锁 信号量(现在我们的网关中还是在用的)
  • JAVA帝国 (感觉按照JDK的版本 来写的)

    • Java诞生的缘有 从C帝国开始讲起
    • Java Class 从加载到执行到虚拟机 堆和栈
    • 断电的威胁 加盟了数据库 轻量级的 Mapping框架
    • JDBC的诞生 统一接口 数据驱动 工厂模式
    • 阶段提交 事务 引入 MQ
    • 服务端的 JSP 前端代码和后端合并在一起 组合成动态页面 标签库 模版引擎
    • JAVA的 消息队列 从同步到异步 接口的设计 从单一 消费者到提供者 后面是广播模式 配置和代码的分离 (注 现在配置又分离了 我们企业开发中使用了阿波罗 无需发版可以直接灰度发布 或者直接发布配置 基本做的了实时跟换配置)
    • JAVA 著名的动态代理 CGlib 和代理
    • 我们现在 springBoot项目中大量使用的注解@ 原来可不是这样的 XML来配置的 大量的重复工作 现在注解可以是框架的也可以我们自己写的代码汇合成一个注解来使用 高效开发
    • 泛型的由来 从C模仿过来的, 泛型的限制 泛型和继承、
    • 日志的设计 文件存放 日志的级别 日志的所属于的类现在日志的框架
    • 序列化 为什么用序列化 什么场景使用(redis 存放内存中 RPC 调用网络需要传输) XML和 JSON的挑战
    • 锁的问题 枷锁还是不加锁 悲观锁和乐观锁
    • Spring 的本质 运用的经典设计模式 模版模式 装饰者模式 AOP 对象的创建 LOC和DL
  • 浪潮之巅的WEB

    • WEB的起源
    • HTTPS 从http --》 HTTPS
    • 加密 非对称(RSA)和对称加密 这里就要说到 公钥和私钥的概念了
    • 中间人 劫持
    • 密码到 token 登录 授权码
    • JAVA的大事件 从单机到高可用 Nginx tomcat(jetty) redis mq 数据 全面实现集群 故障转移 redis 的简单的介绍了一下 Hash槽 redis 里面的需要学习的地方比较多 主从 集群 到哨兵 但是我个人觉得这里没有加入 zookeeper zk 和 es 的搜索 这样更加的丰富后端了
    • 从SOA 到微服务
    • 框架 什么是框架 半成品的工具到个性化组装上生产 就是一个脚手架 减少重复的造轮子的动作
    • HTTP server 的逆袭
  • 代码管理哪些事情

    • 基本上就是说的是 git的发展历史 从人肉合并代码到协同开发 中间的过长 为什么要推到自己本地的私有库 然后合并远端的分支 再推送 , 放松条件允许有冲突 用户自己解决

    • Maven 的演进之路 轮子的 build 到自动化 原里使用的是java来写的后面为什么改为 XML 个性化的标签 可扩展 可阅读 支持多语言

    • 敏捷开发 到了21世界 敏捷开发 我们正常的是2周一个版本 (常规版)可以有紧急版 还有一些小应用走的是自主发版3天一个版本

      敏捷运动

      困惑

      讨论 集成开发 道 DevOps

  • 我的编程简史

    • Js的逆袭 本质是 前后端的分离的故事就开始了
    • 大概的介绍了一下 Node.Js 单线程的工作
    • 大话了一下 编程语音的 不同😩语言 C Visual Fox Pro C++ 饭碗Java Ruby 如果作者 在介绍一下 Rust Go 其实更好了,造福一下小白用户可以有更多的选择
    • 命令式编程 VS 声明式编程
  • 老司机的精进

    • “开发的潜规则” 局部性原理 简单来说就是 一些定律
    • 缓存
    • 抽象的思维
    • 代码中的分层 (我和我的邻居 web or common or Service or dal )
    • 架构师的总结 保持好奇心 底层计算机的思维 计算机是如何执行的透彻的理解一门技术的本质
    • 漂亮的代码
    • 抽象的能力
    • 技术的领导力 后面往管理层发展的时候 还是不要离开技术
    • 坚持写作
    • 讲一个小故事 来说说 开发中 各种各样的小白到最后的命运 其中不乏我也走过的坑

启发

​ 个人阅读后,作为一个非本专业出生的人更好的了解了计算机的组成原理 个组件的作用 冯诺依曼体系结构 计算机的组成原理 虽然大多数都是皮毛的 但是可以入门和增加学习的兴趣 , 对java 的发展史有更好的了解, 各个的作用和由来为什么会产生这个 ,更多的是思想上的提升。和看待问题的角度多样化,作为一个中高级开发进阶之路值的推荐的。

分享

​ 个人感觉 需要配合专业的技术书来一起阅读,比我是先看 码农翻身记的 遇到不会的,记录下来,但是明白是个什么意思了,后面找对应的博客 -->专业的书,比如虚拟机 有《深入浅出JAVA虚拟机》 java 有些基础知识 《码出高效》《JAVA编程思想》在写代码的时候感觉不够优雅和规范 我看的是 《JAVA开发手册》(阿里的)都是总结的非常不错的,

个人的能力欠缺的地方

​ 这是我个人记录的地方: 需要不断的去学习的

  1. 反射的使用 class.forName(了解,但是开发中使用的太少)
  2. JDBC 的源码 阅读 (内部实现的是i 工厂的方法) (阅读源码) 还有一个线程池
  3. Java Transaction API ( JTA )。两次事务提交
  4. BASE 模型 专门做 事务的处理的 在分布式场景中使用
  5. 动态代理 实现一下 实现接口 InvocationHandler 接口中有个方法 invocation 关键词 proxy
  6. 使用 自定义注解来代替方法 进行切面AOP
  7. <? super T> 和 <? extends T>的区别 (需要带入到demo中)
  8. 乐观锁和悲观锁 和各种锁定 使用场景
  9. redis 的槽口的分配到问题 主机是如何管理槽口的
  10. 敏捷开发 单元测试 junit
  11. 需要的是多练习 数据结构和算法
  12. 知识太容易得到了 ,没有了自己的思考 追究问题的本质 所以需要自己的去思考,梳理知识点

书中比较棒的建议

  • 遇到问题没有准备好,但是有益的可以先 骑虎后下
  • 要有抽象思维
  • 这个总结的非常好, 关于抽象: “指令集是对 CPU 的抽象,文件是对输入 /输出

设备的抽象,虚拟存储器是对程序存储的抽象,进程是对一个正在运行的程序的抽象, 而虚拟机是对整个计算机(包括操作系统 、 处理器和程序)的抽象。

分层的作用: 分层的好处就是隔离变化,在接口不变的情况下,某一层的变化只局限于本层次内 。

如何去写作 大概的模版 —> 当然不是泛泛地记流水账,或者把几个孤立的点罗列在那里,而是要把思路厘清楚,尤其要写出为什么要有这门技术、这门技术解决了什么问题, 然后才是这门技术是怎么使用的 。

  • 分而治之:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e13PMnaU-1583728434865)(D:\文档\临时数据\码农翻身记个人总结图片\clipboard.png)]

  • 写出优秀的代码:

写出漂亮代码并不窑易,需要思路清晰,育良好的编程基础,有优秀的抽象能力,以

及对一门语言的熟练掌握。

  • 如何写出高质量的文章:

你也看了书或视频中的代码 , 知道了这个技术点是怎么使用的,接下来想要写一篇文章,

首先要努力阎明的问题就是“为什么要用 Java 动态代理”。这玩意儿到底要干吗?我已经知道了2能够对一个类进行增强,还是在运行时进行增强的,但是增强一个类有什么用处?我完全可以新写一个类对原有的类进行增强啊?为什么要在运行时进行增强呢? 最好有代码的实现

  • 看待问题的角度不同 看到的东西也是不一样的:

    ​ 学习的深度不同看到的风景也是不同的

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ejZorfhN-1583728434866)(D:\文档\临时数据\码农翻身记个人总结图片\山.png)]

有什么用处?我完全可以新写一个类对原有的类进行增强啊?为什么要在运行时进行增强呢? 最好有代码的实现

  • 看待问题的角度不同 看到的东西也是不一样的:

    ​ 学习的深度不同看到的风景也是不同的

    [外链图片转存中...(img-ejZorfhN-1583728434866)]


http://chatgpt.dhexx.cn/article/I4kj4XDM.shtml

相关文章

码农翻身之编程语言的巅峰

“哇塞&#xff0c;怎么可能这么简单&#xff01;” 当C语言老头儿还是小伙子的时候&#xff0c;第一次见到了汇编&#xff0c;发出了这么一声感慨。 在C语言看来&#xff0c;这汇编的指令实在是太简单了&#xff0c;简单到了令人发指的地步&#xff0c;只有这么几类指令&…

《码农翻身》

大话编程 我是一个线程 我是一个Java class Javascript: 一个屌丝的逆袭 Java:一个帝国的诞生 JSP:一个装配工的没落 TCP/IP 之 大明王朝的邮差 TCP/IP 之 大明内阁 TCP/IP 之 蓟辽督师 CPU 阿甘 CPU 阿甘之烦恼 CPU 阿甘&#xff1a;函数调用的秘密 我是一个网卡 …

码农翻身 各章节链接

大话编程 我是一个线程 我是一个Java class Javascript: 一个屌丝的逆袭 Java:一个帝国的诞生 JSP:一个装配工的没落 TCP/IP 之 大明王朝的邮差 TCP/IP 之 大明内阁 TCP/IP 之 蓟辽督师 CPU 阿甘 CPU 阿甘之烦恼 CPU 阿甘&#xff1a;函数调用的秘密 我是一个网卡 …

读书笔记(一)《码农翻身》

好久都没有写技术博客了&#xff0c;大概有一年左右没有开始写了&#xff0c;原因是自己弄了一个日志博文&#xff0c;当然这不是重点&#xff0c;重点是心态发生了改变&#xff0c;从心里上感觉技术兴趣不大了&#xff0c;后来又发现&#xff0c;并不是对技术失去了兴趣&#…

写给初学者:编程的本质

俗话说&#xff0c;开卷有益&#xff0c; 前几天又翻了下《计算机程序的构造和解释》&#xff0c;看到一个采用牛顿法求平方根的例子&#xff0c;产生了点新的感想&#xff0c;和大家分享下。 平方根的数学定义是这样的&#xff0c;对于一个数x , 如果有另外一个数r, r大于等于…

码农翻身全年文章精华

在码农翻身公众号写了一年多&#xff0c; 最大的体会就是&#xff1a;原创真心不易&#xff01; 每天思考的最大问题就是&#xff1a; 下一篇文章写啥&#xff1f; 在大家的支持和鼓励下&#xff0c;还是坚持了下来&#xff0c; 回头看看走过的路&#xff0c;这一年过得还算…

如何还原保存的训练模型

训练模型的还原 之前把训练模型存盘&#xff0c;实际上保存的是模型里所有变量当前运行的值。这相当于是训练模型的快照&#xff0c;把保存的时间点的所有变量都变成存盘文件保存起来。如果要还原这个模型&#xff0c;我们需要从存盘的模型中把所有变量的值读取出来&#xff0…

VisionPro 9.5中的工具调用和工具组(ToolBlock)调用

VisionPro是Cognex的机器视觉算法软件&#xff0c;通常的做法是使用VS做二次开发。 这里主要分享VisionPro中通过ToolBlock实现一个视觉检测&#xff0c;以及通过调用单个Tool实现一个视觉检测。 最终实现一个硬币数量检测以及坐标位置输出的应用&#xff1a; 使用ToolBlock的…

未能找到任何适合于指定的区域性或非特定区域性的资源

未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“WindowsFormsDemo.UnifiedConfigListControl.resources”正确嵌入或链接到程序集“设备配置助手”&#xff0c;或者确保所有需要的附属程序集都可加载并已进行了完全签名 之前写过一篇这个问题&…

超强Video深度学习开源工具集,来了!

01 导读 广大人工智能算法工程师&#xff0c;有没有感觉到近几年AI程序员数量激增&#xff0c;公司新来的程序员也可以轻松实现图像分类、目标检测等基本深度学习任务&#xff0c;资深算法工程师岗位如何自保&#xff1f;广大内容平台的后台开发者&#xff0c;视频理解&a…

opencv上设置摄像头曝光参数的经验

实际应用中我们需要调整摄像头的参数比如曝光&#xff0c;由于opencv的后端是一般编译是支撑多种插件&#xff0c;详细信息请参考OpenCV: Video I/O with OpenCV Overview&#xff0c;这里引用里面的图&#xff1a; 对于VideoCaputure&#xff0c;后端有ffmpge&#xff0c;V4L&…

VS 配置 openCV 、Python 、Pytorch

VS 配置 openCV 和 Python 1、VS配置opencv1.1 系统环境PATH增加1.2 复制到Sysmtem32下1.3 配置项目1.3.1 包含目录添加1.3.2 库目录添加1.3.3 附加属性依赖项 2、VS配置Python2.1 复制include和libs文件夹复制到vs项目路径下面2.2将你需要调用的python脚本也存放在该目录下面2…

做机器视觉哪个软件好?

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 机器人视觉有接触&#xff0c;但是不多&#xff0c;这里我推荐一下一个详细介绍的视觉软件。 在构建机器视觉系统时&#xff0c;开发人员可以选择众多知名公司的商用软件…

康耐视Visionpro脚本编写教程一

theme: github ​本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 康耐视visionpro脚本编写 visionpro目前来说在工业中的应用时非常的广泛的&#xff0c;而且作为苹果手机厂指定的视觉厂家来说&#xff0c;他的实力是毋庸置疑的。 康耐视VisionPro的优势&…

visionpro联合c#二次开发二

本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 本次康耐视联合C#文档是最后一篇visionpro与C#联合的文章&#xff0c;后续我们将开始c#与halcon的编写或者vidi的文章。 首先我们定义所需要的变量 //定义作业CogToolBlock job;//定义作业VPP的路径string p…

Visionpro联合c#二次开发

本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 本次文章将会在最近半个月一直出关于康耐视的软件的应用的介绍&#xff0c;前期先是vp&#xff0c; 后续如果大家有兴趣&#xff0c;也会…

Segmentation-Based Deep-Learning Approach for Surface-Defect Detection-论文阅读笔记

Segmentation-Based Deep-Learning Approach for Surface-Defect Detection 基于分割的表面缺陷深度学习检测方法 //2022.7.20下午12&#xff1a;49开始阅读笔记 论文速览 文中提出了一个基于分割的两阶段的表面缺陷检测方法。第一阶段包括在缺陷的像素级标签上训练的分割网络&…

论文阅读:Segmentation-Based Deep-Learning Approach for Surface-Defect Detection

PDF\CODE 基于深度学习分割的表面缺陷检测 Domen Tabernik(domen.tabernik@fri.uni-lj.si); Samo Šela; Jure Skvar; Danijel Skoaj(danijel.skocaj@fri.uni-lj.si) part of Springer Nature 2019 摘要:基于机器学习的表面缺陷自动检测已经成为一个有趣且有发展…

Segmentation-based deep-learning approach for surface-defectdetection(基于分割的表面缺陷深度学习检测方法)

论文地址&#xff1a;https://arxiv.org/abs/1903.08536v3 摘要 基于机器学习的表面异常自动检测已经成为一个有趣且有前途的研究领域&#xff0c;对视觉检测的应用领域有着非常直接的影响。深度学习方法已经成为完成这项任务最合适的方法。它们允许检查系统学习通过简单地显示…

康耐视Designer,VisionPro和ViDi匹配版本兼容-关于外观缺陷检测中肯的建议与评价

海康visionmaster-颜色区分任意选 ​康耐视VisionPro传统检测对缺陷类检测很差&#xff0c;差到不能用。单靠康耐视VisionPro深度学习VIDI&#xff0c;据视觉人粉丝很多大厂反馈&#xff0c;现场项目落地的可能性降低不低于20%。 缺陷检测建议&#xff1a;多软件融合使用&#…