运维到底需不需要懂业务?
我被招副总来现在公司的时候(系统运维工程师),公司还没有自己的服务器,都是用兄弟公司的,我们和兄弟公司在一层楼办公。
董事长处于和兄弟公司老总闹掰中,他想把业务全部迁出来。
所以我做的从 0 到 1 建设,网络、服务器上架、整体迁移( KVM ,数据)、基础服务建设( jenkins 、gitlab 、jumpserver 、nexus 、k8s 、prometheus 一堆脚本等等)
现在全部做完了,就剩日常运维和优化啥的,事儿不多。
副总现在说让我接触业务,做一些项目管理,不想让我做一个不懂业务的运维,我问他如果我下一份工作不是这个行业,那也没啥用啊,他告诉我确实没啥用。但是更深入了解业务,才能有全局思维,想的全面。
问一下大佬们,运维到底需不需要懂业务呢?我到底接不接这个事儿呢
我被招副总来现在公司的时候(系统运维工程师),公司还没有自己的服务器,都是用兄弟公司的,我们和兄弟公司在一层楼办公。
董事长处于和兄弟公司老总闹掰中,他想把业务全部迁出来。
所以我做的从 0 到 1 建设,网络、服务器上架、整体迁移( KVM ,数据)、基础服务建设( jenkins 、gitlab 、jumpserver 、nexus 、k8s 、prometheus 一堆脚本等等)
现在全部做完了,就剩日常运维和优化啥的,事儿不多。
副总现在说让我接触业务,做一些项目管理,不想让我做一个不懂业务的运维,我问他如果我下一份工作不是这个行业,那也没啥用啊,他告诉我确实没啥用。但是更深入了解业务,才能有全局思维,想的全面。
问一下大佬们,运维到底需不需要懂业务呢?我到底接不接这个事儿呢
独立开发周记 119:大学生,月入 3W,美金
# 2025,0520-0525
周三上午调试安卓 App 的时候,测试机死活连不上电脑,换了四根线都不行,于是就想着买个新的,小米商城下单的话又送双肩包又送耳机,但是国补的优惠死活无法使用,各种更换绑定手机和银行卡都不行。搞了一上午还是不行,心力交瘁,最后还是在京东用国补下单了。到了晚上才发现,原来不是测试机的问题,是 Mac mini 的 USB-C 接口出了问题,FML !
# 本周工作
安卓小哥回归,安卓端的 App 可以继续迭代了。
## 极简日记 Android
这周提交了 1.3.8 ,更新内容主要有:
- 新增:新建日记小部件
- 新增:每年今日
- 新增:注意事项提醒和 FAQ
其他市场都顺利更新上架,这次华为又出幺蛾子了。
>应用审核意见: 您的应用内会员付费弹窗页面存在无关闭按钮的问题,影响用户体验。
>修改建议:请提供可直接关闭应用内付费弹窗页面的功能,且关闭按钮需清晰可见。
可这个页面是个弹出的 sheet ,下拉就可以关闭的。这个版本就这样了,懒得跟审核员 battle 了,下周还会提交一个版本,在此期间只好让其他安卓用户遥遥领先一下了。
另外,1.3.6 有一个重复显示日记的 bug ,GP 上有个用户因为这个 bug 给了个四星评论。但是我在 1.3.7 修复后忘了通知这个用户,直到 1.3.8 上线后我才回复。惊喜的是,就在我刚回复完两三分钟,这个用户就更改了评论,并且把四星变成了五星。好久都没有和用户这么愉快的交流体验了。

## AI 编程
上周说了要减少让 AI 生成的代码量,这周从两方面进行实践和优化。
### 生成 UI 组件
我让 Windsurf 给我生成一个设计系统,包括各种字体、字重、填充色、背景色、阴影、圆角和间距,都放到一个文件里。所有的 UI 组件都基于这里的规范来进行设计和组装。

