2016年度源码阅读总结
序号 | 类别 | 项目名 | 一句话总结 | 读后总结链接 |
1 | android | oschina 开源客户端 | 已读。公司行为的工业级代码,值得一读 | http://blog.csdn.net/a910626/article/details/51445549 |
2 | Animation客户端 | 该客户端是android动画的合集,自己挑选其中的一些效果,动手实现了一下。 | http://blog.csdn.net/a910626/article/details/51614550 | |
3 | coding | 这个项目是深圳的一个公司的开源项目,属于工业级别代码,功能非常完备,代码质量比较高。对我启发比较大:包括基类的设计、网络请求的设计、红点更新的设计、即时通讯的实现方案、缓存的设计等等,很值得阅读和学习。即时通讯它采用的轮询的方式,这种方式虽然比较耗费流量和电量,但是因为它只在聊天页面做轮询,离开这个页面,就会停止轮询,所以也不会耗费太多的流量和电量。不过即时通讯更好的实现方案还是推送,如何在客户端本地建立长连接,然后如何利用守护进程使进程保活,如何设计心跳包,这些才是最好的方案。 | http://blog.csdn.net/a910626/article/details/52535990 | |
4 | SimpleNet | SimpleNet是一个网络请求框架,设计思想与volley一脉相承,剪除了一些模块,方便理解。结构清晰,设计合理,适合学习用。 | http://blog.csdn.net/a910626/article/details/51769368 | |
5 | Volley | Volley是google开源的一个网络请求库,代码优雅,很值得学习。 | http://blog.csdn.net/a910626/article/details/51729847 | |
6 | universal imageloader | 第三方开源图片加载库。代码比较庞杂,自己捋的还不是特别清楚 | http://blog.csdn.net/a910626/article/details/51729860 | |
7 | picasso | 第三方开源图片加载库。代码量相比universal imageloader要少很多。 | http://blog.csdn.net/a910626/article/details/51729862 | |
8 | glide |
第三方开源图片加载库。使用与picasso类似,但是整体设计与picasso差别较大。
picasso和glide的用法非常相似,都是现在比较流行的流式写法,但是他们的实现差别非常大,相比来说glide优势更大,支持gif动图,并且内存缓存是两级的内存缓存,这样内存命中率就更高了,此外glide和网络请求部分可以配置为okhttp、volley,而且glide是完全和activity、fragment的生命周期绑定的,这也是非常非常人性化的设计,这也是android网络框架的独特之处,一般而言android的网络框架都要和界面绑定,比如界面销毁,网络请求取消等等。
| http://blog.csdn.net/a910626/article/details/51729866 | |
9 | EasyApp |
一个综合框架,太过简单
| ||
10 | kjframeforandroid |
一个综合框架,分析参考
| http://blog.csdn.net/a910626/article/details/51850241 | |
11 | FastDev4Android |
比较容易,大致理解并消化了一下。参考了volley的二次封装。此外,该框架引入了recycleview,应该有一定的学习价值,不过目前自己未阅读这块部分。
| ||
12 | T-MVP | 重点学习了这个框架的MVP设计方案,参考了一下 | http://blog.csdn.net/a910626/article/details/51943510 | |
13 | fresco | 图片加载框架 | http://blog.csdn.net/a910626/article/details/52387261 | |
14 | Acache | 文件缓存框架 | http://blog.csdn.net/a910626/article/details/52506736 | |
15 | DIskLruCache | 文件缓存框架 | http://blog.csdn.net/a910626/article/details/52518606 | |
16 | 其他两个app源码 | |||
LRUcache | http://blog.csdn.net/a910626/article/details/51774259 |
2016年度有效技术书籍(需要未来反复阅读)
序号 | 类别 | 书名 | 一句话总结 | 读后总结链接 |
1 | android | android群英传 | 读了2遍,可作为android进阶书籍。 | 博客部分的scroller、自定义view系列、事件分发机制等博文来自于此 |
2 | android开发艺术探索 | 读了2遍,必读android进阶书籍 | 博客部分的scroller、自定义view系列、事件分发机制等博文来自于此 | |
3 | android内核剖析 | 正在读。比较偏底层,进度比较慢。 | http://blog.csdn.net/a910626/article/details/51601528 | |
4 | 深入理解Android内核设计思想 | 未读 | ||
5 | androidstudio实战指南 | 已读。非常全面的androidstudio工具使用指南。 | 未写博客,不过记了笔记 | |
1 | java | 深入理解Java虚拟机:JVM高级特性与最佳实践(第2版) | 读了1遍,java提升必读书籍。 | http://blog.csdn.net/a910626/article/details/52316750 |
2 | java特种兵 | 此书糅合了java的各种高难度知识,暂时停止阅读 | ||
3 | 实战java高并发程序设计 | 一本比较新的专门讲解java并发的书籍,全面、新、通俗易懂,非常值得学习。 | http://blog.csdn.net/a910626/article/details/51900917 | |
1 | 软件工程、架构、设计模式、重构 | 设计模式之禅 | 读了2遍。相关demo都敲了一下。如果你只看一本设计模式的书,那必须就是它了。 | http://blog.csdn.net/a910626/article/details/50638471 |
2 | 设计模式的艺术——软件开发人员内功修炼之道 | 读了2遍。案例多。 | http://blog.csdn.net/a910626/article/details/50638471 | |
3 | 重构:改善代码的既有设计 | 很棒的重构书籍,虽然我们在工作中都在不知不觉的使用了一些重构技巧,但是还是需要系统的学习一下重构,这本完全就是重构的工具书,各种重构手法在上面都可以找到,非常值得一读。 | http://blog.csdn.net/a910626/article/details/51785869 | |
4 | 重构与模式 | 未读,衔接重构和设计模式间非常重要的书籍。 | ||
5 | 代码大全 | 已读,程序员入门圣经。不过略微简单,看的很快。 | http://blog.csdn.net/a910626/article/details/53560237 | |
6 | think in UML | 读完。这本书是之前组长推荐的。通往架构师必读的一本书。有很多非常精华的思想可以在你的项目中得到印证。非常建议阅读。 | 非常重要的书,未写博客 | |
1 |
计算机基础理论
算法、数据结构、组成原理、编译原理、网络、操作系统、编程素养
| 程序员修炼之道-从小工到专家 | 已读,有收获,还需要再读 | 正在写博客 |
2 | 冒号课堂 | 这本书绝对是绝好的,需要再读,写点笔记出来 | ||
3 | 代码整洁之道 | 读了2遍。 | http://blog.csdn.net/a910626/article/details/53560237 | |
4 | 程序员的自我修养-链接,装载与库 | 读了1遍。 | http://blog.csdn.net/a910626/article/details/50760938 | |
5 | 深入理解计算机系统 | 未读重点书籍 | ||
6 | 代码阅读方法与实践 | http://blog.csdn.net/a910626/article/details/51985064 |
2016年度非有效技术书籍(试错,未来尽量不会再读这类书籍)
:
android
编程入门指南:入门书籍。
android
源码分析与设计模式 :
读了2遍。第一遍主要关注设计模式了,源码部分看的不多,第2遍,主要过了一下源码部分。android进阶必读。
android
开发进阶:从小工到专家:
读完。影响较深的是网络框架原理及最后一章的重构。自己结合《
app
研发录》,主要吸收了网络框架设计部分,尝试自己封装了一套
Java
编程思想:
已读,本书非常翻译的非常晦涩,不过很全面,可作为查漏补缺使用
Effective Java
实战
Java
虚拟机
:JVM
故障诊断与性能优化:
已读,相比深入理解
Java
虚拟机,还是建议吧深入理解
Java
虚拟机多读几遍
细说
PHP2:
已读,
php
入门的最好书籍,没有之一
31
天重构速成:
读了
1
遍。这类书籍,其实一本就够。认真多读几遍《重构,改善代码的既有设计》,比读好多本通俗但是内容差不多的数据节省时间也节省脑力,并且专一也是成功的不二法门。
大道至简:
很薄的一本书,体会最深的是作者对软件工程的推崇,以及语言只是工具。重要性一般。
实现模式:一般
TCP/IP 详解卷一:
已读,因为大学学过这门课程。只是大致浏览了一遍,主要是解决自己的问题,重点看平时用的比较多的地方。很多知识如果用不到,即使你看了,你也会忘的。
图解http:
图解
tcp/ip:
已读,因为大学学过这门课程。只是大致浏览了一遍,主要是解决自己的问题,重点看平时用的比较多的地方。我这都是怎么列的书单,很想敲我的脑袋,同一种书籍竟然列的数目超过3本,无法理解,感觉自己在很多事情上看似努力,但是做法并不有效,相当于浪费了很多时间。
代码阅读方法与实践:
给自己阅读代码提供一些参考思路。
全栈增长工程师指南:
一般吧,也可能是自己的见识比较短,其中基本都能看懂,但是涉及一些具体的前端框架等等,还是看不大懂。整体有了一个概念。现在我的看法是,真不知道这个作者也这本书是干嘛用的,感觉阅读这本书完全是浪费时间。
版本控制之道:使用subversion第2版:
简单读了读。这些东西都重在实践。
编程格调:
读了
1
遍。这种编程风格类的书籍,我竟然给自己列了4本,代码大全、代码整洁之道、编程格调、编写可读代码的艺术,这只在集邮吗?其实专攻一本书就够了。
编写可读代码的艺术:
读了
1
遍。与上同理。
专攻一本书就够了。
大话无线通讯:看了目录,目前不需要这本书。
构建之法:现代软件工程。看了目录,虽然我没有阅读,但是认为这本书是新瓶装旧酒,就是把代码大全糅合一些敏捷开发的知识。感觉读好了代码带全,这种书是可读可不读的。
软件设计精要与模式:设计模式的书自己也读了好几本了。问题不是广泛的阅读,而是单点深入思考和应用。
思考软件创新设计 A段架构师的思考技术:看了目录,感觉一般。
2016年技术读书反思:
程序员在专业点上深入学习,其他的好好学习uml、设计模式、编码规范、源码阅读,然后学好英语。然后再认真重学一遍大学的课程。就很厉害了。(当然这是我目前的认知,是有局限的,或许明年后年我就不是这样认为了)
年初的时候,我给自己列了这个读书清单,我在地铁上,周末,晚间都在读这些书,有次,组内的一位高级工程师看到了,对我说:你其实没有必要读这么多书。之前组长也说编码规范这种读一本就够了。我那时,看着书单,挑来挑去,感觉删掉哪一本都很心疼,也没有删掉几本。
现在回头看,我其实八成的时间都在读非重要的书籍。虽然看着效率很高,做了很多事。但是事实上这都是一种假象,更多的书自己其实是读完了就忘了,没有留下笔记文章。只是脑中有个印象而已。这种阅读带来的成长其实是非常非常弱的,因为你一直在读自己本来就知道的,没有难度的学习无法锻炼人。是在浪费时间,自我安慰。
你读书目的是什么?炫耀,自我满足?不是,读书的目的是解决问题,是突破技术瓶颈。所以你应该有效阅读。什么是有效阅读。就是界定问题范围,选择问题领域最简最少的书籍,书籍阅读中应该是感觉艰难的,要反复读反复读。会遇到很多问题。这样才能成长。
那你怎么确定自己选对了书,而不是选错了呢?问行业前辈,看目录,知乎,豆瓣评价,最佳的应该是从最佳的15本书中筛选出3本以内认真阅读即可。
当你感觉过去的自己很傻比的时候,就是你成长了。果然是这样。