好久没写博客了,准确来说,是超过一个月了,虽然这篇博客的时间戳比上一篇要多接近5个月,但中间其实一直在写,原因是自己低估了《Docker容器与容器云》的内容长度,而且在纠结到底是以起始时间戳作为博客发布时间还是以结束时间好。第一次尝试以摘抄的方式写博客,最后发现……差不多把这本书的内容摘抄完了,目前已经完成了核心内容的部分,剩下的可以慢慢填坑。

距离转职已经过了8个月,但如果从入坑物联网开始算的话已经两年了。LoraWAN的协议从1.0迈向1.1,一开始不太理解它为何越来越复杂,最近发现这些复杂的地方,都是先前协议版本中的痛点,而且每次吐槽到一些痛点时,总会发现在1.1中已经解决。LoraWAN协议正在变的越来越完善,而自己也变得越来越了解它。

从iOS App研发跳转到使用Go做物联网,看上去跨度很大,但正如上面所说的,入坑已经两年了,只是title的变更晚了一年多。2017年4月初开始接触LoraWAN时,基本零基础,Golang在2012年入了一次门,当时学校的图书馆里只有一本关于Golang的书,但却有好几个书架,堆满了关于iOS的书,而安卓和Linux的书比iOS的还要多,当时自己选择把iOS和Linux的书全部看了一遍,所以现在仍旧不会安卓开发,也不熟悉Java,当然更不熟悉JavaScript,大概我的基因里已经刻上了只能使用静态语言的诅咒。

两年前的这个时候,花了两个月的时间入门了整个LoraWAN协议,接下来的三个月时间内,一边测试硬件,一边从开源软件改了一个适配频率计划的稳定版本,而后是出差、现场部署、测试,那段时间还在App上做了一些数据下发功能。命令从广西或重庆的手机上下发,到达深圳的阿里云机房后,经由Go编写的程序处理,时间戳嵌入到LoraWAN协议中的Payload,从ECS返回到现场的网关上,经过信号调制,到达现场的节点设备,真的是一个很有趣的过程。人的记忆也很有趣,只有印象深刻的部分会长久留存,而这些部分往往都是苦难,让自己走了弯路,如果去年离职时选择了继续iOS,那么中间的一年相当于是荒废了,而我又有多少时间可以荒废?

过去半年多的时间里一直专心开发,每天都是代码、代码和代码,开通了微信读书会员后,陆陆续续又看了几十本书,但最重要的还是那些新交的朋友,不同的观点碰撞,能够产生很多有意思的想法。工作的饱和度达到新高,过去一直有时间在瞎折腾自己感兴趣的东西,看看过去的博客就知道,而正式入坑LoraWAN以后,没有专门的时间来学习新东西了,工作需要的就是要学的新东西,如果列一下过去这段时间折腾的已经上线,可以书写的内容,大概有以下这么多

  • websocket通信与优化
  • Postgres优化,插入、查询、索引、分区、存储
  • 数据库设计
  • mosquitto认证插件配置、编译与使用
  • mqtt协议详解
  • 基于redis的发布订阅、session缓存
  • Protocol Buffer环境搭建、兼容性配置
  • Nodejs编译环境
  • gRPC配置
  • 基于jenkins的自动构建
  • docker配置优化、日志优化、镜像构建缓存、镜像管理
  • golang标准库与运行时
  • Linux系统调用
  • 树莓派环境下的网关SDK开发、远程命令下发
  • 数字签名与加密算法
  • golang开发实践

不想写博客的理由就像上面列出的内容一样多,总的来说就是可支配的时间没有以前那么多了,如果按照以往一篇博客连续写两三天的速度,是永远也写不完了,换句话说,要加快速度了,把上面列出的可以书写的内容,一点点补上。