你好,我是郝林。

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

差不多在半年以前(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. 【短道速滑九】仿halcon中gauss_filter小半径高斯模糊优化的实现

    通常,我们谈的高斯模糊,都知道其是可以行列分离的算法,现在也有着各种优化算法实现,而且其速度基本是和参数大小无关的.但是,在我们实际的应用中,我们可能会发现,有至少50%以上的场景中,我们并不需要大半 ...

  2. 全网最简单的大文件上传与下载代码实现(React+Go)

    前言 前段时间我需要实现大文件上传的需求,在网上查找了很多资料,并且也发现已经有很多优秀的博客讲了大文件上传下载这个功能. 我的项目是个比较简单的项目,并没有采用特别复杂的实现方式,所以我这篇文章的目 ...

  3. aardio + .NET 快速开发独立 EXE 程序,可防 ILSpy 反编译

    简介 aardio 可以非常方便地调用 .NET( 不需要任何复杂的步骤 ). .NET 在 aardio 中很好用,系统自带 .NET 组件以及各种开源 .NET 组件在 aardio 用户中也很受 ...

  4. 洛谷P7112 行列式求值

    行列式求值 这是一个让你掉头发的模板题 行列式的定义 行列式 (\(\texttt{Determinant}\)) 是一个函数定义,取值是一个标量. 对一个 \(n\times n\) 的矩阵 \(A ...

  5. [Python]-pydicom模块处理DICOM数据

    在处理医疗数据时,经常要跟DICOM文件打交道.在使用Python处理时,不得不提常用的pydicom模块. import pydicom DICOM文件读取 pydicom.read_file()读 ...

  6. Windows打印服务器上无法删除打印机

    这几天遇到了一个问题,在Windows 2008的打印服务器上的打印机无法删除.具体表现是可以在设备和打印机里删除打印机,然后刷新一下,它们又出来了.这些打印机早就不存在了,并且这些打印机的图标呈半透 ...

  7. 【gRPC】C++异步服务端优化版,多服务接口样例

    官方的C++异步服务端API样例可读性并不好,理解起来非常的费劲,各种状态机也并不明了,整个运行过程也容易读不懂,因此此处参考网上的博客进行了重写,以求顺利读懂. C++异步服务端实例,详细注释版 g ...

  8. Redis可视化工具(支持ssh链接)

    1.Redis Desktop Manager RedisDesktopManager,简称RDM,这是一款很出名的Redis可视化管理工具,支持Windows,Mac,Ipad,LInux 开源地址 ...

  9. Keepalived + Nginx 实现高可用 Web 负载均衡

    一.Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前 ...

  10. C#-02 传入参数的一些用法2

    C#_02 参数应用2 一.关于 "ref" 局部变量和 "ref" 返回 在前面已经明白了 ref 关键词传递一个对象引用给方法调用,这样在方法中对对象修改过 ...