你好,我是郝林。

专栏到这里,就要结束了。

差不多在半年以前(2018年的第二个季度),极客时间的总编辑郭蕾找到我,说想让我写一个关于Go语言的技术专栏。

我那时候还在轻松筹担任大数据负责人,管理着四个技术团队,每天都非常非常忙碌,看起来并没有多余的精力去写这么一个在时间和质量上都有着严格要求的专栏。

我们俩也是老相识了,所以,我当时斩钉截铁地说:“写不了,没时间”。当然了,要是连续熬夜的话或许可以写得出来,我写《Go并发编程实战》那本书的时候就是这么干的。

可是,我在2017年年末已经因为急性胰腺炎惊心动魄过一回了,需要非常注意休息,所以我想了想还是决定小心为妙。

也许是凑巧,也许是注定,在2018年的6月份,我的胰腺炎复发了。我当时还在面试,意念上已经疼得直不起腰了,但还是坚持着完成了面试。

后来在医院等待确诊结果的时候,我的第三个念头竟然就是“也许我可以有时间去写那个专栏了”。现在回忆起来,当初的想法还是太简单了。

不过,专栏这件事情终归还是向着合作的方向发展了。因为郭蕾的坚持和帮助,也因为极客时间的慷慨解囊和多次扶持,在经过了不少的艰难困苦之后,这个专栏如今终于写作完成了。我对此感到非常的高兴和欣慰。

专栏是如何进行写作的

我在写这个专栏的时候,已经尽我所能地让其中的每一句话都准确无误,并且尽量地加入我最新的研究成果和个人理解。

所以,即使是对于我自己,这个专栏的价值和意义也是很大的。我通过这个专栏的写作又倒逼我自己仔细地阅读了一遍Go语言最新版本的源码。

我当初给自己定下了一个关于文章质量的目标。我要保证的是,专栏中的每一篇文章的质量都绝对不能低于这个目标。

没错,这里只有目标,没有底线。对于我个人而言,只要是边界明确的事情,我就不喜欢设置底线。因为只要有了底线,作为更高要求的目标往往就很难达成了。这样的双重标准会让目标形同虚设。

为了达成目标,我在写每一篇文章的时候都差不多要查阅不少的Go语言源码,确定每一个细节。每一个版本的Go语言,其内部的源码都会有一些变化,所以以前的经验只能作为参考,并不能完全依赖。

我需要先深入理解(或者修正理解)、再有侧重点地记录和思考,最后再进行贯穿式的解读。在做完这些之后,我才会把精华写入文章之中。

我觉得,人的成就不论大小都需要经过努力和苦难才能达成。和我共事过的很多人都知道,我是一个不会轻易给出承诺的人。不过,一旦做出承诺,我就会去拼命完成。

大多数时候,我并不觉得在拼命,但是别人(尤其是我的家人)却告诉我“这就是在拼命”。现在想想,这种完全靠爆发力取胜的做事方式是不对的,做工作还是应该顺滑一些,毕竟“润物”需得“细无声”。

专栏仍有瑕疵

虽然这个专栏的文章已经全部完成了,但是由于我的精力问题,专栏在呈现形式上还有一些瑕疵。

比如,没有配图,没有给出思考题的答案等。我在极客时间App的留言区里已经多次跟大家解释过这件事了。

但是为了保证大家都能够知晓,我在这里再说一遍:我会再利用几个月的时间为这个专栏补充配图,并简要地给出所有思考题的答案。

我已经开始绘制一些图片了,绘制完成就会同步更新到文章中,你也可以返回去重新阅读一遍。

(目前正在绘制的图样)

我补充的顺序是,配图在先,思考题答案再后。因为我的精力实在有限,我会争取在明年春节之前完成补充。还希望大家能够理解。

前方的路

每个人的路都是不同的,即便他们在做着一模一样的事。前方的路只有你自己能够开创,但是我希望本专栏能够作为你的一盏指路明灯。我个人认为,至少对于大部分读者而言,我的这个愿望已经达成了。你觉得呢?是否已经有了足够的收获呢?

无论如何,只要你还想继续走在Go语言编程的康庄大道上,积极地加入到有活力、有情怀的技术社区当中准没错。我想,极客时间就将是这样一个社区。当然,我们的“GoHackers”社群也是。

在最后的最后,我想去表达一些感谢,我要由衷地感谢我的家人!如果不是他们,别说写专栏了,我坐在电脑前面打字写文章可能都是奢望,我还要感谢所有帮助过我的人。还有在阅读这篇文章的你们,也是我最大写作动力。

好了,我就先说到这里吧。后面有的是机会。最后,祝你学习顺利,在成为技术大神的道路上披荆斩棘,所向无敌!

戳此查看Go语言专栏文章配套详细代码。

