从一次反复出现的高考梦写起,回望压力、记忆与自我和解:那场考试早已过去,梦也该醒了。
试了下 Craft Agents
最近偶然试了下 Craft Agents,感觉它和我最近在用的那些 AI 编程工具不太一样,更像是在认真做一个桌面上的 Agent。
想起在百度的日子
回忆起在百度的七年,从野生软件到技术群,那些点滴就是最真实的“技术氛围”。
三十九
不惑未至,我好像学会了少争辩
码农走进新时代
软件工程师这个职业,在 AI 时代,会变成什么样?
今日 AI 脑洞
我觉得很快 AI 就可以打破人机交互的界限,这会在软件开发领域发生很大的变化。
一次 Debezium 升级记录
最近做了一个 debezium 流水线升级的工作,遇到了挺多问题,记录一下。 事情的起因是最近几个礼拜我们的多个 postgres 实例遇到了磁盘空间不足的问题,看下来并不是我们数据量很大,而是 WAL 日志占据了很大的空间,有些实例 WAL 占用空间是数据的十倍以上,这显然是不正常的情况。即使凭借我浅显的 postgres 知识,我也很快联想到这大概和我们的 debezium 流水线有关。我们的服务的数据写入量并不大,WAL 正常情况下不会占据很大空间,但开启了主从同步,并且延迟很大的话,WAL 就会积攒起来,毕竟总得存着等从库消费完才能删掉,这应该就是我们的问题。 第一个 postgres 实例出现问题的时候,是个很简单的情况:这是个测试实例,之前有 debezium 从这个实例捕捉变动,后来迁走了。但是,我们忘记了删除 replication slot,于是 WAL 从 debezium 停止开始就一直不停积累,终于磁盘不足了。这很好解决,既然迁走不用了,就删掉 replication slot,然后 WAL 就会被自动清理掉,磁盘占用率也就恢复了。 第二个 postgres 实例出现问题的情况就复杂了一些,这正是前面 debezium 流水线后读的数据库,它显然是在不停消费的,那就没道理 WAL 会不停的积累。因为这是测试库,为了不让数据库因为磁盘满而完全不可用,我先停掉了 debezium 服务,然后删除了 replication slot,就和之前的实例一样,磁盘空间被顺利释放出来。之后我重新开启 debezium 观察,可以发现,WAL 确实会以比较快的速度积攒,估计一两天就会撑满磁盘。然而看 debezium 服务,它看起来是正常工作的,输出的 kafka topic 里可以看到有数据。那这就和之前的问题不一样了,并不是不消费才导致的 WAL 积累。 重新搜索了一下,看了 debezium 的文档,原来这个问题是有详细解释的。简单来说就是,并不是不消费,而是需要同步的库流量太少,而 WAL 是针对整个实例而言的,如果其他库写入量很大,产生的 WAL 就很大,但是需要同步的库很久没有变动,debezium 也就没法记录下来,这样就会导致 WAL 积累。解决的办法文档里也提了,需要用心跳机制来保证 WAL 有变动,这样就不会积累了。那就需要配置 heartbeat.interval.ms 和 heartbeat.action.query 两个参数,前一个是心跳包发送间隔,每次心跳会往 sink 里写一条消息。后一个可以配置一条 SQL,内容是随便的一些写入操作即可,比如更新任意表的一条记录,只要保证他能触发 replication 点的更新即可。于是我就配了这俩,但是……看起来不生效。 ...
返乡两周见闻
2024年5月15日注:这是一篇没有完成的文章,我在女儿刚出生时写了一部分,后来似乎忘记了。今天翻到这篇文章,觉得不管是几句话,都是我当时的真实感受,所以就还是它发出来吧。 女儿出生啦,比预计要早了三周,所幸生产一切顺利,宝宝身体也没有什么问题,真是给全家一个惊喜。因为疫情原因,老婆是在我们老家常州产下的女儿,所以我也就返乡两周陪伴家人。 细想一下,自毕业参加工作至今近 10 年中,我似乎从来没有在常州住这么久了。儿子出生的时候是在上海,满月以后老婆也曾带他回老家住了一阵,但那时我只能在周末假期回来短暂陪伴。其余的长假,国庆或者春节,都只有一周左右,并且我们也不会全程都待在老家的。 由于月子会所的家属餐实在是做得过于求其,我需要自行解决每天的午餐和晚餐。 我发现常州的餐厅价格真不便宜,不管是商场里的餐馆,还是路边的小食店,菜品价格似乎完全不输上海。不过菜品的质量嘛就不太好说了,我总能感觉到老板在成本控制上花了过多的心思。我也在大众点评上浏览了一些高级些的 网红 餐厅,人均更是能上到四五百元,可能离上海的高端餐厅还远,但这个价格也真不算低了吧。不过在上海我也很少去这么贵的餐厅,菜品质量我倒真是无从比较了。 在外面吃了几天也有些疲劳,后面的几天我就中午回家吃饭,还能再陪儿子玩一会儿。月子会所离我家并不远,十多公里的路,大部分是高架,20 分钟就能到达。来回开了好几趟,觉得常州的交通真是不错……
换了本驾照
不知不觉,驾照又快过期了,今天请了假去换驾照。 先到浦南医院拍照和体检。众所周知换驾照的体检是很简单的,我以为很少有人会不通过,结果今天还真遇上了。 排我前面有个小姑娘近视 500 多度但是不戴眼镜,所以视力检测不合格。我想想真是多亏了这里体验的医生把关,我自己也是 500 多度的近视,我不戴眼镜都不敢出门走路,这要是不戴眼镜开车上路,那得多么恐怖。 体检完了,拿上照片,我来到黄浦区交警队。工作日的下午 3 点半,门外面就排了挺长的队,可能和之前疫情封了 2 个多月有关,积累的业务总是需要慢慢处理。门口俩警官挺有意思,逢人排队就上来劝退“结束了啊,你们排了今天也办不了,到 5 点系统就自动关机了,还是明天请早吧”。我没有理会,来都来了,眼看还有 1 个半小时,我岂能试都不试就回去。 果然也过了没多久,我就进了交警队的门,里面还有几排等候的椅子,确实也是坐满了人。我取了号,要等 30 个,也还好。等候的过程中观察了一下人群,也听到了窗口的很多交谈。令我很惊讶的是,现场来办理驾照更新的人中,70 岁以上的比例特别高,得有三成了吧!连着几个都是因为 70 岁以上要提交特别的能力测试报告,需要去另外一个地方检测,今天就没能办成。还有些年纪大的驾驶员,窗口的警官问话他都听不清楚,“身份证。身份证身份~证~~~”这才把身份证掏出来。我心想这听力,开车后面喇叭得按死了才能听到吧。哦,再一想,反正市区也按不了喇叭,似乎并不需要听力呢。 轮到我办理的时候一切顺利,交了照片付了钱,就等着制证了。大概又过了 10 分钟不到,新的驾照就到我手里啦。这是我第二次换驾照了,我一直都是安全驾驶,没有严重的违章或者事故,所以这本驾照就是长期有效的了,再也不用来交警队排队啦。不过副证上面有些备注,我需要在 2056 年 8 月以后每年提供特别的能力测试报告,也就是——我 70 岁的时候。嗯,想到这里我就有些佩服那些和我一起排队的老司机们了。希望我 70 岁的时候也能像他们一样健康,开得了车也排得了队。 回家的出租车上,我想着今后也还是要继续安全驾驶,想象着 2056 年我再来交警队的情景。哦,那个时候,自动驾驶一定实现了吧?人们根本不再需要驾照,甚至可能也不需要交警队啦。
家庭网络升级记录
因为要换工作的原因,我最近有一些空闲的时间。想起来目前家中的网络一直不是太令人满意,于是趁此机会搞一次升级。 当前的情况家中宽带接入是联通的 200M EPON,因为是某个很奇怪的套餐,非常便宜,大概一个月 6 块钱?实际速度特别是出海我觉得已经非常满意,再考虑到这个价格,实在是没有什么可以吐槽的了。我暂时没有什么千兆宽带之类的需求,因此宽带接入我没有计划升级。 家中的网络设施情况则要差一些。我一直认为大功率穿墙或者无线 Mesh 组网什么的不靠谱,因此是用了 AC+AP 的方案。但是因为舍不得钱,以及之前一直很忙没有心思弄的原因,我选用了 TP-Link 的弱电箱专用一体式路由器 TL-R498GPM-AC。这个模块的一个很棒的设计是,它的形状是一个弱电箱模块,可以用螺丝固定在弱电箱内,替换掉原本自带的交换机模块(杂牌百兆废物)。然后它有路由器+AC+PoE 交换机功能,一次满足 3 个愿望。配置非常简单,都是傻瓜型的。这正是满足我当时的需求:不要折腾,能用就行。AP 部分还是 TP-Link 的,买了 3 个面板式 AP 放在房间里,一个吸顶式 AP 放在客厅(顶上没线,实际是丢在电视柜了)。这套设施用下来基本没啥大问题,所以入住大半年我也一直没有动过。 最近想升级家中网络主要是碰到了以下问题: TL-R498GPM-AC 功能太傻瓜,不支持 VLAN,没法做到一个网口既能上网又能看 IPTV 不支持 IPv6,现在可能不是太有用,但这是趋势 性能似乎有点问题,有时会出现控制界面无法访问,有时 AP 跟着会无法用(但是过个半天可能又自己能恢复) 宽带接入 现在是默认的光猫拨号,路由器 NAT 模式,我想改成桥接 虽然这个联通给的光猫没改管理员密码(CUAdmin 可用),但是我不敢乱改参数怕上不了网 想留点其他折腾的空间 现在为了看奈飞我专门搞了个配置好的路由器插在电视机上,虽然能用,感觉有点太蠢了 一直想把老家和自己家的网络打通 …… 在网上收集了一些资料以后,这次升级的方案如下: 使用一个 Mikrotik hEX PoE 路由器作为主路由,带 PoE 功能,可以给 AP 供电,替换掉 TL-R498GPM-AC hEX PoE 带一个 SFP 插口,配 PON Stick 接入光纤,替换掉光猫 另采购一个 TP-Link AC100 控制 AP 这么做把弱电箱的光猫和路由器合到了一个设备,并且功能和性能都强了很多。是又多了个 AC 出来,但这个就不用放在弱电箱了。 ...