文章千古事、得失寸心知

2023-05-16

文章千古事、得失寸心知

这些年,读过的技术经典图书

成晓旭:欢迎转载

 

        行千里路、读万卷书;历数十项目、编百万代码。十来年风雨IT路,上百本沉寂专业书。

        佛说:一花一世界、一叶一菩提;书对于人,可以牵强附会为:一师一宗、一书一扇门良师开宗立派,一道相传;好书常常为读者开启通向人生另一端的智慧之门。

        关于阅读,总离不开阅读的时间;人会随着时间的推移发生工作环境的变化。通常情况下,所读的书籍也会随之变化;反之也行,先有意识地选择性阅读一些书籍,储备未来需用的知识。书籍、时间和职业发展之间的关系,我习惯用下图来表示:


        关于软件研发领域,书籍、阅读和职业发展,粗浅总结几点:

        1,不要一直只看技术书籍,更不要只看软件开发方面的书籍

        2,开发语言,只需要选1本纯语言基础方面的书,深入学习就足够了;第二本通常都是多余的

        3,各个应用领域的专项书籍,通常是不需要买书看的,那些号称最权威的数据库开发指南、网络编程实战、多媒体开发秘决,基本上全是出版社自我吹嘘的宣传字眼,不具参考价值;认真参与项目跟项目经理好好学,找前辈的方案、设计文档、代码,多沟通讨论,比看任何书都有效;

        4,  技术基础牢固以后,一定要去系统学习软件工程、需求、分析、设计、测试等环节的其他知识;即使只想做技术牛人,也不要只会编码;要编好的代码,架构、设计、甚至测试,都是考核代码好坏的标准;

        5,  不看书学习的架构师,常常是刚愎自用、鼠目寸光的架构师。软件系统架构,发展到今天,我们能遇到的绝大部分应用,基本上都有成型的、甚至成熟的技术解决方案和系统架构模式;因此不要被自己狭隘的项目实战经验所禁锢,认真去学习前辈们在多年的失败经历中沉淀下来的稳定、可靠和成功的软件架构的方法论、原则、模式和实例;

        6,  尝试去看看管理方面的书,及时压根就不想做管理者。没做过领导者的人,永远不会是好下属,起码从来没站在管理者的角度看过问题,难以理解软件项目研发过程中技术之外的很多事情。

   

      初步整理这些年看过的具有代表性、对个人的职业发展历程产生显著影响的书籍,并附会个人的一点浅薄的认识和阅读时真实的体会。文章千古事、得失寸心知,相信每个人读者对同一本书籍都会有自身独特的体会和特定的感受,因此本文内容仅供参考、不作书评。

    这些年,读过的技术经典图书:

序号

类型

书名

书籍概况

阅读体会

1

语言类

Delphi4开发大全

全面介绍语言、基础结构、以及在UI、数据库、网络等方面的应用技术。毕业后自学的第一门语言。

大而全的书,注定浅尝辄止;学任何语言都没必要买这类书1999年此书175元,那时猪肉5元,现在15元,此书折现约525元,贵!

2

语言类

C++编程思想

讲的不是C++,而是面向对象;不是C++语言的思想,而是用C++进行面向对象程序编程的思想。基础不扎实反对直接看此书,免得把很多概念搞混了,以后很难理得清。

建议先有一定的C++语言基础后,在看此书;或者用C++开发一年年半载后再看

3

语言类

Windows核心编程

规规矩矩讲win32程序设计原理,对进程、线程、内存、文件、堆栈等的应用说得很透彻;是90年代学windows编程必修之课

没有IDE,让现在大部分软件工程师写一个windows的计算器,可能觉得无从下手?当然,也没这个必要。推荐做大型服务器、高性能、高效率、高IO等特殊系统的软件工程师参考此书

4

语言类

JAVA2编程指南

只介绍Java语言语法、基础数据结构的书籍,作者讲课的思路非常好,循序善诱、逐层深入,很容易接受。本人学Java第一本书,那时《Java Programmer Lanage》还没出版。

