分享我的书架:一个五年程序员的学习观

Arduino烧录引导程序Bootloader遇到问 avrdude: Device signature = 0x000000 (retrying)烧录引导程序出错。Reading | ####### Arduino 烧写Bootloader遇到的问题。 阅读详情

 

 

去年写了一篇文章《一个工作3~4年程序员的年度学习计划》,里面列出了一些计划阅读的书目。一年过去了,进度很一般。不过也许这个计划本身就有问题。

今天看了李开复发的一篇微博,很有感慨:

“天下古今之庸人,皆以一惰字致败。天下古今之才人,皆以一傲字致败。 -- 曾国藩”

我是一个庸人,去年浪费了很多的时间,今年要更加努力的学习了。

回到今天的正题。去年以及前些时候为了我的学习计划倒是收集了很多书目,同时我也负责我们研发部门买书,所以买了很多非常好的书,今天和大家分享。

1、  C语言提升

《c和指针》

《c缺陷和陷阱》

《c专家编程》

这三本书我在很多的文章中都提过,是一个初级C程序员必看的三本书,同时也是我们公司应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习。


2、  C++语言提升

Effective C++:改善程序与设计的55个具体做法》

《More Effective C++:35个改善编程与设计的有效方法(中文版)》

《C++沉思录》

《C++Templates中文版》

《深度探索 C++ 对象模型》

《泛型编程与STL》

我是一个由C转向C++的程序员,所以从来没有系统的学习过C++的语法,往往是用到的什么学习什么。如果要系统入门,《C++ primer》倒是不错。上面的几本书,我正在读的是第一本,打算这两个月可以学完《effective c++》和《more effective c++》,之后再更深一步学习。当然,这里的学完只是把书看完,做个笔记,要完全的理解书中的内容还需要进一步的实践。


3、  设计类

《代码大全》:这是我非常喜欢的一本书,非常适合工作2~3年的人精读。我在一篇文章中专门做过推荐。

《重构-改善既有代码的设计》

《代码整洁之道》

《实现模式》

《程序员应该知道的97件事》

这几本书一般讲的是函数以及更低层次的设计。《代码大全》完完整整的读完过,而且做了很多的笔记,获益良多。《重构》就不必说了,其他几本书前面大致看了一下,也非常不错,计划有时间要好好学习一下。


4、  架构

《软件体系结构的艺术》

《领域驱动设计:软件核心复杂性应对之道》

《软件架构师应该知道的97件事》

《企业应用架构模式》

《面向模式的软件体系结构卷1:模式系统》

《软件架构设计》

《架构师需要知道的97件事》

我对这一块比较陌生,这也是我今年的学习重点。《软件架构设计》这本书我从头到尾读过,对软件架构也只是建立了一个整体的印象。后面这一块的学习我会和模式的学习结合起来。首先的学习目标是《面向模式的软件体系结构卷1》,之后是《分析模式》《企业应用架构模式》《领域驱动设计》。


5、  敏捷开发

《测试驱动开发》

《敏捷软件开发——原则、模式与实践》

《Scrum敏捷项目管理》

《硝烟中的Scrum和XP——我们如何实施Scrum》

《敏捷软件开发》这本书我学习了“原则”这部分,对敏捷软件开发有一个大致的了解。其他的书籍对我更像一个参考书。目前还无法安排出大量时间系统学习。


6、  模式

《Java与模式(含盘)》

《实现模式》

《企业应用架构模式》

《分析模式 可复用的对象模型》

《反模式:危机中软件、架构和项目的重构》

《设计模式》

《面向模式的软件体系结构卷1:模式系统》

上面讲架构的时候说过,模式的学习要和架构结合起来。当然,这是说的更高层次:架构的模式。《实现模式》是面向函数的,《设计模式》是面向对象体系的。《设计模式》我从头到尾看过,但是还需要在看一遍,当时读的时候经验有限,理解的不是很透彻。现在看肯定会有新的收获。


7、  思想类

《变革中的思索——张亚勤解码创新》

《技术领导之路——全面解决问题的途径》

《创新赢天下:九大商界领袖谈创新》

《软件随想录:程序员部落酋长Joel谈软件》:这本书里面的文章都非常不错。

《华为研发》:把它放在这里似乎有些不妥。

《黑客与画家》

《UNIX编程艺术》

《代码之道》

这些书可以锻炼一下思想力。我比较喜欢的是《软件随想录》和《代码之道》,比较期待的是《黑客与画家》。


8、  之美系列

《团队之美》

《架构之美》

《代码之美》

