MoreRSS

site icon102no | 把酒诗代码修改

记录作者从学生时代到成为PHP开发者的成长历程,分享技术与生活感悟。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

102no | 把酒诗代码的 RSS 预览

博客评论从 Valine 迁移 到 Waline💬

2026-04-10 08:00:00

前些日子收到了一个「关于 LeanCloud 停止对外提供服务的通知」,我的博客是Hexo的,评论系统用的是Valine,评论的后端服务刚好就是放在这个上面的,而且 Valine 也是很长时间没有更新了,是时候就得把它迁移到 Waline 上面去了。这个更安全,而且完美支持 Valine 的数据迁移(后面发现其实也没有那么完美)。主要是官方的那个指引写的没有那么小白,而且有些配置或者数据表变更了但是指引没有变,不过在AI帮助下还是一两小时解决问题。

导出数据

登录到Leancloud后台,直接进入数据存储->导入导出->数据导出->选择限定class->选择comment,点击导出,就可以从邮件里面下载这个jsonl文件了。

然后在waline的官方文档中,有一个数据迁移助手,可以把各种格式的文件转换为waline支持的格式。直接把jsonl文件的内容直接复制出来,粘贴到迁移工具的输入框里,选择从Valine迁移至 Waline MySQL/postgreSQL/SQLite这个,点击「转换」就会下载一个csv出来。这里有一个小坑,就是导出的jsonl文件里有一行文件类型声明的代码:

1
#filetype:JSON-streaming {"type":"Class","class":"Comment"}

需要去掉,不然一直会转换失败,而且也不会有什么报错的那种。

导入数据

使用Waline自带的管理后台的导入数据功能,点击导入,选择上面转换之后的csv文件,一直失败报错:

1
Unexpected token 'i', "id,nick,up"... is not valid JSON

我搜了一圈子发现这个问题好像一直存在。算了,看样子是这个导入工具有问题,跟最新的评论表结构不是那么兼容,于是乎我直接让AI帮我根据 waline的pgsql建表语句 这里面的最新的表结构,生成INSERT SQL语句,到到vercel的后台管理中sql-editor面板去直接执行,然后数据就进去了。

关闭Vercel Authentication

又一个坑,数据插入进去之后发现,一直刷新不出来,而且提交新的评论会一直报这个错误:

1
fail to fetch

又是一顿搜索,发现解决方案就是参考这篇文章里面的 「采用waline配置博客评论出现fail to fetch解决方案」,找到Vercel Authentication,找到你的项目里面Setting->Deployment Protection->Vercel Authentication,关掉即可。

域名

最好还是需要一个自己的能直接访问的域名,毕竟vercel国内是不能直接访问的。先在你自己的vercel控制面板里找到Domains菜单,找到你的project点击edit,然后把Domain那一栏改成你自己的二级域名,它会弹出来一个指引,告诉你在你的域名解析里加一条CNAME记录,照着填进去保存,等几分钟生效即可。

添加评论邮件通知

添加邮件通知,需要在vercel中配置环境变量,配置路径是你的项目->Setting->Environment Variables->右上角的Add Environment Variables,然后根据评论通知文档,去配置对应的环境变量就可以,注意SMTP_PASS这个一般是需要去邮箱里配置专用密码,比如qq邮箱的需要去后台安全管理生成一个16位的授权码,别把登录密码写进去了。配置好之后,需要点击Deployment重新部署一下,环境变量才会生效。

以上操作全部完成之后,迁移工作打完收工。

杀鸡🐓

2026-04-07 08:00:00

前些日子,娃在家里养的小鸡,一不留神就养的很大了,而且很不凑巧是一直公鸡,每天咯咯咯的打鸣,在城市里养鸡也确实是一件难度很大的事儿,因为居住密度太大了,容易惊扰邻居。而且鸡是无法控制排泄的,味道很大,感觉是随时随地都在拉💩。夏天马上就要来了,根本就遭不住这个味道,就准备强行让它寿终正寝了,入了五脏庙算了。

养鸡

其实我还记得小时候也养过鸡,不过是在爷爷奶奶家,那时候还住在村子里,奶奶有养了很多只鸡,那时候我还小,到了喂鸡的时间,我就拿着一把葫芦做的破瓢,挖上一瓢鸡粮,往院子里一撒,鸡就从四面八方汇集到院子里来,一顿啄啄啄啄啄啄啄啄,完成这一餐的进食。平常它们就在院子周围自己觅食,什么小石子儿、小虫子、草根、烂树皮什么的给自己加餐,名副其实的走地鸡。