此书一直有后续版本,是初学Java语言入门级推荐书籍之一,比《Java Programmer Lanage》更浅显易懂,书中实例非常不错。

5

语言类

The Java Programming Language

只介绍Java语言语法、基础数据结构的书籍,后面有章讲Java标准包,非常不错,刚学的时候,天天在公交车上背。本人学Java第二本书,

如果说Java语言只看一本书就能真正入门的话,非此书莫属

6

语言类

J2EE without EJB

Spring之父在spring尚未完全成熟之前,关于传统J2EE产品开发经验的总结和方式。本书阐述的观点奠定了spring的雏形,也敲响了sun EJB企业级应用系统架构的丧钟。

彻底颠覆对J2EE开发认知、摒弃EJB开发Java应用系统的转折之作;此前看了一堆开发J2EE企业级应用系统的所谓实战专家的专著。建议学spring都先看看此书,以便知道为什么会有spring,以及spring所解决的核心问题。

7

语言类

Spring框架高级编程

中规中矩介绍基于spring开源框架进行J2EE企业级应用系统开发的操作指南。与《J2EE without EJB》相比,已无超越的理念和精妙的技巧出现。

在我看来,spring本身仅仅是作者在特定领域的个人设计经验和项目经历的升华与提炼;尽管第一次看《J2EE without EJB》为作者巧妙的技巧折服。

8

语言类

代码大全2

软件编码全过程“奇技淫巧”的大杂烩。其中能找到很多经典设计模式的影子、经典开源框架的核心技术雏形、经典编码、设计原则的示例、典型违背编码、设计原则的教训实例,各种各种,不一而足。

有了这一本书,其他关于编码技巧的书都可以省了。3点体会:1,此书不适合初学者阅读,没2,3年实际编程经验者慎入;因为感同身受才能刻骨铭心。2,此书不是编程地图,不能按图索骥;不建议遇到问题再去书里找答案;3细心阅读,静心体会;顿悟作者这些编程招式的精髓,变成自己对软件领域计算问题认知,慢慢忘掉这些技巧,方能无招胜有招。看完此书,本人正式从软件江湖退隐。

9

系统类

Windows操作系统原理

第一本以windows操作系统为蓝本讲解计算机操作系统的书籍,介绍windows进程管理,内存管理、存储管理等内容。对于进程间通信、软件性能优化或底层驱动开发,都有较好的参考价值。

任何软件开发人员都应该深入了解你的软件所运行的操作系统,应用软件总是运行于操作系统之上;熟悉操作系统底层会让你在软件开发过程中少遇到很多莫名其妙的问题。(运行于各自虚拟机上的软件可例外,此时需要去深入了解虚拟机。道理一样)

10

系统类

windows网络编程技术

基于Windows操作系统,以windows API为依托,比较全面的介绍网络通信的基础知识;此书为我在通信领域做数据采集、网络服务器打下坚实的基础。

此书需具备windows编程、网络通信、TCP/IP协议等基础知识;此书内容很基础,适合于各种做数据传输、网络通信、流媒体服务、P2P等领域的工程师打基础;网络通信技术不复杂,更多的是系统架构和设计经验

11

领域类

应用密码学

第一本关于系统讲解各类加解密算法及原理的密码学专著;那几年一直从事信息安全产品研发,此书是第一本真正带我进入信息安全领域的领路人,很遗憾没有在这个领域坚持做下去。记得当年去图书馆借一本关于密码学方面的图书,必须单位出证明,并承诺不得扫描、照相和复印,才能借出来。

从事数据加解密或信息安全领域,自己编写加解密算法,需看此书。提醒一下,要看懂此书并不需要特别高深的数学基础,业界很多人喜欢讹传数学对应用领域的算法、密码学的重要性。

12

领域类

密码编码和密码分析:原理与方法

系统介绍密码学起源、方法、目标和信息安全传递方法的里程碑式专著;并对主流的对称、非对称的密码学体系进行了全面的总结和对比分析;后半部分对主要的信息破解手段进行了详细的阐述。彻底颠覆我对密码学和信息安全的认知,初窥密码学门径之作。