这三本书都是选择一个主题,然后找一些世界级专家来按照这个主题写一篇文章,所以这几本书的系统性不强(但并不代表书不好)。可以把它放在手边,有时间就读一章,和大师对对话。


9、  开发语言

《PHP 6与MySQL 5基础教程》

《PHP与MySQL程序设计(第3版)》

《Ruby for Rails 中文版》

我的第一工作语言是c/c++,第二工作语言是python,业余时间工作语言是PHP。上面的书还少python相关图书,正在补充,也正在学习。

 

10、linux/unix

《深入理解LINUX内核》

《深入Linux内核架构》

《UNIX环境高级编程》

《Linux内核设计与实现》

《链接器和加载器》

《Linux高级程序设计》

《ARM嵌入式系统开发:软件设计与优化》

《UNIX编程艺术》

这些书大多是我的一些参考书,《UNIX编程艺术》除外,它是一本很特别的书,值得好好阅读一下。

另外,我一直想抽时间研究一下linux内核。


11、管理类

《卓有成效的管理者(典藏版)》

《管理的实践(珍藏版)》

《高效程序员的45个习惯:敏捷开发修炼之道》

《卓有成效的管理者(典藏版)》这本书我从头到尾读过,也做过笔记,这是一本非常好的书。


12、算法

《算法导论》

《编程珠玑》

这可以说是我的软肋。第一本书看不懂,第二本书还没有看。要努力啊。

 

上面的分类是我大致的划分,可能不够科学。但是用来组织我的书单应该绰绰有余。

另外,上面的书,有很多内容可能会重复,这需要读的时候自己根据具体情况取舍了。也可能有些书买不到,不过应该可以找到电子书。

最后,说一下我对读书的一些看法:

1、  有些书必须要精读,而精读的时候,必须要做笔记。

2、  选择读书的时机也很重要,如果你没有一定的实践和基础,读一些书可能是一件非常痛苦的事情。这个时候,要停下了。如果你对某方面的知识有非常强烈的渴望或需求,这个时候是最好的时机。

3、  开发实践过程中的学习效果最好。

4、 专注。分为两个层面。第一个层面是要在一个大段的时间(比如90分钟)内专注,这样可以提高学习工作效率;第二个层面是长期的专注,及在一个长的时期内(比如,一个季度,一年)要专注于某一领域,这样才能才能在某一领域内有积累和突破,不至于沦落为事事皆知但事事不精的泛泛之辈。我目前专注学习的是c++,之后是模式与架构。

5、在专注的基础上扩大自己的知识面,要了解当前IT技术正在发生哪些变化。

要做个“T”型IT人:既有深度,又有广度。  

 

原帖地址:http://blog.youkuaiyun.com/chgaowei/archive/2011/04/05/6303597.aspx

纯js 3D书架 炫酷吊炸天的3D书架 不用不知道 一用吓一跳 立即下载

相关推荐

小程序云开发项目私房书柜

小程序云开发项目 · 私房书柜

程序员从业5年的心路历程

这五年里,我经历了从新手到熟手的转变,从茫然到坚定的心路历程,也见证了技术的飞速发展和行业的巨大变革。通过这些经历,我更加深刻地认识到,一个优秀的程序员不仅要有扎实的技术功底,还要有良好的团队协作和沟通能力。随着项目的推进和时间的积累,我逐渐掌握了公司所需的技术栈,并开始在项目中承担更多的责任。在他的帮助下,我逐渐找到了自己的节奏和方向,开始对这个行业有了更深入的了解和认识。我设定了短期和长期的目标,并制定了相应的计划和行动。随着时间的推移和经验的积累,我逐渐对自己的职业发展有了更清晰的认识和规划。

weixin_47772925的博客 669

嵌入式存储入门:Emmc控制器与设备工作原理全解析(附Synopsys/Arasan架构图)

本文深入解析了嵌入式系统中Emmc控制器与设备的工作原理,重点剖析了其作为CPU与存储设备桥梁的核心架构。通过对比Synopsys和Arasan两家主流IP厂商的控制器设计,详细阐述了DMA引擎与FIFO缓冲模块如何协同工作以提升数据传输效率,并提供了从硬件PCB布局到驱动调试的实战指南,帮助硬件工程师与开发者优化系统性能。

weixin_29248653的博客 148

工作五年后的程序员,一般怎样了?

