美文网首页程序员杂项
从嵌入式到互联网-非典型程序员的个人书单

从嵌入式到互联网-非典型程序员的个人书单

作者: EddyLiu2017 | 来源:发表于2017-03-18 12:29 被阅读784次

    从嵌入式到互联网

    我是06年进的大学,从大二的时候参加电子设计,大三的时候进入电子设计的校队,并参加了09年的全国大学生电子设计竞赛,但遗憾的是只拿了四川省的一等奖。整个排名下来,在我们队的前一名就是国二,当时负责硬件的队友比赛结束都掉了眼泪。由于学校的原因,电子设计和机器人是学校在当时非常重视的竞赛,选拔和培训机制也比较完善。在我的记忆里电子设计竞赛学校从来都是全国的第一名。也正是这样的原因导致自己形成了一个非常错误的观念:硬件和嵌入式最难,最牛逼。什么互联网之类的无非是做做网页,连高中生都搞的定,数学之类的也就只能用来搞研究了。

    13年研究生毕业,期间在微软亚洲研究院实习。毕业后经历了传统的嵌入式公司,之后进入了国内Top3的互联网公司,现在回过头来看10年前的自己,当时的想法是多么的片面和无知。嵌入式的进入门槛确实相对要高些,但跨过门槛之后,会发现技术不分高低贵贱,只是方向和领域不同罢了。互联网技术虽然入门简单,但随着需求和规模的变化和增长,技术门槛也会发生指数级别的上升,而数学在其中又扮演着至关重要的角色。

    认识的转变除了工作环境的变化之外,读书也发挥了很大的作用,下面来分享下从嵌入式到互联网我这个非典型程序员的个人书单(过程中读过的书远不止文中罗列的内容,一些质量不高的书目在此略过)

    书单

    汇编

    汇编方面除了《微机原理》和《计算机组成原理》的课程学习外,自己也单独买过汇编的书籍,但总的来说都收获不大印象也不深刻。真正对汇编有深刻的理解是在实际的工作中。工作需要在一个没有MMU的控制器上实现Bios、Bootloader、App三个独立的运行空间,当时的解决方案是手动编写两级中断向量表。自此之后对汇编不再有恐惧的感觉。所以,很多时候实践是最好的学习方法。

    C语言

    C语言方面只使用了谭浩强的那本《C程序设计》。虽然这本书在网上被吐槽的很厉害,但因为当时自己年少无知,加上时间宽裕,整本书看了三四遍,同时,书上的例子也都自己手动敲过一遍(高中基本没接触过电脑,打字都要对着键盘边看边打,所以,测试例子就当做练习打字了),所以,整体下来这本书也基本够用。

    C++

    《C++ Primer Plus》

    《Effective C++》

    《C++ 标准程序库》

    Java

    《Java核心技术》

    《Effective Java》

    《深入理解Java虚拟机》

    Python

    《Python基础教程》(当“字典”使用吧)

    HMTL5

    《HTML5权威指南》(当“字典”使用吧)

    设计模式

    《大话设计模式》

    《重构》

    编译链接

    《编译原理》(龙书)

    《程序员自我修养-链接、装载与库》(正和这本书的名字一样,我觉得每个程序员都应该读一下)

    操作系统

    《自己动手写操作系统》

    《嵌入式实时操作系统 ucOS II》

    《无线传感器网络操作系统 TinyOS》(内容基本是官方文档的摘抄,但国内关于TinyOS的中文资料确实不多)

    计算机网络

    《图解HTTP》

    Linux

    《鸟哥的私房菜》

    《嵌入式Linux应用开发完全手册》(书名感觉有些low,但韦东山的作品确实经典,尤其是他的视频)

    《Linux内核完全剖析》(通过这本书才真正理解了实模式和保护模式、段页式管理、内核态和用户的切换实现,而不是停留在枯燥的概念上)

    《Linux内核设计与实现》

    《Linux内核源代码情景分析》

    《Unix环境高级编程》

    Android

    《疯狂Android讲义》(入门经典)

    《Android开发艺术探索》(估计现在变成面试宝典了)

    《Android群英传》

    《Android框架揭秘》(这本书比较老,但对于开始理解Android的系统框架还是挺有帮助的)

    《深入理解Android内核设计思想》

    《Android系统源代码情景分析》(可能功力不够,一直都读不动。感觉更适合作为“字典”来使用)

    后台服务

    《Java Web整合开发王者归来》(Java EE的经典之作)

    《后台开发:核心技术与应用实践》(C++后台)

    《自己动手写网络爬虫》(基于Java的)

    分布式系统

    《大型网站技术架构》

    《Hadoop权威指南》

    算法与数据结构

    《数据结构(C语言版)》(对于常用的数据结构都有对应的C语言实现)

    《编程之美》

    《算法导论》(坦白的将这本书来来回回尝试阅读了两三次,但每次都是读到一半就读不下去了,期间还看了MIT的公开课。最终还是觉得这本书当做“字典”来使用更合适)

    《进军硅谷》(内容基本都是LeetCode的原题,可以先刷题再看书)

    机器学习

    《机器学习》(周志华)

    《机器学习实战》(基于python的基础实现)

    《Python机器学习及实践:从零开始通往Kaggle竞赛之路》(基于Python库实现)

    《统计自然语言处理》(内容严谨、全面)

    《TensorFlow Machine Learning Cookbook》(Tensorflow入门超棒的资料,但目前好像只有英文版)

    《集体智慧编程》(Simons大神推荐的图书)

    其他

    《这就是搜索引擎》

    《浪潮之巅》

    《数学之美》

    《沸腾15年》(互联网的编年史风格跟吴晓波的《激荡三十年》很像)

    《淘宝技术这十年》

    书单可能有遗漏,后面会慢慢再补充完整。

    个人博客和Github

    博客:caiquanliu.github.io

    github:github.com/CaiquanLiu

    相关文章

      网友评论

        本文标题:从嵌入式到互联网-非典型程序员的个人书单

        本文链接:https://www.haomeiwen.com/subject/egdunttx.html