我的书单

My reading list

Posted by Chinsyo on August 18, 2019

在最近两个月遇到新的问题和挑战时,我花了很多时间甄别需要怎样的知识和技能去应对,然后不辞辛劳的收集资料和书单。诚然,买书和读书是两件相关性并不强的独立事件,我一度难以理解正版图书、音乐、电影和软件的付费习惯都没有养成的消费市场为什么在知识付费面前表现出空前的积极性。直到后来读到一句话「人们付费的不是习得知识这个结果,而是付费这个动作带给他们习得知识的错觉」,大意如此。

整理书单才发现近两年人文社科等和本职工作无关的类目极少阅读,技术类书籍版次更新频繁,豆瓣书评往往样本不足,发出来书单供大家参考。

首先是两本和编程无关的设计书籍。

  • 《平面设计中的网格系统》,购入这本书是抱着帮助我 Sketch 设计 UI 时对布局做到了然于胸的目的,这本书质量挺高,奈何着重的是出版物排版,和我抱着相同目的的读者不建议作为入门。
  • 《配色设计原理》,不算一部大块头的书,实践性也比较强。主观上感觉不如李涛老师的 PS 高手之路讲解的浅显。 不排除隔行如隔山我的甄别能力跟不上书籍的深度,请谨慎参考。

其次是两本建议避免踩坑的书籍。

  • 《iOS开发指南:从Hello World到App Store上架》这本书的有效内容集中在图示的具体操作内容。初学 iOS 时购入,即使在当时看来内容也过于浅显并且不够系统。
  • 《编写高质量代码:改善 Objective-C 程序的61个建议》,题为 Objective-C 却有一个专门的章节介绍 Swift,并且专业词汇翻译不准确。将「Block 引用实例属性时不要出现循环引用」翻译为「用块引用其所属对象时不要出现保留环」让人摸不着头脑。

剩下的书单没有明确的排序原因。

  • 《C Primer Plus》,作为我的编程启蒙书籍现在仍然会时常翻阅,质量很高。
  • 《C陷阱与缺陷》和《C专家编程》,公认的C语言进阶三本推荐读物之二,另一本是《C和指针》。两本书内容上有小部分重叠,对于有C语言编程实践的开发者是不可多得的进阶读物。
  • 《反欺骗的艺术》,出于对信息安全感兴趣购入,同系列的还有《反黑客的艺术》和《反入侵的艺术》。主要讲解社会工程学(出版年份较早,译为社交工程),启迪性不错,作为兴趣读物。
  • 《汇编语言(王爽)》,和《反欺骗的艺术》同为清华出版社出品。出于学习软件逆向购入,豆瓣书评超9分,引入了「知识屏蔽」的独创思想,让整个学习过程非常的顺畅又收获满满,强烈推荐每一个从事编程工作的阅读。
  • 《Pro Git》,考虑到本身电子版免费并且是手册类,所以淘宝购入的影印版。阅读体验一般,适合作为手册查阅。
  • 《Java技术手册》,又是一本手册类的读物,出于学习 Android 开发购入。内容涉及了 Java8 的 lambda 表达式,但同时也包括了 GUI 开发和 JS 交互等不常用的部分,适合作为入门读物。
  • 《Android 编程权威指南》,出于学习 Android 开发购入,内容翔实条理清晰,主观的评价要高于《第一行代码》,顺便一提 Big Nerd Ranch 的其它作品质量也都很高。强烈推荐。
  • 《Python数据分析与挖掘实战》和《Flask Web 开发》,出于学习 Python 购入,两者印象都不深。更建议以《笨办法学Python》或《Python核心编程》作为入门,如果明确的想学习Python数据分析或Python Web开发值得购入。
  • 《编程珠玑》与《编程珠玑(续)》,出于学习算法购入。通过讲故事、提问题的方式展开,习题偏难,不时会翻阅。
  • 《编程之法:面试和算法心得》,某次面试后购入,编程界的《五年高考三年模拟》,书是好书,看不进也是真的看不进。
  • 《数据结构与算法:C语言描述》,如果说上面是《五年高考三年模拟》那么这一本就是考试大纲,想学好算法,读这本就够了。
  • 《七周七并发模型》,讲解了其中语言不同的并发模型,包括锁模型、actor模型、coroutine等,一技傍身不多余。
  • 《重构》和《代码整洁之道》,两本神作。前者教你写出好的代码来完成工作,后者教你写出好的代码来艺术创作。买就完了。

老本行iOS的书单。

  • 《Objective-C程序设计》,个人愚见:iOS开发的难点始终不在于Objective-C,而在于Cocoa框架、XCode编辑器和iOS系统给你的限制和能力。随着Swift的日益成熟已经没有专门买一本书来学的必要了。吧(心虚)。
  • 《Objective-C编程之道:iOS设计模式解析》,23个设计模式和Java的面向对象实现有很强的关联性,所以不建议通过这本书学习设计模式。比如适配器模式就没感觉哪里适合用,了解生产者消费者模式等倒是有助于写出更加结构化的代码。
  • 《Objective-C高级编程:iOS与OSX多线程和内存管理》,如果iOS书单只保留一本,我会选择这一本。强无敌。
  • 《高性能iOS应用开发》,不错的进阶读物,比如以前没意识到耗电量和流量对用户体验的影响,建议结合WWDC的相关Session阅读。
  • 《iOS应用逆向工程》,这个领域开辟鸿蒙的读物,读完给人跃跃欲试的兴奋感。不过内容对于现在的系统版本可能有些过时。
  • 《精通iOS开发》,广度和深度都不错,尽管我已经忘记了这本书有哪些独有而以上书单不具有的知识点。

一些不便归类,拓展视野的书。

  • 《MySQL必知必会》,内容精要但足够完备。非常值得入手。
  • 《代码大全(Code Complete)》,极其详尽的讲解了如何设计程序、编写程序、测试程序。书名翻译不准确(译者孟岩说的),其实是从编码到完成的意思,介绍了表驱动法等很有实践意义的内容,示例代码采用C#。
  • 《集体智慧编程》,示例代码采用Python,内容很棒。浅显易懂的解释了如何通过编程实现推荐算法、聚类算法等,强烈推荐。
  • 《编译器设计》和《两周自制脚本语言》,学习编译原理很好的教材,实践性强,前者比龙书对新手要友好地多。
  • 《编码:隐匿在计算机软硬件背后的语言》,非常非常好的一本书,软硬件都有涉及,正在努力啃画满电路图的后半本。
  • 《有趣的二进制》,一位日本作家的逆向工程书籍,内容精要,语言幽默。适合作为入门的兴趣读物。
  • 《图解HTTP》,适合新手进阶的一本书。内容精要,深度一般,后续可以读RFC和《TCP/IP详解》深入学习。

买了还没到的书。

  • 《软件调试 卷1硬件基础》
  • 《格蠹汇编 软件调试案例集锦》

到了还没读的书。

  • 《逆向工程核心原理》
  • 《密码学原理与实践》
  • 《Python黑帽子》
  • 《Android安全攻防实践》
  • 《Android软件安全与逆向分析》
  • 《九阴真经 iOS黑客攻防秘籍》(这名字真是够了……)

读了还不错的书。

  • 《人月神话》
  • 《黑客与画家》
  • 《大教堂与集市》

转载请注明原始出处 我的书单 © 晨晓 | Chinsyo