最早从我在 Segmentfault 开始写技术文章起,不知不觉近三年过去了,咨询和催我出书和读者逐年递增,在 2019 年算是达到一个高峰。当然,综合考虑下我也是一直拒绝的,觉得火候还不够。
直至 2019.09 月,polaris 主动找到了我,说有事情想找我商量,本着 “如果你在纠结一件事情做还是不做,不如先做了看看结果,至少不会后悔” 的想法,更何况是长期被 Ping,因此我一口答应下来,故事自此开始了。
本书不直接介绍 Go 语言的语法基础,内容将面向项目实践,同时会针对核心细节进行分析。而在实际项目迭代中,常常会出现或多或少的事故,因此本书也针对 Go 语言的大杀器(分析工具)以及常见问题进行了全面讲解。
本书适合已经大致学习了 Go 语言的基础语法后,想要跨越到下一个阶段的开发人员,可以填补该阶段的空白和进一步拓展你的思维方向。
本书针对常见的项目类型,主要细分为 5 + 1 板块,分别是命令行、HTTP、RPC、Websocket 应用、进程内缓存以及 Go 中的大杀器。
同时我们在项目开发、细节分析、运行时分析等方方面面都进行了较深入的介绍和说明,能够为 Go 语言开发者提供相对完整的项目实践经验,而如果深入阅读第六章的章节,更能够为未来各类问题出现时的问题排查提供一份强大的知识板块。
如下为本书的思维导图概览:
常规的列目录未免太无趣。我想不如说说从我个人的角度,所看到读者们在近 3 年来是如何阅读/实践我的实践系列文章的,其面向的读者群体是完全一致的。希望能够从另外一个角度告诉你,应当如何阅读这本书,尽可能的效益最大化。
首先,图书,买来要读,而与实战结合的图书,势必需要实践,实践最常见又分为脑内思考和上机实践:
而在持续的交流中,可以发现至少会延伸出以下几类深入层次的不同:
通过上图中 “七层金字塔” 的理解,我们不难发现其对于实践项目的理解和应用已经不再是单单这个项目,而是有了更深远的意义,抽象一下,对照着著名的 “学习效率金字塔” 来看:
在单纯的 “阅读” 时,其基本处于 “被动学习” 的阶段,而单进入阅读并实践时,已经转为了 “主动学习”,且绝大部分的读者做完实践后,表示 “嗯,实践完,挺好的,有所得”。
这时候就会进入到一个新的阶段(分叉点),绝大部分读者在做完后,会纠结 ”接下来要做什么“:
有部分读者会停滞,也有部分读者会转入 “转教别人/立即应用” 的阶段,也就是普遍的在企业内部进行标准化的使用,又或是开源项目,据此得到更一步的深入实践和提高,更大的吸收差距也在于此。
当然,这一切都要基于前面的 “1”,你得先买了书,读了书,接着就是你的选择和创建机遇的能力了,不同的路线效益自然不一样。
在《Go语言编程之旅:一起用Go做项目》写作中后期,作为 2020 年的煎鱼,我回顾了 2018、2019 年的煎鱼所写的文章,在现在看来发现多多少少都有些瑕疵。再对比本书,在同类主题下,写出的内容更具知识结构化和实战意义,且能做出更优的选题抉择,确实变化了。
因此我也在这里正式向你推荐本书,希望能够给所有 Go 语言爱好者带来更大的技术价值和切切实实的项目实践经验。
后续有任何问题或建议也欢迎随时来交流。
有关注我的小伙伴应该会发现,我之前突然退了很多个微信群,并且停止了博客的更新,也较少在社区里冒泡了。其实本质上是为了给写书让路,希望尽可能的把业余时间都聚焦在写书上。
这时候又会有另外一个问题,那就是写书,是一件非常长耗时的事情,没有任何的外界反馈,因此我严格做了一系列的 todolist 和时间节点的管理,围绕着自己的生活作息设置了一系列闹钟作为信号量提醒自己。
基本是吃饭、睡前构思结构、想灵感,下班回到家一坐下就开始写内容。当然,我也经常走火入魔一想到好的灵感就激动的掏出手机记在工具上,免得第二天大脑重置后丢失了数据,那就很可惜。
最终在长期的坚持下自然而然也就完成了这本书的写作。
非常感谢 polaris,在艰难的情况下依旧完成了本书的编写。感谢博文视点的编辑安娜,基本从不催更。感谢曹大、无闻、杨文、傲飞、大彬、晓东的推荐词或 Review.
我还记得当时曹大的书出版时,因为种种原因,我还立下过 ”绝不写书” 的 flag,和晓东在深圳湾一号吃自助餐时立过 “绝对不会放弃,一定会写完” 的 flag,果然计划赶不上变化,flag 该折折。
当然,最该感谢的还是我司的研发负责人,当年把我从个小角落里筛了出来,否则也不会有这一切的开端了。