致力于从事信息安全传输、数据分析、协议破解和简单密码破译,可认真研究此书;深入理解信息转换、混淆和逆向分析、还原的思路和数学原理,定能在信息安全领域登堂入室。彻底看懂此书数学水平越高越好。

架构类、工程类待续……

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文章千古事、得失寸心知 的相关文章

  • SLAM中姿态估计的图优化方法比较(g2o/Ceres/GTSAM/SE-Sync)

    编辑 深蓝AI 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 后台回复 SLAM综述 获取视觉SLAM 激光SLAM RGBD SLAM等多篇综述 xff01 本文是对论文 A Compari
  • 多传感器融合 | 详解PointPainting和MVP

    作者 谷溢 编辑 深蓝AI 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心技术交流群 后台回复 多传感器融合综述 获取图像 激光雷达 毫米波雷达融合综述等干货资料 xff
  • 2022最新!视觉SLAM综述(多传感器/姿态估计/动态环境/视觉里程计)

    目录 摘要 视觉SLAM算法的发展 相关综述 VSLAM 设置标准 传感器和数据采集 目标环境 视觉特征处理 系统评估 语义等级 基于主要目标的VSLAM方法 目标一 xff1a 多传感器处理 目标二 xff1a 姿态估计 目标三 xff1
  • 自动驾驶路径规划五大常用算法(Dijkstra/人工势场/图搜索等)

    编辑 希骥智能网联汽车 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 规划控制 技术交流群 后台回复 规划控制综述 获取自动驾驶 智能机器人规划控制最新综述论文 xff
  • 论文汇总!物体级SLAM(定位/建图/重定位/回环检测)

    作者 黑桃K 编辑 汽车人 原文链接 xff1a https zhuanlan zhihu com p 570562248 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心
  • VSLAM与VIO的3D建图,重定位与世界观综述

    作者 紫川Purple River 编辑 汽车人 原文链接 xff1a zhuanlan zhihu com p 592225457 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自
  • 3D激光雷达-IMU的无目标外参标定

    点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 全栈算法 技术交流群 后台回复 相机标定 获取超详细的单目双目相机模型介绍 内外参标定算法原理视频 xff01 摘要 xf
  • 力扣刷题路线-c++学习笔记(1)

    1 数组 数组的在内存空间的地址是连续的 xff0c 所以我们在删除或者增添元素的时候 xff0c 就难免要移动其他元素的地址 如下所示 数组的元素是不能删的 xff0c 只能覆盖 可以看出在C 43 43 中二维数组在地址空间上是连续的
  • 最新Benchmark | 4Seasons:面向挑战场景的自动驾驶视觉SLAM基准

    点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 SLAM 技术交流群 后台回复 4Seasons 获取论文和数据集下载地址 xff01 xff01 xff01 1摘要 论
  • 20余家自动驾驶规控岗位技能知识点梳理

    规划控制是自动驾驶的核心模块之一 它的主要作用是 xff1a 无人车在感知到周边环境的基础上 xff0c 结合车辆自身的目的地 当前位置以及地图信息 xff0c 对车辆自身做出最合理的决策动作 决策后 xff0c 车辆会规划一条新的轨迹 x
  • 视觉大模型 | SEEM:比SAM更强!

    作者 派派星 编辑 CVHub 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 语义分割 技术交流群 Title Segment Everything Everywher
  • 自动驾驶之多传感器融合--相机与IMU的同步

    作者 韦韦道来 编辑 韦心雕AI 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 多传感器融合 技术交流群 后台回复 多传感器融合综述 获取图像 激光雷达 毫米波雷达融合
  • STM32---BOOTLOADER

    1 什么是Bootloader Bootloader是硬件启动的引导程序 xff0c 是运行操作系统的前提 在操作系统内核或用户应用程序运行之前运行的一段小代码 对硬件进行相应的初始化和设定 xff0c 最终为操作系统准备好环境 2 Boo
  • apt切换为国内镜像

    ubuntu debian切换为国内镜像 span class token comment 备份原镜像文件 span span class token function cp span etc apt sources list etc ap
  • opencv: error while loading shared libraries问题的解决

    ARM 开发板运行程序 xff1a error while loading shared libraries lib libopencv core so cannot open shared object file No such file
  • Ubuntu20.04双系统/boot扩容的一种方法

    目录 1 压缩卷 xff08 如果磁盘存在足够 未 分配空间则不需要 xff09 2 创建新的磁盘分区 3 挂载新的磁盘分区到boot 1 压缩卷 在Windows下使用磁盘管理 xff08 开始 gt 右键 gt 磁盘管理 xff09 工
  • 【C语言】输入一个5位数,依次输出各个位的数字

    输入一个5位整数 xff0c 依次输出各个位的数字 span class token macro property span class token directive keyword include span span class tok
  • 【C语言】四种方式使用C语言输出杨辉三角前10行

    杨辉三角第一列和对角线为1 xff0c 其他的计算公式为 a i j 61 a i 1 j 1 43 a i 1 j 实现杨辉三角输出有多种方式 xff0c 本文提供其中的四种实现方式 方式一 span class token macro
  • ros与stm32串口通信

    一 安装ROS串口驱动 安装ROS串口 sudo apt get install ros melodic serial 安装完后在一个新的终端里输入 roscd serial 如果能够正常cd到 opt ros melodic share
  • 【python】pyQT5中ComboBox的用法

    pyQT5中ComboBox的用法 常用的方法 1 添加下拉选项 span class token comment 添加一个下拉选项 span self span class token punctuation span comboBox