但过了半年,这些人多少能掌握排查问题的技巧,多少参与过OOM或分布式组件等问题的排查,多少也开发了缓存等高并发方面的活,这样的话,出去面个高级开发应该不成问题,假以时日,估计升级到架构,应该也是时间和体力方面的问题。其实做这个程度,别说高级开发,估计架构师相关的技能都能掌握不少。4 在上述基础上,看些脱离业务但和项目基础设施有关的技术和组件,比如如何搭建集群,如何扩容和迁移机器,如何解决高并发层面的数据库性能问题,以及如何应对限流熔断和服务降级等问题,如果可能,多参与些诸如压测等性能调优等的工作。

Sebdhsk的博客 1763

USRP N210与MATLAB连接实战:从驱动安装到信号接收

本文详细介绍了USRP N210与MATLAB连接的完整流程,涵盖驱动安装、网络配置、支持包安装及信号接收实战。重点解决了安装过程中的常见错误和硬件连接问题,并通过MATLAB代码示例展示了如何配置接收器、处理信号数据,帮助用户快速实现从设备对接到信号分析的全过程。

blue的专栏 821

5分钟搞定!用L型匹配电路优化窄带天线性能(附Smith圆图实操)

本文针对窄带天线阻抗匹配难题,提供了一套5分钟快速解决方案。通过详解L型匹配电路的核心原理,并结合Smith圆图这一射频工程师的“瑞士军刀”,手把手指导如何选择拓扑、计算元件值并进行实际调试,旨在帮助硬件工程师高效优化天线性能,实现最大功率传输。

yyy34的博客 444

arduino烧录引导程序错误

avrdude: Version 6.3-20190619 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\to...

lincs111的博客 4582

逆向分析美团外卖mtgsig3.0签名算法:从抓包到算法还原实战

在移动应用开发与安全领域,API接口签名是保障数据传输完整性与身份验证的核心机制。其基本原理是通过特定的算法,将请求参数、时间戳等数据与密钥结合,生成唯一的签名串,服务器通过验证签名来识别请求的合法性。这项技术的核心价值在于防止数据篡改、重放攻击和未授权访问,是构建安全客户端-服务器通信的基石。在实际应用中,签名算法广泛应用于电商、社交、金融等各类App的接口保护场景。本文以美团外卖App的mtgsig3.0签名为具体案例,详细拆解了其生成逻辑。通过结合Frida动态调试与Jadx静态分析,文章深入探讨了如

weixin_29325515的博客 1248

Java后端书架来啦!都是Java程序员必看的书籍?

封面是在武汉租的房子里的一个小书架,基本都是今年买的书,所以看着不是很多。每次看完一本书之后,我都会带回家里,避免占位置以及搬家的时候太麻烦了。这篇文章推荐的都是我所读过的优秀书籍,部分...

singwhatiwanna 2064

01-SA8155P 冷启动强制进入EDL模式

冷启动EDL模式

静虚待令,有物混成 3095

lammps教程:in文件结构详解以及一个比较实用的in文件模板

lammps软件只是一个求解器,没有可视化的前处理和后处理软件,所有的命令只能通过代码的方式输入到求解器进行求解计算。 所有的命令都被写到一个称为“in”的文件里,对于初学者来说,熟悉in文件的编写是一个难点。 in文件其实就是一个文本文档,也没有要求文件名或者后缀名中必须带有“in”字样,用任何文件名均可运行。 in文件里的代码是按照编写的顺序进行解释执行,对于大部分命令行来说,前后顺序影响并不是很大,但是,对于一些命令,在执行过程中需要某个参数,则这个参数的定义和计算必须写在命令执行之前。 例如,对晶体

lammps_jiayou的博客 2万+

分享我的书架:一个五年程序员的学习观(转载)

去年写了一篇文章《一个工作3~4年程序员的年度学习计划》,里面列出了一些计划阅读的书目。一年过去了,进度很一般。不过也许这个计划本身就有问题。 今天看了李开复发的一篇微博,很有感慨: “天下古今之庸人,皆以一惰字致败。天下古今之才人,皆以一傲字致败。 – 曾国藩” 我是一个庸人,去年浪费了很多的时间,今年要更加努力的学习了。 回到今天的正题。去年以及前些时候为了我的学习计划倒是收集了很多书目,同时我也负责我们研发部门买书,所以买了很多非常好的书,今天和大家分享。 1、 C语言提升 《c和指针》 《c缺陷和

joy427的博客 173

运维系列【仅供参考】:微信版本过低 使用CheatEngine绕过

微信版本过低 使用CheatEngine绕过

weixin_54626591的博客 2136
上一篇: 我太过爱你.从没有想过被爱的感动
下一篇: 分享我的书架:一个五年程序员的学习观
伊娃码力
博客等级 码龄16年 52粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值