养鸡,尤其是在村里半散养的鸡,鸡屎也是个需要处理的问题,那时候虽说有个院子,但是院子里基本无时无刻的全都是鸡屎,基本上扫完没一会儿马上就遍布鸡屎了。不过鸡屎也多少有点用途,直接弄在一个桶子里,有时候直接丢在堆肥的地方一起堆着,有时候直接就拿去施肥浇地去了。

还有个对于我们小孩子来说的最好玩的一个事儿就是收鸡蛋,那时候大人就告诉我你去鸡窝里看看有没有鸡蛋,去收一下,那时候年幼的我看到蹲在鸡窝里的母鸡,心里觉得拿鸡蛋还是有点危险的,怕它啄我,大人就直接去鸡窝里把鸡都赶出来,我才能顺利的拿到我的战利品。

养鸡也不是一件特别简单的事儿,除了平常喂鸡什么的,鸡如果有什么病之类的处理起来也是比较麻烦的。那时候有几只鸡,生了病,眼睛上好像长了白色的浓一样的东西,把鸡的眼睛都堵住了,奶奶直接就把鸡抱住,用平常缝衣服用的剪刀,把鸡眼睛外面的化脓长住了的一圈剪开,然后直接用指甲把鸡眼睛里的白色东西挤出来,幼小的我在旁边观看了全程,就是恶心又有点想看的那种。

杀鸡

到了快过年了,杀鸡也是一个重要的流程之一,也还是在院子里,先把准备要杀的鸡挑好,鸡脖子上的毛扯一扯。一般都是家里的男人来干这个活儿,一个手把两只翅膀和抓着,然后脖子也一起捏起来,磨好的菜刀来回几下,鸡血就涌出来了,我们那没有吃鸡血的习惯,有些地方还会把鸡血搜集起来做菜。刚抹完脖子的鸡不会那么快咽气,大人就直接把鸡丢在地上让它自己再扑腾一阵子,过个几分钟咽气之后就可以后面的烫毛、拔毛、之类的操作了。对了,如果杀的是大公鸡的话,还会把尾巴上的最漂亮的那几根羽毛拔下来,给我们小孩子做成毽子,我们就在院子里玩起来。鸡一杀,过年的氛围也就开启了。

后来慢慢的养的鸡越来越少,院子也做了水泥硬化,吃鸡蛋和鸡肉,一般都是直接商店里买去了,再加上自己长大了很少回去了,院子里养鸡这个事儿就慢慢从记忆力抹去了。

第三十四年立春

2026-02-10 08:00:00

立春也才没过去几天,就还有几天要过年了,今年过年比以往都晚一些,看了看天气预报,过年时候不太冷,希望不要下雨,不要雨夹雪,雪可以下一些,下的大一点也行,这样至少过年时候可以出去玩一下,不然像国庆假期那样,连续下个十来天的雨就很不爽了。25年平均每月一篇的目标还是没有达成,比上一年也多一篇的也没有达成,希望26年可以(虚妄之愿哈哈)。

国庆

国庆的时候回了一趟老家,但是如上所说,天气真的太差了,一直在下雨,下的还不小,哪也去不了,哪也玩儿不了,小县城就像被封印起来了一样,连街上也都没什么人,但是也惊喜发现,老家也搞了一些文旅活动,而且搞的有声有色的,挺好,过年回去之后再去看看,还是尽量找点地方玩一下,或者能带娃看一看自己长大的地方也行。

继续写点东西

今年在知乎上的产出变多了,基本上每天都有更新,活动也参加了一些,粉丝数也增加了一些,比我预想中的要多,而且流量都可以可以,收益比之前有所增加,但依旧是不算多,知乎的工作人员也拉我进了大模型的群。今年也有一些询单推广的,但是都没有成交,不过也还好,我本身就把我的知乎账号当成一个AI记事本,看到一些信息就记录一下而已,26年尝试一些,输出一点更深度的内容看看效果,如果效果不错就继续深耕一下试试看吧。

程序员斩杀线

程序员斩杀线的这一年马上到来了,目前看来生活没有什么太大的变化,工作上之前说的AI工具已经都很成熟了,基本上业务上的事儿都能搞的七七八八,不知道明年会有什么新的变化,不过现在编程语言已经不再是什么瓶颈,AI加持下,技能包都增长了很多,而且对于什么新领域完全没有任何恐惧,公司使用新语言开发什么的也都基本很快上手,直接产出工业级代码。

