书籍推荐


本文记录了我自己在学习过程中看到的整理清晰或者帮助深刻理解的书籍、帖子等,所以希望记录下来,以供自己查阅(依这个目的来看,本帖应该会持续更新的样子)。

相关阅读笔记记录在我的github仓库

Linux篇

1.Compile、Make和Build的区别:不止适应于编程语言,也适用于Linux环境

  1. 设置Linux环境变量的方法和区别_Ubuntu:讲解非常清晰
  2. Linux的shell命令基础篇(偶尔忘记了可以随时查阅)
  3. 《Linux从入门到精通(第2版)》刘忆智 等编著:是针对Ubuntu和openSUSE进行介绍的书记,要点比较全面,而且清晰易懂,适合入门,能对Linux有基础认识。
  4. 《鸟哥的Linux私房菜 基础学习篇》 鸟哥 著:适合更为全面的Linux知识讲解,适用Linux管理员,和需要Linux有更为深入的运用时查看的一本书,讲解实例系统为CentOS。

    编程语言篇

    python

    1.《Python编程从入门到实践》Eric Matthes 著 袁国忠 译:讲解思路很流畅,实例代码为python3编写,适合入门
  5. 《Python核心编程(第二版)》Wesley J.Chun著 宋吉广 译:基础点讲解的很清晰且全面,例子也足够丰富,适合进阶
  6. 《Python Cookbook(中文版)》David Beazley & Brian K.Jones著 陈舸 译:适合作为手册,专治各种疑难杂症,适合解决项目问题

    C++

  7. 《C++程序设计(第3版)》 谭浩强 著:书中还是有一些错误的,你在敲代码或尝试理解深层机制的时候就能发现,其实还是有废话,也可能是因为我可能不是它的目标人群。对于你上手C++还是有帮助的,而且可以顺便帮助复习C语言。所以如果你不敢挑战《C++ primer》就先从这本书开始也不错,但不要死扣细节,因为书上的细节可能是错的,用来熟悉上手就可以。
  8. 《C++ Primer(中文版)》 Stanley B.Lippman 著 王刚 译。其实我这本书还没读完,但是就其相对更为简洁的语言和更接近工程的知识面来说,它会更适合已经有计算机基础知识和编程基础的人。当你总是忍不住吐槽前面那本书时,就说明你应该选择这本书来学习C++。
  9. 《Effective C++(中文版)》 Scoott Meyers 著 侯捷 译:超级推荐的一本书!!最近准备秋招发现很多面试题在询问关于C++语言特性,甚至C++编译过程的问题的相关解答早就已经被撰写在这本书中。所以书里的建议一边是规范开发的建议,一边也帮助我们理解C++的实现机制,确实是一本好书。

代码基础

  1. 《代码整洁之道》 Robert C.Martin著 韩磊 译:才看到前四章(想要腾出几天时间看书基本是不可能的,都是挤时间看),第一次知道命名规范,怎样的注释是好的,代码应该怎样组织会比较清晰,有过一段时间的实践,确实有改进代码的可读性(就不会写着写着自己开始嫌弃自己的代码)。因此是很好的一本书,其中大部分是Java写的,还能顺便学点新语言。
  2. 《大话设计模式》 程杰 著:几乎看完的一本书(编程语言为C#),不仅包括大概20种设计模式,还把面向对象编程的几大原则也讲的非常清楚。其实了解设计模式主要是为了理解面向对象的好处,可以给以后如何设计出易维护,易扩展的工业级代码打个基础。并且设计模式确实在效率上对开发有一些帮助,所以先了解是好的。
  3. 《大话数据结构》 程杰 著:秋招时几乎人手一本的树,基本上内容和本科的《数据结构》差不多,但是讲解会更加通俗、解释会更丰富一些。并且因为作者自身有工业背景,所以数据结构会结合一些应用场景讲解,能与实际问题更好地联系起来。因此还是很不错的。
  4. 《算法图解》Aditya Bhargava著 袁国忠 译:图像很多非常有利与理解,选取的算法比较精要,除了其中一两章写的不是特别有利于知识框架整理,都写的很好。总体是一本好的入门书,配合python使用,在github上有开源库。但是其中的算法不是很全,对秋招这样的大场合不适合。

git篇

  1. 适合于github的Markdown语法,包含特有语法
  2. 一页有趣的git指南
  3. pro git
  4. 《GitHub入门与实践》 大塚弘记 著 刘斌 译:很详细的教程,又很简明,讲解不罗嗦,包含一些常用但网上不常见的命令(比廖雪峰教程好用)。

    数据库

  5. 《SQL必知必会 》 Ben Forta 著 钟鸣 译:这本书也是很多人推荐给我的,其实这本书很小,总共也就200+页,英文名叫《Sam Teach Yourself SQL in 10 Minutes》…不要信10分钟就能学完,知识点很多,尤其对于从没有接触过数据库的人来说,信息量很大还是需要较长时间来消化的。知识点多而且总结全面,所以书是很不错的。

    网络通信

  6. 《图解TCP/IP》 竹下隆史 著 乌尼日其其格 译:本科看过《计算机网络》,没怎么看懂。这本书毕竟因为图画比较多,然后说理比较形象,因此比较好懂,可以加速理解网络协议和通信过程。

团队管理

  1. 《人件》Tom DeMarco 著 肖然 译 :一本名号很响的书籍,花了差不多12个小时的阅读时间。书里面主要讲什么是好的软件开发团队,如何构建这样一个team,当然这种问题一定是没有方法的,但是作者提出了他们的观察和建议。只要在任意一个项目团队中参与过,都一定能和你的经历match的描述。对我的意义在于更加清楚了解我处在一个什么样的环境中,到什么是一个好的工作环境,什么是一个合适的管理方式,对于我们作为项目团队的一员该如何表现还是有启发作用的,也有一些有趣的观点。当然我不是要做什么管理人才,我只是偶尔换个脑子,看看闲书偷个懒。
文章目录
  1. 1. Linux篇
  2. 2. 编程语言篇
    1. 2.1. python
    2. 2.2. C++
  3. 3. 代码基础
  4. 4. git篇
  5. 5. 数据库
  6. 6. 网络通信
  7. 7. 团队管理
|