《Java特种兵 下册》这本书一直没出,至上册出版近1年以来,每周会有很多小伙伴发私信或邮件问起我下册出版的事情,纵使目前有很多无奈,小胖还是初步决定准备写下册。
对于1年多没有出下册,在这里给大家说下原因:
1、下册的手稿早就有,几乎和上册一起出来的(都在2年前动笔开始写的),原本这本书也没有分上下册,是因为字数和页码的限制才有上下册之分。但拆分上下册后,小胖对下册不太满意,打算重写下册,所以暂时就没有出。
2、虽然小胖对下册不满意,但一直没想清楚到底那里不满意,加上近1、2年的工作越来越忙,就很少有时间去关注这个事情。
3、这本书的写法比较随性,因为也是工作之余来写,里面偏啰嗦和反复的话比较多,因此受到很多高手们的集体吐槽,我一直没想清楚如果下册还是这样会是什么样子的。
4、这1、2年的工作,我自己也对很多下册所提到的一些内容有了认识上的变化,所以我一直认为可能有些下册的内容我自己也没太想清楚。
5、下册写技术性的东西相对偏少,即使有,也更多是偏于理论,不会有太多上册那样的代码Demo。也就是针对的人群不太一样,也许和不同人群的期待也有所不同。
6、出于出版社的发行量,上册还有很多存货在出版社,所以如果写不好,对他们的利益也不太好,因为出版社也有编辑和运营等也需要拿到业绩。
7、小胖近2年的身体变得有点不太好,可能和有些时候疯狂工作有关系吧,最近小胖得了“痛风”,脚很痛走不了路,这病也很难治。
不论如何吧,有很多原因,所以近一年多以来一直没时间和精力来重写下册,因为写书需要投入很多思考和精力来做,也需要为书中所写的每一句话负责。
想要重启下册的原因:
1、最大的原因应该就是每周收到小伙伴们的一些期待吧(通过邮件、私信、博客等方式吧),虽然我不清楚下册是否能达到你们的期望,但如果我不写,似乎对不起这些小伙伴了。
2、小胖看得出来,这种写法还是适合不少的人群的,甚至于在很多大公司的书架和书库也出现了身影,作为公司员工学习的书籍,小胖还是觉得很欣慰。
3、在写法上,小胖不敢说有太大突破,不过应该可以比以前稍微精炼那么一丢丢,因为这一年多以来,小胖自己也能感觉到有所提升,呵呵。
4、有些下册原来的见解没太想清楚的地方,小胖在这一两年中通过积累,也有更多的认识,这些认识或许可以分享给大家。
5、和出版社初步沟通了下,他们也希望我出了上册后把下册也出了。
关于时间点:
1、准确的时间点小胖现在无法给大家,因为给了也不会准,小胖最少要痛风病好一点才会开始动笔,如果不出意外会在国庆前开始写下册,如果有最新情况小胖会更新到博客中。
2、开始动笔后只要不遇到什么大的意外,小胖希望是4-6个月内改完原来的手稿,然后交给出版社,一般交给出版社后需要1-3个月review、审核、出版的过程。
下册内容(下册的内容小胖):
下册内容在其它博客里面有所标注,但由于事隔一年多,所以小胖有很多知识的认知也有所变化,所以内容上也会有做一些调整。
1、设计方面内容依然会写,小胖依然用自己的方式告诉大家怎么样去设计,当然小胖会改很多内容,设计也会涉及到代码设计、软件架构设计、产品设计、交互设计等或许我们会有所探讨。
2、实现方面会写得比较杂,坑、产品与项目、交互体验。再简单谈谈项目中的形形色色。
3、扩展篇,依然会谈集群、分布式两块,但这两块并不是一本书可以讲清楚的,所以小胖只是带大家入个门,当然会提到一些简单的例子。技术量化这块,小胖会简单提到一些理论知识为大家提供参考,如操作系统、网络。当然也会涉及到一些技术成本和时机的探讨。
目录及进度更新中(最后更新于2015-10-21)
设计篇
第1章 代码及软件架构设计 (目录基本确定,编写中...):
1.1 接口及抽象类
1.1.1 接口无处不在 (完成于2015-10-09)
1.1.2 抽象类是接口的“好基友” (完成于2015-10-09)
1.1.3 设计者角度思考问题 (完成于2015-10-13)
1.2 抽象代码的小例子
1.2.1 从一个星座计算开始 (完成于2015-10-21)
1.2.2 简单的解压缩处理封装 (编写中。。。)
1.2.3 登陆体系对接的逐步复杂演变
1.2.4 使用不同的主页
1.2.5 小结(根据实际情况可删除)
1.3 扩展框架的小技巧例子
1.3.1 Web容器的Listener动态指定
1.3.2 通过Spring动态指定Filter
1.3.3 WEB任意代码位置得到属性文件
1.3.4 动态指定校验逻辑
1.3.5 扩展及总结(根据实际情况可删除)
1.4 通用模块组件化
1.4.1 WEB常见组件化例子
1.4.2 工具组件
1.4.3 JS组件扩展封装
1.4.4 Webscoket封装
1.4.5 其它业务组件抽象
会话、任务、队列、通信、连接、线程、中间件、存储体系、工作流、安全.....
1.4.6 封装的服务化及标准化
1.4.7 意义与总结(根据实际情况可删除)
1.5 业务模块化
1.5.1 深入业务背景
1.5.2 业务之间的关系
1.5.3 业务模块化细节
1.5.4 学习开源组件模块化
1.6 代码分层
1.6.1 WEB常见代码分层
1.6.2 组件代码分层
1.7 重构
1.7.1 重构的目的和时机
1.7.2 日常快速局部化重构
1.7.3 模块化局部重构
1.7.4 应用产品重构
1.7.5 产品体系重构
1.8 拆分(根据实际情况可能与重构合并)
1.8.1 拆分的目的和时机
1.8.2 局部代码级拆分
1.8.3 模块剥离
1.8.4 系统剥离
1.9 本章小结
第2章 产品设计
第3章 交互设计
实现篇
第4章 代码坑坑碎碎念
第5章 实现思路碎碎念
第6章 实现是兢兢业业的工作
第7章 团队中的事情
扩展篇
第8章 集群&分布式基础引导
第9章 云
第10章 运维