今年没有太多的运动,但是在饮食上合理控制,所以从年初一直到三季度吧,体重一直保持的还可以,合理改善饮食占比的确是有效的,如果再加上运动会更好,快到年底了,吃的多了一些,体重就直接上去了,看来这个玩意儿还就是一个持久战,不过还是先过完年再说吧,就当是稍微放纵一下。

娃在幼儿园已经是第二年度了,看了老师的评语也都还不错,也参加了幼儿园组织的徒步活动,还当了幼儿园的义工摄影师,跟一大帮子家长和娃一起活动感觉还不错的,希望娃继续健健康康开开心心长大。

AI编程工具2025🤖

2025-12-01 08:00:00

谢邀,研发工作的变化,我觉得最大的变化就是从重「实现」,变为重「设计」了,从「写代码」,变为「教AI写代码」,而且要把它当一个有「实习生业务思维」的「高级研发工程师」。

之前在接研发需求的时候,大部分时间可能花在具体实现上面:调试API、写业务逻辑、处理边界情况,现在的AI工具在代码的具体实现上其实已经很强很成熟了,比如GitHub Copilot、Cursor之类的工具,使用比较强的大模型的代码能力其实已经超过了很多初中级的开发者了。

从「写代码」过渡到「写需求」

但是如何让AI工具「写自己需要的代码」,这个反而变成更不容易更重要的事情。
AI 不是人类,它是不知道你的「文字」以外项目背景、业务逻辑、历史遗留问题,有时候为了让AI理解一些需求,需要花很久来梳理「这个功能到底是干什么」,可能对理解需求还有帮助。
能生成代码,但不一定是「最优解」,所以有一些提前的架构设计工作还是需要自己来,比如用什么技术栈、代码复杂度的上限、性能和可读性的平衡点。毕竟有时候AI会写出很多能跑但不能维护、可读性不怎么好的代码。这些其实就是架构设计的工作,之前是设计完自己实现,现在是设计好了让AI写。

AI无法替代

还有一些AI无法替代的东西,比如理解模糊的业务需求,产品经理说的话,AI听不懂、处理老项目的坑AI理解不了、设计多个跨系统的服务改动,AI对依赖关系还是不能理解的很透彻。所以需要我这个人类来做这个翻译传声筒。

写作文

现在做一个产品、需求,提示词写的文字数量可能比代码要多得多,每次我都调侃是,做一个需求,就写一篇作文、做一个需求,就写一篇作文,等产品上线了,把我的提示词整理整理,基本就是一个完整的文档了。以前写代码的时候,需求紧了文档不重视,现在为让AI干活不得把这些东西写的明明白白,这反而是个好事儿:代码可能会过时,但好的文档一直有价值。
2025年的编程工作,已经从「how to code」变成「what to code」,AI解决了实现问题,但是其他的更上游的工作变的更重要,现在的日常就是,先做设计(写提示词),接着review AI 写的代码,最后再整体审视项目需求完成情况收尾。虽然代码量少了但是脑力劳动强度一点没降低。

本文为参加知乎活动撰写:AI 编程工具在 2025 年对程序员的工作流产生了怎样的重构?

武汉汤粉🍜

2025-11-13 08:00:00

在网上一直流传一个说法是就是武汉人过早吃热干面,一般都是上班路上边走边吃的,甚至还有更牛的可以一边吃一边骑自行车,我来证明一下,是的,在武汉就是这么吃早餐的。其实我还有一个更狠的技能,就是汤面我也能边走边吃(自豪),那时候还在武汉上班,小区楼下就有一个老奶奶专门卖汤面的,冬天的早上,我一般就是来上一碗汤面一般走边吃,然后刚好走到小区外面的大垃圾桶差不多吃完,直接筷子一次性碗一丢,完事儿,方便快捷,其实汤面我觉得比较一般,比起面或者细粉,我一般都喜欢把面换成宽粉,汤宽粉我更喜欢吃。

宽粉

武汉的这个宽粉跟我在广东吃的粿条、河粉又不一样的,宽粉那是真的很宽,估摸有河粉两三倍那样,比河粉还要更韧一点,我就喜欢这样的口感,特别软烂的我觉得没有嚼劲,特别宽的粉有个好处就是特别挂汤,特别吸味。我吃粉就是喜欢哧溜着吸,甚至有时候会吃的呛到咳嗽,就是因为宽粉上面带着的汤特别多,而且我当时还比较喜欢吃辣椒,尤其是在冬天的时候。