Go语言核心36讲52的更多相关文章

  1. Go语言核心36讲(导读)--学习笔记

    目录 开篇词 | 跟着学,你也能成为Go语言高手 导读 | 写给0基础入门的Go语言学习者 导读 | 学习专栏的正确姿势 开篇词 | 跟着学,你也能成为Go语言高手 Go 语言是由 Google 出品 ...

  2. Go语言核心36讲(Go语言进阶技术八)--学习笔记

    14 | 接口类型的合理运用 前导内容:正确使用接口的基础知识 在 Go 语言的语境中,当我们在谈论"接口"的时候,一定指的是接口类型.因为接口类型与其他数据类型不同,它是没法被实 ...

  3. Go语言核心36讲(Go语言进阶技术十六)--学习笔记

    22 | panic函数.recover函数以及defer语句(下) 我在前一篇文章提到过这样一个说法,panic 之中可以包含一个值,用于简要解释引发此 panic 的原因. 如果一个 panic ...

  4. Go语言核心36讲(Go语言实战与应用一)--学习笔记

    23 | 测试的基本规则和流程 (上) 在接下来的日子里,我将带你去学习在 Go 语言编程进阶的道路上,必须掌握的附加知识,比如:Go 程序测试.程序监测,以及 Go 语言标准库中各种常用代码包的正确 ...

  5. Go语言核心36讲(Go语言实战与应用三)--学习笔记

    25 | 更多的测试手法 在本篇文章,我会继续为你讲解更多更高级的测试方法.这会涉及testing包中更多的 API.go test命令支持的,更多标记更加复杂的测试结果,以及测试覆盖度分析等等. 前 ...

  6. Go语言核心36讲(Go语言实战与应用四)--学习笔记

    26 | sync.Mutex与sync.RWMutex 从本篇文章开始,我们将一起探讨 Go 语言自带标准库中一些比较核心的代码包.这会涉及这些代码包的标准用法.使用禁忌.背后原理以及周边的知识. ...

  7. Go语言核心36讲(Go语言实战与应用十四)--学习笔记

    36 | unicode与字符编码 在开始今天的内容之前,我先来做一个简单的总结. Go 语言经典知识总结 在数据类型方面有: 基于底层数组的切片: 用来传递数据的通道: 作为一等类型的函数: 可实现 ...

  8. Go语言核心36讲(Go语言实战与应用十八)--学习笔记

    40 | io包中的接口和工具 (上) 我们在前几篇文章中,主要讨论了strings.Builder.strings.Reader和bytes.Buffer这三个数据类型. 知识回顾 还记得吗?当时我 ...

  9. Go语言核心36讲(Go语言实战与应用二十二)--学习笔记

    44 | 使用os包中的API (上) 我们今天要讲的是os代码包中的 API.这个代码包可以让我们拥有操控计算机操作系统的能力. 前导内容:os 包中的 API 这个代码包提供的都是平台不相关的 A ...

  10. Go语言核心36讲(Go语言实战与应用二十四)--学习笔记

    46 | 访问网络服务 前导内容:socket 与 IPC 人们常常会使用 Go 语言去编写网络程序(当然了,这方面也是 Go 语言最为擅长的事情).说到网络编程,我们就不得不提及 socket. s ...

随机推荐

  1. GNSS模块使用笔记

    目录 目录 GNSS芯片 NMEA0183 协议 指令 GNSS TO MCU MCU TO GNSS GNSS芯片 ATGM336H-5N31(GPS+BDS双模) 原理图 NMEA0183 协议 ...

  2. Java注解系统学习与实战

    背景 为什么要再次梳理一下java注解,显而易见,因为重要啊.也是为研究各大类开源框架做铺垫,只有弄清楚Java注解相关原理,才能看懂大部分框架底层的设计. 缘起 注解也叫做元数据,是JDK1.5版本 ...

  3. 面试突击83:什么情况会导致@Transactional事务失效?

    一个程序中不可能没有事务,而 Spring 中,事务的实现方式分为两种:编程式事务和声明式事务,又因为编程式事务实现相对麻烦,而声明式事务实现极其简单,所以在日常项目中,我们都会使用声明式事务 @Tr ...

  4. 腾讯云即时通信 IM 服务 实例项目

    腾讯云即时通信 IM 服务  https://github.com/tencentyun/TIMSDK

  5. ES重要配置解析

    path.data和path.logs 如果您使用.zip或.tar.gz存档,则data和logs 目录是子文件夹$ES_HOME.如果这些重要文件夹保留在其默认位置,则在将Elasticsearc ...

  6. Logstash:使用Logstash将电子邮件导入到Elasticsearch

  7. 我操作MySQL的惊险一幕

    背景 前几天因工作需要,组长给我安排了一个数据清洗的任务. 任务:把 A 表的数据洗到 B 表. 我的第一反应,什么是「洗」?洗数据是什么?洗钱我倒是知道. 不过我不能慌啊,于是问了问组长. 我:组长 ...

  8. Java学生管理系统(详解)

    相信大部分人都有接触过这个 Java 小项目--学生管理系统,下面会分享我在做这个项目时的一些方法以及程序代码供大家参考(最后附上完整的项目代码). 首本人只是个初学Java的小白,可能项目中有许多地 ...

  9. 规则引擎深度对比,LiteFlow vs Drools!

    前言 Drools是一款老牌的java规则引擎框架,早在十几年前,我刚工作的时候,曾在一家第三方支付企业工作.在核心的支付路由层面我记得就是用Drools来做的. 难能可贵的是,Drools这个项目在 ...

  10. hwj是猪

    黄伟佳不爱我了吧唧吧唧