随机推荐

  • 【树莓派】解决树莓派4B不连接显示器开机后,用VNC无法显示画面 (cannot currently show the desktop)问题

    树莓派4B不连接显示器开机后 xff0c 用VNC无法显示画面 xff08 cannot currently show the desktop xff09 原因 树莓派没接显示器时 xff0c 执行的是默认分辨率 xff0c 这个分辨率VN
  • 【C语言编程练习】输入一个正整数,逆序输出各位数字

    题目 输入一个正整数 xff0c 逆序输出各位数字 例如输入 xff1a 568 xff0c 输出8 6 xff0c 5 题目解析 首先输出个位数字 xff0c 需要提取出来各位数字 xff0c 对于一个正整数来说 xff0c 提取个位数字
  • 【C语言编程】古典问题:韩信点兵

    题目 韩信有一队兵 xff0c 他想知道有多少人 xff0c 便让士兵排队报数 xff1a 按从1至5报数 xff0c 最末一个士兵报的数为1 xff1b 按从1至6报数 xff0c 最末一个士兵报的数为5 xff1b 按从1至7报数 xf
  • 【ChatGPT】使用ChatGPT进行51单片机程序编程体验

    背景 最近ChatGPT大火 xff0c 笔者尝试使用它进行了51单片机编程尝试 ChatGPT是一种由OpenAI训练的大型语言模型 xff0c 具有强大的自然语言处理能力和生成代码的能力 使用ChatGPT进行51单片机编程 xff0c
  • 【C语言】两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。排出比赛名单

    题目 两个乒乓球队进行比赛 xff0c 各出三人 甲队为a b c三人 xff0c 乙队为x y z三人 已抽签决定 比赛名单 有人向队员打听比赛的名单 a说他不和x比 xff0c c说他不和x z比 xff0c 请编程序找出三队赛手的名单
  • 【C语言】输出所有的水仙花数

    题目 输出所有的水仙花数 xff0c 所谓的 水仙花数 指一个3位数 xff0c 其各个数字的立方和等于该数本身 例如 xff0c 153是水仙花数 xff0c 因为153 61 1X1X1 43 5X5X5 43 3X3X3 思路 1 首
  • 【C语言】switch语句中的各case及default间顺序关系

    题目 xff1a switch语句中各个case和default出现先后次序不影响程序执行结果 本题目的答案有一定的争议性 xff0c 因为对于switch语句中 xff0c 各case和default的顺序是否对程序执行结果有影响还是取决
  • js实现节流和防抖

    代码实现 防抖 xff1a 就是指连续触发事件但是在设定的一段时间内中只执行最后后一次 xff0c 例如 xff1a 设定1000毫秒执行 xff0c 当你触发事件了 xff0c 他会1000毫秒后执行 xff0c 但是在还剩500毫秒的时
  • publisher与subscriber话题的消息类型md5sum不一致问题

    ERROR 1604235557 591296096 Client range vision fusion 01 wants topic detection vision objects to have datatype md5sum au
  • Ubuntu18.04下px4+MAVROSM+QGC地面站安装教程及避坑指南

    下面安装建立在已经安装好了ROS的基础 xff0c 未安装ROS的请先按照下面教程安装ROSROS 安装教程 目录 一 安装px4 toolchain 二 编译PX4固件 三 mavros and mavlink 安装 四 修改gazebo
  • Linux实用工具/软件

    一 录屏 Kazam 参考 xff1a Linux截图和屏幕视频录制软件Kazam 简书 二 播放器 VLC 推荐理由 xff1a 跨平台播放器 xff0c 支持H264等高清算法压缩格式 h264压缩比是200 1 xff0c 一般的第三
  • Ubuntu 安装boost

    boost是扩展的C 43 43 标准库 查看电脑默认安装的boost版本 xff1a dpkg S usr include boost version hpp 很多程序需要boost xff0c 但是版本可能不是ubuntu系统默认安装的
  • linux+python自动备份数据库

    linux 43 python自动备份数据库 1 在linux上安装mysqldump xff1a yum y install holland mysqldump noarch 2 编写python脚本 xff1a usr bin pyth
  • python基于Tkinter实现学生信息管理系统

    一 功能点介绍 xff08 毕设设计 xff09 1 添加学生成绩 xff1a 管理员可以在系统中添加学生的成绩信息 xff0c 包括学生姓名 学号 课程名称 成绩等 2 删除学生成绩 xff1a 管理员可以根据学生的学号或者姓名删除学生的
  • 感想京东

    xfeff xfeff 现在网上购物已经是家常便饭 xff0c 大多数人们都已接受了网购这种方式 xff0c 而能够给人们提供网购的网站也很多 xff0c 而我从好几年前就开始在京东网购物了 xff0c 因此京东商城的每一次发展 xff0c
  • 2014年度总结

    时光转眼即逝 xff0c 从还是懵懵懂懂的孩子一下子变成了已步入社会的工作者 回首2014年 xff0c 有欢乐 xff0c 有泪水 xff0c 有付出 xff0c 有收获等等 xff01 想起2014的自己还是一个刚步入工作岗位才半年 x
  • 将tensorflow训练好的模型移植到android

    将tensorflow训练好的模型移植到android上 说明 本文将描述如何将一个训练好的模型植入到android设备上 xff0c 并且在android设备上输入待处理数据 xff0c 通过模型 xff0c 获取输出数据 通过一个例子
  • FreeRTOS 启动第一个线程的步骤

    FreeRTOS 启动第一个线程的步骤 从main函数开始 初始化完成之后 通过SVC指令的中断函数来 初始化成需要的寄存器值 才能正常运行线程 1 启动第一个线程函数prvStartFirstTask 调用prvStartFirstTas
  • C#委托与事件的本质区别

    C 委托与事件的本质区别 从定义上说 xff0c 委托被编译器编译成一个类 xff0c 所以它可以像类一样在任何地方定义 xff0c 而事件被编译成一个委托类型的私有字段和两个公有add 和 remove 方法 xff08 有点类似于属性的
  • 文章千古事、得失寸心知

    文章千古事 得失寸心知 这些年 xff0c 读过的技术经典图书 成晓旭 xff1a 欢迎转载 行千里路 读万卷书 xff1b 历数十项目 编百万代码 十来年风雨IT路 xff0c 上百本沉寂专业书 佛说 xff1a 一花一世界 一叶一菩提