造轮子还是用轮子

花火田丁 花火田丁 2018-12-05 15:59:29 +0000

题图来自于NextDay


心心念念的树莓派终于到了,在同事的指导下,装好了散热片、小风扇、粉嫩的红白外壳,愉快地跑起来了,对于只会写软件的好奇宝宝来说,简直是开启了崭新的世界。

至于树莓派系统就不说了,img文件下载好「烧」进去就好了(对「烧」的概念只停留在刻录光驱的时代),接下来就是开始折腾装HA(Home Assistant)了。

考虑如何装HA的时候,我面临两种选择:

  1. 手动安装,即从依赖库开始一步一步自行装完。

  2. 直接把官方或者第三方做好的镜像烧进去,开机就是已经装好了HA的系统

之前拿同事的树莓派测试,用了第二种,省事得很,做镜像的人已经把所有配置都做好了,基本上只需要把服务启动起来即可。

于是,这次毫不犹豫地选择了第一种手工安装的方式,怎么着也是被实习生喊过「电脑姐姐」的人啊😂,虽然做IT的多半都想挣扎着澄清自己跟修电脑没有半毛钱关系,但…大概都是徒劳╮( ̄▽ ̄"")╭,不如就认命吧。

通过万能的搜索引擎,我找到了手工安装的攻略,CSDN、少数派,甚至张大妈上都有相关的教程,那么就按照步骤一步一步来吧。

结果装依赖库的时候就出现了问题,Terminal里一长串的红色错误,看得人发慌,解决这个问题大概花了5-10分钟。接下来还算顺利,一路把命令敲进去,静候安装完毕,心想,原来手工也没有想象中那么困难嘛。

然而问题出现了,服务死活起不来,也不报错,按照教程做的没错啊。于是开启了类似前几天看到的「Yak Shaving」模式,插播一段:

何为 yak shaving ?

要去买个水管,得开车出去;但路上要交过桥费;为了避免交过桥费,得去跟邻居借张通行卡;但邻居是不会把卡借给我的,因为前些时候跟他家借的枕头还没还给他;但枕头里的棉絮掉了不少,你得找些替代品填充回去,才敢还给人家;哪里找填充物?去动物园撸 yak (牦牛)身上的毛。所以,为了去买水管,得先去动物园撸 yak 毛。

就这样Yak Yak花了大概有20分钟的时间,仍旧无果,这时候才想起来去翻HA的官方文档(为什么这时候才想起来!全英文,排版不是很友好,毕竟人家是个专心于技术的开源平台),官网有专门的一篇如何用树莓派手工安装HA的教程,步骤看上去与我之前搜索引擎搜到的大同小异,区别是我看的那篇教程上漏了一行命令,执行之后,服务就顺畅地跑起来了。

于是就想,真的有按照那篇教程安装成功的吗?或许作者也是一时疏忽漏写了。错就错在一开始我没有仔细去翻官方文档,只注意到了官方出品的img的安装方法。所以说,作为技术人员,一定不要对英文文档有恐惧感,其实很多都比翻译过来的更简洁明了。

同时,我也在想,是不是一开始选择官方img才是最佳选择,毕竟我所期待的是安装之后如何开发使用HA,而安装,只是其中的一个先决条件,而安装过程,只是一行行输入既定的指令即可,也谈不上需要什么技术背景。

这就跟程序员经常说的「造轮子」(别人写好的工具、库等)类似,你是选择去「创造」还是去「使用」。节省时间,当然是直接用轮子,轮子被造出来也是被人用的。有能力或认为轮子不尽如人意或想深挖一下底层,那么就可以去「造」,除此之外,请先考虑如何正确使用轮子。

说到轮子,不得不说Python今年窜到了最流行的程序语言第一位(没看过去年的排名,也许那时也是?),也是意料之中。为什么?因为有很多很多轮子,Python的库相当之强大,强大到能让非程序员人类可以很快上手写代码。也是得益于Python,程序员这个物种似乎正在被很多本职工作并不是IT的人群入侵,比如,有个学金融的妹纸工作中就可以用Python来统计分析(据说还加入了Python Telegram群,hin认真了!);很多做数学专业的同学可以直接用Python去做机器学习。

工欲善其事,必先利其器。既然有人造了这些器,那么就先试着用一用吧。

用轮子,其实就是用他人的时间换自己的时间。

但一旦用了人家的轮子,也就是从此以后你便与这个轮子绑在了一起,比如,iOS里用到的那些Pods,如果没跟上iOS的升级,要么联系作者去升级新版,要么就只能再另找轮子。所以选轮子的时候,也需要注意这一点,如果轮子更新频率很低,那么就一定要确认版本的稳定性以及将来其他组件升级是否会对它产生影响。如果轮子更新频率很高,基本不用担心,有问题自然会有人尽早解决。

像我今天说的HA官方镜像,其实不存在这方面的问题,因为HASS.io这个镜像就真的是帮你把安装和初始化配置步骤给省去了,你依然可以通过命令的方式去升级去修改,镜像本身并不存在需要更新升级的问题。我把它称为「轮子」,大概会引起造轮子大牛们的不屑吧😂

那么,用与不用,造与不造,还是需要权衡一下。

不管怎样,庆祝HA+树莓派完美跑起来了!



撒欢吧
谈理想
聊人生
讲故事
相对论
花火田丁
微信号:huahuoding
花火田丁
不折腾不人生