然后我在 Dribbble 上搜集了十多个睡眠 App 的设计稿,找出最符合我心中的几个,直接喂给 Windsurf ,让 AI 把图里的组件,按照之前的设计系统里的规范,一个个实现出来。组件包括但不限于卡片、标签、按钮、文字组合等。不要让 AI 把各种组件都写在同一个文件里,这样非常容易产生一个 1000 多行的文件,AI 以后搜索和修改都不方便,要每一个组件都用一个单独的文件来写。一开始写出来的组件都是硬编码的,后期需要根据实际业务调整参数和细节。

### 彻底重构
对于 HealthKit 数据的读取和显示虽然都跑通了,但是很多细节需要优化,特别是卡顿问题。为了把数据读取和存储这部分的「核心技术」实现「全部自研」,我决定对整个 App 进行彻底地重构和重写。
我的 rules 里有一条是:给所有 AI 生成的代码加上注释,所以代码里有着非常详细的注释,每个方法、每个赋值语句、甚至每个变量的声明都有对应的注释,另外 AI 针对修改历史也留下了注释。这就让我的重构工作轻松很多,我的工作就是尽量把相同功能的代码段抽离出来,实现可复用化。而 AI 在这方面就不太擅长,即使是功能非常接近、甚至只是参数个数不一样就会分别从头实现整个方法,导致项目里出现一大堆非常类似的代码。
另外 AI 对于 iOS 17 以后的新 API 都不太会,这些都需要我手动去修改。我还要一边搜集资料一边学,然后再把资料喂给 AI ,让它也跟着学。
# 独立开发者闲聊第四期
这次聊天的小哥可不得了,我本来以为是多年开发经验的老手,没想到是个刚毕业不久的 20 出头的小伙,而且要马上入职大厂了,这你受得了吗?
小哥虽然年纪轻轻,但是拥有多个产品,最成功的一个产品,曾经一个月的收入超过 3W 美元,这你受得了吗?
小哥设计能力也远超于普通程序员,特别是最新的一个 App ,我本以为是出自设计师之手,没想到全部是小哥自己做的。特别是 App 的 logo ,不敢相信是一个程序员的作品,而且还适配了 iOS 18 的深色模式,无论在哪个模式下看都十分精美。小哥说自己之前做过很长时间的视频剪辑,又非常喜欢摄影,因此积累了审美和设计水平。
聊到技术栈,小哥目前只开发 iOS 的 App ,而且只用 SwiftUI ,谈到如何入门 SwiftUI 的时候,小哥说是学习了 Paul Hudson 的 [100 Days of SwiftUI]( https://www.hackingwithswift.com/100/swiftui "100 Days of SwiftUI")。我入门 SwiftUI 是靠 Meng To 的 [Design+Code]( https://designcode.io "Design+Code") 和 RayWenderlich (现在改名成 Kodeco ) 的 [SwiftUI by Tutorials]( https://www.kodeco.com/books/swiftui-by-tutorials "SwiftUI by Tutorials")和其他同系列的电子书。
聊到获取流量,我俩虽然都没有太多经验,但是都一致肯定了大 V 的影响力。他那个日入 3W 美金的 App ,就是被一个国外的知名博主推荐后才名扬海外的。但是我觉得这种情况发生的前提还是 App 首先必须要非常优秀,大 V 为了自己的名誉也不会恰烂饭,何况是这种自发的推荐,肯定是要推荐优秀产品的。而小哥这个 App 正是因为把设计和交互做到了极致,才会被海外用户推荐和认可的。
聊到是否要全职独立开发,我给小哥的建议就是「千万别」。我没有大厂的经验,所以我十分羡慕即将入职大厂的小哥,我建议他先积累经验和眼界。既然现在收入不是个问题,那就把独立开发作为副业,试着不以盈利为目标去做产品。等到做出一个生命周期相对较长的 App ,并且收入也比较稳定,而且实在是不愿意上班了的时候,再去考虑全职独立开发也不迟。
最后小哥推荐了一本书,《像素工厂》,副标题是:游戏开发背后的成功与混乱。小哥推荐的理由是:这本书讲了几个不同的游戏工作室的故事和心态,其实跟我们做 App 还挺像的,即使在各种限制和问题下寻找平衡,感觉很有共鸣和启发。

# 代码之外
为了抢王力宏北京演唱会的门票,连筋膜枪都用上了, 结果两次抢票的机会都没成功。这次的抢票也确实惨烈,我所在的一个 100 多人的群里,最终只有 2 人抢到了票。
钱没有花在演唱会上,但是也并不会省下来。618 来了,想买剃须刀,想买新的测试机,想买新键盘,想买 Apple Watch S10 。
去年跑路的健身房被新老板接手了,为了照顾我们这些之前「被坑」的老会员,给我们特价 999 元一年。这是离我家最近的健身房了,骑电动车三分钟就能到。而且这个健身房有泳池,我去健身房主要就是为了游泳,力量训练倒是次要。新老板就是原来健身房的烧热水的大爷,老两口都是本地人,说是跟房东签了五年合同,我要不要再赌一次?
# 2025,0520-0525
周三上午调试安卓 App 的时候,测试机死活连不上电脑,换了四根线都不行,于是就想着买个新的,小米商城下单的话又送双肩包又送耳机,但是国补的优惠死活无法使用,各种更换绑定手机和银行卡都不行。搞了一上午还是不行,心力交瘁,最后还是在京东用国补下单了。到了晚上才发现,原来不是测试机的问题,是 Mac mini 的 USB-C 接口出了问题,FML !
# 本周工作
安卓小哥回归,安卓端的 App 可以继续迭代了。
## 极简日记 Android
这周提交了 1.3.8 ,更新内容主要有:
- 新增:新建日记小部件
- 新增:每年今日
- 新增:注意事项提醒和 FAQ
其他市场都顺利更新上架,这次华为又出幺蛾子了。
>应用审核意见: 您的应用内会员付费弹窗页面存在无关闭按钮的问题,影响用户体验。
>修改建议:请提供可直接关闭应用内付费弹窗页面的功能,且关闭按钮需清晰可见。
可这个页面是个弹出的 sheet ,下拉就可以关闭的。这个版本就这样了,懒得跟审核员 battle 了,下周还会提交一个版本,在此期间只好让其他安卓用户遥遥领先一下了。
另外,1.3.6 有一个重复显示日记的 bug ,GP 上有个用户因为这个 bug 给了个四星评论。但是我在 1.3.7 修复后忘了通知这个用户,直到 1.3.8 上线后我才回复。惊喜的是,就在我刚回复完两三分钟,这个用户就更改了评论,并且把四星变成了五星。好久都没有和用户这么愉快的交流体验了。

## AI 编程
上周说了要减少让 AI 生成的代码量,这周从两方面进行实践和优化。
### 生成 UI 组件
我让 Windsurf 给我生成一个设计系统,包括各种字体、字重、填充色、背景色、阴影、圆角和间距,都放到一个文件里。所有的 UI 组件都基于这里的规范来进行设计和组装。

然后我在 Dribbble 上搜集了十多个睡眠 App 的设计稿,找出最符合我心中的几个,直接喂给 Windsurf ,让 AI 把图里的组件,按照之前的设计系统里的规范,一个个实现出来。组件包括但不限于卡片、标签、按钮、文字组合等。不要让 AI 把各种组件都写在同一个文件里,这样非常容易产生一个 1000 多行的文件,AI 以后搜索和修改都不方便,要每一个组件都用一个单独的文件来写。一开始写出来的组件都是硬编码的,后期需要根据实际业务调整参数和细节。

### 彻底重构
对于 HealthKit 数据的读取和显示虽然都跑通了,但是很多细节需要优化,特别是卡顿问题。为了把数据读取和存储这部分的「核心技术」实现「全部自研」,我决定对整个 App 进行彻底地重构和重写。
我的 rules 里有一条是:给所有 AI 生成的代码加上注释,所以代码里有着非常详细的注释,每个方法、每个赋值语句、甚至每个变量的声明都有对应的注释,另外 AI 针对修改历史也留下了注释。这就让我的重构工作轻松很多,我的工作就是尽量把相同功能的代码段抽离出来,实现可复用化。而 AI 在这方面就不太擅长,即使是功能非常接近、甚至只是参数个数不一样就会分别从头实现整个方法,导致项目里出现一大堆非常类似的代码。
另外 AI 对于 iOS 17 以后的新 API 都不太会,这些都需要我手动去修改。我还要一边搜集资料一边学,然后再把资料喂给 AI ,让它也跟着学。
# 独立开发者闲聊第四期
这次聊天的小哥可不得了,我本来以为是多年开发经验的老手,没想到是个刚毕业不久的 20 出头的小伙,而且要马上入职大厂了,这你受得了吗?
小哥虽然年纪轻轻,但是拥有多个产品,最成功的一个产品,曾经一个月的收入超过 3W 美元,这你受得了吗?
小哥设计能力也远超于普通程序员,特别是最新的一个 App ,我本以为是出自设计师之手,没想到全部是小哥自己做的。特别是 App 的 logo ,不敢相信是一个程序员的作品,而且还适配了 iOS 18 的深色模式,无论在哪个模式下看都十分精美。小哥说自己之前做过很长时间的视频剪辑,又非常喜欢摄影,因此积累了审美和设计水平。
聊到技术栈,小哥目前只开发 iOS 的 App ,而且只用 SwiftUI ,谈到如何入门 SwiftUI 的时候,小哥说是学习了 Paul Hudson 的 [100 Days of SwiftUI]( https://www.hackingwithswift.com/100/swiftui "100 Days of SwiftUI")。我入门 SwiftUI 是靠 Meng To 的 [Design+Code]( https://designcode.io "Design+Code") 和 RayWenderlich (现在改名成 Kodeco ) 的 [SwiftUI by Tutorials]( https://www.kodeco.com/books/swiftui-by-tutorials "SwiftUI by Tutorials")和其他同系列的电子书。
聊到获取流量,我俩虽然都没有太多经验,但是都一致肯定了大 V 的影响力。他那个日入 3W 美金的 App ,就是被一个国外的知名博主推荐后才名扬海外的。但是我觉得这种情况发生的前提还是 App 首先必须要非常优秀,大 V 为了自己的名誉也不会恰烂饭,何况是这种自发的推荐,肯定是要推荐优秀产品的。而小哥这个 App 正是因为把设计和交互做到了极致,才会被海外用户推荐和认可的。
聊到是否要全职独立开发,我给小哥的建议就是「千万别」。我没有大厂的经验,所以我十分羡慕即将入职大厂的小哥,我建议他先积累经验和眼界。既然现在收入不是个问题,那就把独立开发作为副业,试着不以盈利为目标去做产品。等到做出一个生命周期相对较长的 App ,并且收入也比较稳定,而且实在是不愿意上班了的时候,再去考虑全职独立开发也不迟。
最后小哥推荐了一本书,《像素工厂》,副标题是:游戏开发背后的成功与混乱。小哥推荐的理由是:这本书讲了几个不同的游戏工作室的故事和心态,其实跟我们做 App 还挺像的,即使在各种限制和问题下寻找平衡,感觉很有共鸣和启发。

# 代码之外
为了抢王力宏北京演唱会的门票,连筋膜枪都用上了, 结果两次抢票的机会都没成功。这次的抢票也确实惨烈,我所在的一个 100 多人的群里,最终只有 2 人抢到了票。
钱没有花在演唱会上,但是也并不会省下来。618 来了,想买剃须刀,想买新的测试机,想买新键盘,想买 Apple Watch S10 。
去年跑路的健身房被新老板接手了,为了照顾我们这些之前「被坑」的老会员,给我们特价 999 元一年。这是离我家最近的健身房了,骑电动车三分钟就能到。而且这个健身房有泳池,我去健身房主要就是为了游泳,力量训练倒是次要。新老板就是原来健身房的烧热水的大爷,老两口都是本地人,说是跟房东签了五年合同,我要不要再赌一次?
周末参加活动拍摄的 jk 小姐姐-高清大图
周末闲的无聊,就去参加了一个拍摄活动,拍了 22GB 的照片,给大家分享一下看。


https://www.xiaohongshu.com/explore/6833155a00000000230178cb?source=webshare&xhsshare=pc_web&xsec_token=BBObackPfi16qx2dlTLRhj5toFfAaDvGV5wTY0YACPCWs=&xsec_source=pc_share
镜头:索尼 85 1.4 和 50 1.2
大家觉得我的拍照咋样?
周末闲的无聊,就去参加了一个拍摄活动,拍了 22GB 的照片,给大家分享一下看。


https://www.xiaohongshu.com/explore/6833155a00000000230178cb?source=webshare&xhsshare=pc_web&xsec_token=BBObackPfi16qx2dlTLRhj5toFfAaDvGV5wTY0YACPCWs=&xsec_source=pc_share
镜头:索尼 85 1.4 和 50 1.2
大家觉得我的拍照咋样?
悲伤......被今日京东补贴背刺了,我的 300 块钱。
往年都是卡着 618 那一天买东西的,结果反而不是最优惠的,一般是 6 月 1 最优惠或 5 越月快结束的一两天,618 当天甚至还有没货了的。
所以今年 618 我正好需要买东西就特意提前买了,我以为是 5 月 13 开始的,就在开始后一两天买了小米净水器,国补后实付一千七,因为其他问题没安装买了一直放着。
可是在今天我发现,京东优惠后仅显示就 1750 了,加上国补,实付能一千四,...我第一时间想退货重新下单,结果发现过 7 天了,我刚才又申请价保,国补不算价保......
没想到我以为的 618 ,也出现了早买早享受,晚买享折扣的定律........
往年都是卡着 618 那一天买东西的,结果反而不是最优惠的,一般是 6 月 1 最优惠或 5 越月快结束的一两天,618 当天甚至还有没货了的。
所以今年 618 我正好需要买东西就特意提前买了,我以为是 5 月 13 开始的,就在开始后一两天买了小米净水器,国补后实付一千七,因为其他问题没安装买了一直放着。
可是在今天我发现,京东优惠后仅显示就 1750 了,加上国补,实付能一千四,...我第一时间想退货重新下单,结果发现过 7 天了,我刚才又申请价保,国补不算价保......
没想到我以为的 618 ,也出现了早买早享受,晚买享折扣的定律........
NICOT - 基于 Entity 的后端开发框架
https://www.npmjs.com/package/nicot
https://github.com/purerosefallen/nicot
这个 npm 包我维护比较长时间了,因为生态内还没有同类的东西,所以就自己写了。
NICOT 是一个 Nest.js + nestIes + Class-validator + OpenAPI + TypeORM ( 5 个字母就是这 5 个)集合的后端 CRUD 框架。
只需要定义 Entity 类,用装饰器标识哪些字段是可查的,可创建,可改的,就可以自动生成这个 Entity 的 API 接口的 Controller 和 Service 。还能裁剪出来这个 Entity 的 DTO 类,根据装饰器决定哪些字段存在。
接口也自带分页功能,支持传统分页和游标分页两种形式。
https://www.npmjs.com/package/nicot
https://github.com/purerosefallen/nicot
这个 npm 包我维护比较长时间了,因为生态内还没有同类的东西,所以就自己写了。
NICOT 是一个 Nest.js + nestIes + Class-validator + OpenAPI + TypeORM ( 5 个字母就是这 5 个)集合的后端 CRUD 框架。
只需要定义 Entity 类,用装饰器标识哪些字段是可查的,可创建,可改的,就可以自动生成这个 Entity 的 API 接口的 Controller 和 Service 。还能裁剪出来这个 Entity 的 DTO 类,根据装饰器决定哪些字段存在。
接口也自带分页功能,支持传统分页和游标分页两种形式。
开 NAT6,把 hyper-V 给整坏了
今天无聊上来吐槽一下,昨天周末闲着无聊,把路由器网络改成了 NAT6 ,因为我想试一试给自建的 DNS 指定固定的 ipv6 地址,这样双栈 DNS 地址都可以在 PC 客户端里指定了,弄完简单测试了下,确实可以。但高兴没到 1 分钟,本准备进 wsl2 打算做几个测试,然后发现了大问题,路由全没了,怀疑是 wsl2 开了 mirrored 模式跟 NAT6 不兼容,网上又没啥好资料,折腾了半天没解决,只好赶紧备份一下,还好 VMware 集群正常跑着。然后进 hyper-v 看一下,虚拟交换机配置页面打开就报什么常规故障的错误,设备管理器里网卡也标黄,还有重复的,重启大法试了下机器直接启动不了了,只好赶紧想办法恢复最近还原点,重启后 hyper-v 还是有问题,网上搜各种方案又折腾了半天,决定直接直接把 hyper-v + wsl2 卸载,目录删除,再重装 hyper-v ,然而依旧未果。现在怀疑是不是哪里没清理干净,又在下载 WinSDK 、WDK ,尝试用 devcon 去清理残余,重启后还有残余的网络连接,只是被禁用了,最后又折腾半天,配合注册表才算清理干净,接下来重装 hyper-v ,虚拟交换机总算出现 Default switch 了,接下来还要继续恢复 wsl2 ,累了,有好几次想换回 linux 做主力机的冲动了。
今天无聊上来吐槽一下,昨天周末闲着无聊,把路由器网络改成了 NAT6 ,因为我想试一试给自建的 DNS 指定固定的 ipv6 地址,这样双栈 DNS 地址都可以在 PC 客户端里指定了,弄完简单测试了下,确实可以。但高兴没到 1 分钟,本准备进 wsl2 打算做几个测试,然后发现了大问题,路由全没了,怀疑是 wsl2 开了 mirrored 模式跟 NAT6 不兼容,网上又没啥好资料,折腾了半天没解决,只好赶紧备份一下,还好 VMware 集群正常跑着。然后进 hyper-v 看一下,虚拟交换机配置页面打开就报什么常规故障的错误,设备管理器里网卡也标黄,还有重复的,重启大法试了下机器直接启动不了了,只好赶紧想办法恢复最近还原点,重启后 hyper-v 还是有问题,网上搜各种方案又折腾了半天,决定直接直接把 hyper-v + wsl2 卸载,目录删除,再重装 hyper-v ,然而依旧未果。现在怀疑是不是哪里没清理干净,又在下载 WinSDK 、WDK ,尝试用 devcon 去清理残余,重启后还有残余的网络连接,只是被禁用了,最后又折腾半天,配合注册表才算清理干净,接下来重装 hyper-v ,虚拟交换机总算出现 Default switch 了,接下来还要继续恢复 wsl2 ,累了,有好几次想换回 linux 做主力机的冲动了。
出 Cusor Pro 一年成品号,之前多注册了一些,留下来的可用,数量不多出完为止

激活时开始计算时间,昨天截图 2026 年过期,需要可以冲了
v:zks_1978

激活时开始计算时间,昨天截图 2026 年过期,需要可以冲了
v:zks_1978