20230813


发布于

|

分类

竟然立秋了,但天气还是好热

生活

终于看完了《三体》。感觉电视剧版的和原著还是有一些差距的。电视剧版我就记住一句话「你就告诉我,杨冬是怎么死的」,感觉卡在这里过不去了,但是原著就没有这个负担。时间长了,已经记不住了……后面有空再看一遍。

有点想看《绝命毒师》,但估计抽不出来时间了。之后要留点时间学雅思。

本周咳嗽终于好点了。我一直可担心,但似乎每次都是「已经好了80%」的时候去的医院,也检查不出来啥,「过两天自己就能好了」。

周末在家,做了鸡丝凉面,炒了葱爆羊肉,卤了鸡肝。抖音「老饭骨」真的是宝藏,但大爷不在后,少了些批判,多了些吹捧。

打印照片打上瘾了。佳能的CP1500照片打印机有个比较讨巧的地方,就是它打印最后有一层覆膜,所以可以在这层覆膜上做点东西。比如默认的「高光」就是普通照片那种很平整的,但还能切换到「哑光」和「缎面」,就是改变了覆膜的纹理。说「讨巧」是因为,它内置了一些选项,可以在覆膜上搞出来一些花纹,例如狗爪子啊爱心啊射线啊啥的,有反光的时候看起来就很炫。——所以本周终于把第一包纸给打完了。

学习和折腾

本周成功在K3s上部署了Jellyfin和HomeAssistant。不过多多少少有点小问题:

  • Jellyfin暂时用不了代理,所以刮削不太正常
  • HomeAssistant可能是端口写少了,反正单纯Web没啥问题,但是iOS的家庭里面添加不了

反正就是,折腾出来个模板后,后面直接套模板就好了。

我估计下周再部署个Clash能解决代理的事儿。

把路由器偷渡成了海外版,终于可以用内置的AdGuard了。这样用域名部署的东西,就可以用域名访问了。——dnsmasq还是用不熟,要不然折腾这东西干啥

工作

哎,同样是公司的俩项目,Kitex和Hertz,使用起来感觉完全不一样。

Kitex,最起码上手文档比较全,假设你是个完全的小白,跟着一步一步做下来,差不多就能写个真实能跑的服务了。

Hertz,上手文档真的是个Hello World,啥高级一点点的特性都没用上。文档组织也很有问题,假设你已经熟悉gin之类的框架了,所以「入门文档」写得很潦草。还有的是,很多东西完全没解释,诺,没注释的Demo代码就在那儿,你自己看去吧。所以,即使代码些得再好、再「自注释」,也不能完全没有注释。该说明的地方,还是得啰嗦下,好好写写注释,毕竟自己也会忘掉当时写这些代码时候的想法。

更坑的是,都是要从thrift生成go代码,Kitex生成出来的东西和Hertz生成出来的东西还不通用,所以「前端http后端rpc」这种东西,需要不停地将「原本是同一个类」的数据在「生成出来的两个类」之间来回手动复制。官方说已经在弥补这些差距了,也有如何兼容使用的教程,但实际上生成时候里面一些小细节导致还是没办法编译。而且我也没那么大胆,也不敢用unsafe包(你看,人家都叫unsafe了,那么肯定是unsafe的啊~功力不够,还不敢碰),所以都是先序列化后反序列化做的copy,性能……哦一天就十几个query咱就先不说性能了吧。

周四,有个服务突然各种内部错误。我寻思之前好好的啊,我也没做啥修改。查了一整天,发现还是老问题:服务里面检查「节点是否工作正常」是检查的「someVariable==nil」。但是节点内部初始化的时候,是用var someVariable []*someClass 的形式来的,后面用for遍历,有结果就直接someVariable = append(someVariable, someResult)。所以当传来的东西长度为零,就不进for了,所以someVariable一直是nil,然后被返回了出去,最后被下一个节点接收到。由于它是nil,所以被误认为「上一个节点工作不正常」,从而抛错。

这个事儿解决后,另一个问题就是内存暴涨。怎么说呢,如果用100 QPS的速度打服务,服务占用内存会从100MB迅速暴涨到4G,但是QPS一旦停止,服务占用内存就会迅速(大概在2s后)降到100MB左右。感觉是go的GC不及时,但也不应该这么不及时。和之前同事简单对了一下,没对出啥结果。——反正这内存占用,确实挺吓人的。


下周请三天假出去玩。希望天公对我温柔点。


数了一下,从去年开始写周报以来,这刚好是第52篇周报。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注