现在据说在武汉流行的是「生烫」宽粉,也就是把牛肉、牛杂、以及其他的猪肉猪杂之类的生肉直接用高汤汆烫熟的,吃起来嫩滑爽口。但是我当时吃的时候还是传统的牛腩、牛肉、牛杂、排骨、肥肠之类的炖煮卤好的作为汤料,或者就直接是一碗没有什么特别配料是素粉,素粉也挺好吃,吃完宽粉和汤料,我习惯把汤都喝完,毕竟原汤化原食,早上吃完走几下路,搭上公交车,在武汉上班时候的基本一早上的能量就都够了。

配菜我最喜欢的要数是卤干子,就是很薄的那种豆腐干,然后过油锅去炸,炸到整体金黄之后放到卤肉的锅里去一起卤,实际上不算是卤,泡着泡着味道就一起进去了,炸过的干子就是用来吸卤味的,有时候还有香肠啊、海带啊之类的也可以一起加进去。小料也是增加这碗宽粉其风味的一大帮手,我个人就是喜欢什么都加上,葱花、香菜、雪里红酸菜、酸豆角、萝卜丁,加上小料之后,真的就是我最喜欢的满满一碗的粉,甚至有时候中午也可以来上这么一碗。

除了这个汤宽粉,有的还喜欢吃干的,就是没有汤的那种,甚至还有「热干宽粉」就是把热干面里面的面,换成这个宽粉,由于宽粉挂芝麻酱更多更浓厚,也有好多人喜欢吃这个版本的。

潮汕牛肉粿条汤🍲

2025-10-31 08:00:00

潮汕地区最著名的美食其实应该算是潮汕牛肉火锅,这边基本各式各样的潮汕牛肉火锅到处都有,甚至还有开到全国的连锁店,在我看来潮汕牛肉粿条汤可以算作是「简易」版本的潮汕牛肉火锅,有时候想吃火锅但是又太麻烦,基本上去搞上一碗也差不多有那感觉。总体口味还算是偏淡的,主要是牛肉和汤,加上沙茶酱、整个就是一碗鲜味旋涡。一开始来广东这边我对这样的比较平淡口味的粉面都比较吃不太下去,后来慢慢口味会变的淡一些,接受了这些之后,就能感受到其中滋味。

潮汕

在深圳的潮汕人还是很多的,粿条汤也基本上是随处可见,在没来广东之前,我一直以为潮汕是一个地名,实际上是一个地区,就跟「东北」是好几个省的集合一样。潮汕实际上是三个城市,好的那么问题来了,汕头、汕尾、潮州、揭阳。请问这里面有哪个城市不属于潮汕,答案是「汕尾」。我也是好久之后才知道这个「冷知识」(虽然并没有什么用途)。

牛肉

我记得看过一些探店的,在潮汕当地吃火锅,好些店都开在屠宰场旁边,刚刚屠宰过后的牛,直接拉过来做火锅,甚至于有些牛肉还是冒着热气、肌肉纤维还在跳动着的。故此可见潮汕吃牛肉的第一要务就是「鲜」,当然在深圳肯定是吃不到这样新鲜的牛肉了,毕竟这边不准活牛宰杀。一碗牛肉粿条汤端上来,一般最先得去尝尝上面的牛肉,必须得是软嫩鲜甜、刚刚熟,可能还带一点红色的生的那种最好,吃的时候一般会配上一碗沙茶酱的蘸碟,我的习惯是一片牛肉裹上一大口沙茶酱,一口大饱满,牛肉的鲜,再加上沙茶酱回口的甜,基本上这一口就能决定这家粿条汤的好坏。除了牛肉,通常里面还会有牛肉丸,正宗的肯定得是潮汕手打牛肉丸啦,和火锅的那种就是同一个,吃起来Q弹有劲、甚至可以用来打乒乓球。

粿条汤

粿条、河粉、米粉、宽粉,其实都是大米做的,但是米的比例上、形态上、口感上还是有差异的,粿条在我看来是没有河粉那么硬、厚,它更薄一些,吃起来更软一点。最开始我是分不太清楚河粉和粿条的,吃得多了也就能分辨了。

一般进了粿条汤的店,里面会有一口大锅,里面用牛棒骨之类的炖上一锅鲜汤。整个粿条汤的制作流程有顾客点单了,直接加上牛肉、牛肉丸,在锅里稍微的烫一下,烫的将将要熟,颜色可能还带着一点红色的时候捞起来放入碗里,而这样做出来的最嫩口。粿条因为就是熟的,稍微也回锅汆烫一下即可。最后把滚烫的牛肉热汤均匀的泼上整个碗里,出锅的时候还会撒上芹菜碎以及炸好的金蒜末,一碗粿条汤就大功告成,带上沙茶酱、辣椒酱就直接端碗上桌。