中文圈程序员的碎碎念
509 subscribers
3.52K photos
21 videos
129 files
28.7K links
嘿!你也来看码农又在写啥BUG了吗
Download Telegram
入蜀记 42

20250705

夜里一直大风,早上凉爽,不出门都有点说不过去了。远处刚刚现出一点红色,就出门了,六点半。话说昨天那么大的风,都没把西山吹出来,还是半遮面的,到底什么气候环境才能看到呀,感觉到了现在湿气很重的时节,大概率应该是看不到的。

这次出小区跑步,一直到了永陵公园,在路边跑比在小区里舒服不少,脚感好,这个时间人、车都不多, 不过地上很杂乱,风和大雨吹得树叶和树枝到处都是。路过一家早酒的店,也要八点才开始营业的。

公园里有蛙叫,这么深且厚的声音,是牛蛙?还有个老人在亭子里喂猫,三只猫保持着距离在三根柱子附近,最后吃完的橘猫在舔毛。另两只是田园和蓝猫品种,田园被老人叫花花,跟他最亲近。老头喂猫还挺少见的。

沿着一条小河跑,应该是到了宽窄巷子附近,开始下起雨来,还好没带什么怕淋湿的东西,很快下大了,只好找地方躲着,看到一家包子铺,买了包子和豆浆边喝边等,豆浆是现磨的,杯子里还有很多豆渣。十几分钟后渐小,地上甚至都没什么积水,很多人来买包子和馒头,主要是买红糖馒头。

到了市场就干脆买些菜回家。差不多是八点钟了,路上和市场里的人都多了不少。果然生活的正常开始时间,是八点钟,起床时间就是七点、七点半了。

早市刚开,满地都是摆设摊位时扔掉的菜叶,原来摆在摊位上的都已经整理过了,已经有一些损耗,真的好勤快,下次再早点来,看看整理中的摊位的样子。淋湿的果蔬,颜色都格外鲜亮,看着就想买些。

看到销售量大的肉摊,也会把鸡胸肉剥出来凑一堆卖,但这种真的很少见,大多数都是半扇半扇地卖,完全看不到工业肉鸡。还有摊位会提前剁成小块,可能方便回家做鸡杂之类?

早上的摊主们无一例外地十分繁忙,都不怎么抬头搭话,平时路过摊前都会有人问“来点撒子”。

还买了两个包子和桂花糕回家。两家包子店消费,旁边都是买甜馒头甜花卷的,是真的爱吃甜!所以我也买了桂花糕哈哈哈,红糖馒头、甜花卷,这跟老北京最爱买麻酱烧饼、糖火烧、糖油饼都一样的。

今天看视频有点怀念的两种美食:八珍豆腐和河州拌面。

今天忽然听到蝉在叫了,是被雨淹得爬出来了是吗……再不爬出来怕是要淹死了,不过叫声也稀稀拉拉的,可能这边鸟也多哈哈哈。

下午就听讲座了,童明在木心美术馆的讲座,讲内心时间,讲灵韵,讲时间观。他孩子对AI很狂热,而在他看来:AI时代下,更加缺少classic humanity,人类永恒的主题和困境,这些话题总会把人带回到个体中去,而不是被某种大而全或什么唯一真神洗脑。

还提到莎士比亚,懂得历史中央的人的历史,是莎士比亚的厉害之处,很多作品是有历史事件为依据的,但他通过故事,复原了历史中的人性复杂。昨天也看到林语堂推荐莎翁,真的可以读一下了。最近几年经典文学读得越来越少。

后面跟陈丹青对谈的时候,聊到退。退,一退再退,不断减少,推断退出,人上了年纪,似乎都自然地会习惯于做减法的决策。这是不容易接触到老人的原因之一吗?

----------------------

CHANGELOG

20250707 Arlmy 创建、发布

via 素生
最新注册.COM域名最便宜的途径,最低2.7美刀首年

前几天基友问我哪有.com域名注册优惠!现在市面上大部分新注册都得10刀+。这些年的域名新购续费是年年攀升。米农们是养不起域名了!

下面是我收集的几个注册优惠码,不知道何时结束,有需要感觉趁优惠赶紧注册!

更多内容:便宜域名 / 免费域名

Spaceship

优惠码:COMPROS   (COM域名首年 2.9美元)

优惠码:COM67   (COM域名首年 5.87美元)

阿里云

凡新注册.com域名,如果相同前缀的.cn或者.co已经注册且注册时间大于7天,新注的.com即可享受优惠!

根据国别域和.com域名的注册时间间隔,

分为两档活动价格7天<国别域注册时间&LT1年,.com优惠价45元/首年(原价85元)

国别域注册时间≥1年,.com优惠价35元/首年(原价85元)

活动地址:https://51.ruyo.net/aliyun-com

Dynadot

优惠码:JULYCOM25  (51元 COM 域名)

截止时间:2025/08/01 7:59

优惠码:SUMMERCOM25(76元COM域名转移)

截止时间:2025/08/01 7:59

字节火山引擎

.com域名首年 70元

https://www.volcengine.com/activity/domain

Unstoppable Domains

COM域名转入仅需 5.54美元

via 如有乐享 (author: !)
折返点 2527 养伤的原则

2025年第27周。一年过半了。下半年准备好好养伤。 本周总过跑了19英里,平均配速是8分49秒。主要是赤脚跑,用较低的强度坐基础里程和恢复性跑。有几次是儿子跟我一起跑的。他骑车,我跑步,就围着家附近的路转。赤脚和与儿子作伴跑步,都使得强度降低,慢慢强化足部肌肉,改善姿势。

via Conge
苹果刚刚发布了一个奇怪但有趣的编码语言模型

更有趣的是,苹果的模型是基于阿里巴巴的开源基础模型 Qwen2.5‑7B 构建的。阿里巴巴首先对该模型进行了微调,以实现更好的代码生成(作为 Qwen2.5‑Coder‑7B),然后苹果将其拿来进行了自己的调整。

via TecHug (author: techug)
Firefox 没问题,问题出在运营它的人身上

Mozilla 的管理层是个bug,而非功能

via TecHug (author: techug)
Office Professional Plus 2019 VL 版下载与 KMS 激活

由于微软没公开发行过 Office 2019 VL 版本,需要将标准版转换成 VL 版,记不住操作步骤,所以创建此文留个操作备份,方便下次再次安装,如果有纰漏请联系我。

via 任霏博客 (author: renfei)
毕业季回响

大学毕业了的心情对比,高中时我会对着教室发呆,在高考后结束后,同学都回家了,而我们三人还买了零食奶茶,回到学校,光明正大的带着

[隐私保护:由于防盗链开启,部分图片内容已被屏蔽,详细信息请通过原文链接查看。]

via 云心怀鹤 (author: 寻鹤)
五種營收增長法 – 基礎篇

增加產品

幾種常見的做法

互補品:針對原本產品的客戶,追蹤顧客在使用核心產品時還搭配哪些品項,開發互補品,來加強顧客體驗並拉高 LTV。
延伸品:對於有類似需求,但卡在某些關鍵功能不滿足的用戶,可以對產品做一點小改版 or 增加功能,做出延伸產品或第二版產品。最常見的就是把低、中、高階產品補全。
多樣化:不動產品核心,改變容量、外觀。如:迷你裝、家庭號、環保補充包、旅行組、禮盒組合
競爭力延伸:延伸組織的核心能力(技術、供應鏈、品任、通路),創造出完全不同的產品線,以打造第二增長曲線為目標。

增加客單

加價升級

加價升級:提供階梯式版本(入門、進階、專業、優先客服…etc),引導客戶升級
加購優惠:像是購買時,可以加價購買延長保護,就是加購優惠的好例子

增加購買量

使用者常常一起買的競品,剛好你也有此類品項,可包裹成package。
提供更大容量(零售)、提供年訂甚至二年訂(訂閱制產品)
門檻式優惠:買千送百、第二件半價

價值挖掘

限量限定版、IP聯名版。
Freemium 的可考慮更多 charging point。如:進階功能、額外容量、去廣告

增加頻率

會員積點
限時優惠
因應場景微調:不動產品核心,改變容量、外觀、攜帶友善…,如:迷你裝、家庭號、環保補充包、旅行組、禮盒組合

增加通路

核心想法是要了解你的 TA 會出沒在哪些通路,這些就是你該去的地方。

線上百貨:momo、PCHome、蝦皮、酷澎
垂直電商:Pinkoi、各式選品電商
社關團購、KOL團購、低區團購…
拍賣網站
連鎖通路、百貨
代理商、經銷商
Solution Provider,就是拿你的產品兜解決方案的人

增加客戶

增加曝光

各式廣告:FB、Google、公車廣告、電視廣告、RMN、戶外看板…
內容行銷:部落格、白皮書、YouTube 影片
KOL推薦:開箱、實測、聯名企劃、分潤連結
討論區:Reddit/Dcard/PTT/FB 社團深耕
PR &amp; Earned Media:新聞稿、媒體專訪、獎項申請、客座文章
活動:Webinar、線下工作坊、參加大型展覽
品牌/渠道聯名:與互補品牌交叉推廣

Refrral

Organic Referral:像是 LINE、Figma,因為要協作所產生的人拉人效應。
Incentive Referral:像是 Uber 搭車金、Dropbox 容量獎勵…,為了賺取獎勵所產生的人拉人效應。
Breadcrumb Referral:像是 YouTube 可以嵌入 blog 而讓很多人知道這個平台,Survey cake 因為發給很多人做問卷,因而打開知名度。這也是一種 Referral 效應
口碑效應:使用時會被看到,談論可以增進關係或社會資本的,譬如:好看的衣服,使用時會被看到,談論可以增加朋友間的關係。
社群擴散:Hashtag 活動、乾貨分享、議題型內容。

增加轉換率

分眾行銷、個人話推薦
A/B Testing
增加
social prove:評價星等、用戶故事、第三方評測徽章
限時/限量機制:倒數計時、早鳥價、搶購進度條。
結帳流程優化:一頁式結帳、支援多支付方式 (Apple Pay/Line Pay/分期零利率)。
即時協助:真人/AI 線上客服、FAQ 搜尋。
離站挽回:動態再行銷廣告、購物車結帳提醒..
在地化優化:語系、文化情境、法規合規與本地假期促銷檔期。

The post 五種營收增長法 – 基礎篇 first appeared on Mr. PM 下午先生.

via Mr. PM 下午先生 (author: mrpm)
五種營收增長法 – 基礎篇

1.增加產品

互補品:針對原本產品的客戶,追蹤顧客在使用核心產品時還搭配哪些品項,開發互補品,來加強顧客體驗並拉高 LTV。
延伸品:對於有類似需求,但卡在某些關鍵功能不滿足的用戶,可以對產品做一點小改版 or 增加功能,做出延伸產品或第二版產品。最常見的就是把低、中、高階產品補全。
多樣化:不動產品核心,改變容量、外觀。如:迷你裝、家庭號、環保補充包、旅行組、禮盒組合
競爭力延伸:延伸組織的核心能力(技術、供應鏈、品任、通路),創造出完全不同的產品線,以打造第二增長曲線為目標。

2.增加客單

加價升級

加價升級:提供階梯式版本(入門、進階、專業、優先客服…etc),引導客戶升級
加購優惠:像是購買時,可以加價購買延長保護,就是加購優惠的好例子

增加購買量

使用者常常一起買的競品,剛好你也有此類品項,可包裹成package。
提供更大容量(零售)、提供年訂甚至二年訂(訂閱制產品)
門檻式優惠:買千送百、第二件半價

價值挖掘

限量限定版、IP聯名版。
Freemium 的可考慮更多 charging point。如:進階功能、額外容量、去廣告

3.增加頻率

會員積點
限時優惠
因應場景微調:不動產品核心,改變容量、外觀、攜帶友善…,如:迷你裝、家庭號、環保補充包、旅行組、禮盒組合

4.增加通路

核心想法是要了解你的 TA 會出沒在哪些通路,這些就是你該去的地方。

線上百貨:momo、PCHome、蝦皮、酷澎
垂直電商:Pinkoi、各式選品電商
社關團購、KOL團購、低區團購…
拍賣網站
連鎖通路、百貨
代理商、經銷商
Solution Provider,就是拿你的產品兜解決方案的人

5.增加客戶

增加曝光

各式廣告:FB、Google、公車廣告、電視廣告、RMN、戶外看板…
內容行銷:部落格、白皮書、YouTube 影片
KOL推薦:開箱、實測、聯名企劃、分潤連結
討論區:Reddit/Dcard/PTT/FB 社團深耕
PR &amp; Earned Media:新聞稿、媒體專訪、獎項申請、客座文章
活動:Webinar、線下工作坊、參加大型展覽
品牌/渠道聯名:與互補品牌交叉推廣

Refrral

Organic Referral:像是 LINE、Figma,因為要協作所產生的人拉人效應。
Incentive Referral:像是 Uber 搭車金、Dropbox 容量獎勵…,為了賺取獎勵所產生的人拉人效應。
Breadcrumb Referral:像是 YouTube 可以嵌入 blog 而讓很多人知道這個平台,Survey cake 因為發給很多人做問卷,因而打開知名度。這也是一種 Referral 效應
口碑效應:使用時會被看到,談論可以增進關係或社會資本的,譬如:好看的衣服,使用時會被看到,談論可以增加朋友間的關係。
社群擴散:Hashtag 活動、乾貨分享、議題型內容。

增加轉換率

分眾行銷、個人話推薦
A/B Testing
增加
social prove:評價星等、用戶故事、第三方評測徽章
限時/限量機制:倒數計時、早鳥價、搶購進度條。
結帳流程優化:一頁式結帳、支援多支付方式 (Apple Pay/Line Pay/分期零利率)。
即時協助:真人/AI 線上客服、FAQ 搜尋。
離站挽回:動態再行銷廣告、購物車結帳提醒..
在地化優化:語系、文化情境、法規合規與本地假期促銷檔期。

The post 五種營收增長法 – 基礎篇 first appeared on Mr. PM 下午先生.

via Mr. PM 下午先生 (author: mrpm)
在 SwiftUI 中,如何判断 Text 是否被截断?

Text 在 SwiftUI 中大量被使用,与 UIKit/AppKit 中对应的组件相比,Text 无需配置,开箱即用,但这也意味着开发者丧失了更多对其的控制能力。在本文中,我们将通过一个实际案例来展示,如何用 SwiftUI 的方式来完成一些看似"不可能"的任务:在一堆给定的视图中,找出第一个文本未被截断的,并以此作为需求尺寸。

Subscribe English RSS

阅读全文

via 肘子的 Swift 记事本 | Fatbobman's Blog
K8s集群etcd磁盘更换

在 Kubernetes 生产环境中更换 etcd 节点的磁盘是一个高风险操作,需谨慎执行。什么情况需要更换磁盘?

磁盘性能不足,如机械盘升级到 SSD
磁盘硬件存在问题,影响稳定性

ETCD 对磁盘性能要求非常敏感,强烈建议使用 SSD 且独立挂盘。如果有更高性能要求,可以选择分离 snapshot(快照文件)/wal(预写日志)的目录,使用两块盘分离 IO 读写。

以下是详细步骤和注意事项,以三节点 etcd 集群 (ETCD 使用 static pod 方式部署)为例:

核心原则

1. 一次只操作一个节点:确保集群始终满足 N/2 + 1 的存活节点(3 节点集群需至少 2 节点在线)。
2. 完整备份:操作前必须备份 etcd 数据,并制定好灾备恢复计划。
3. 业务低峰期操作:减少对集群的影响,并制定好验证方案。
4. 演练及回滚计划:生产环境操作前务必在测试环境演练!确保团队熟悉流程并备有回滚计划。

操作步骤

1. 前置准备

● 备份 etcd 数据(在任一 etcd 节点执行):
ETCDCTL_API=3 etcdctl \
  --endpoints=https://127.0.0.1:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  snapshot save /tmp/etcd-snapshot-$(date +%Y%m%d).db
验证备份完整性:
etcdutl snapshot status /tmp/etcd-snapshot-*.db

● 检查集群健康状态
ETCDCTL_API=3 etcdctl \
  --endpoints=10.0.1.6:2379,10.0.1.7:2379,10.0.1.8:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  endpoint status -w table

ETCDCTL_API=3 etcdctl \
  --endpoints=10.0.1.6:2379,10.0.1.7:2379,10.0.1.8:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  endpoint health -w table


找到 leader 节点,换盘先从 follower 节点开始

2. 更换第一个 etcd 节点的磁盘(以 etcd-node1 为例)

● 步骤 2.1:停止 etcd 服务,备份 etcd 目录数据
mv /etc/kubernetes/manifests/etcd.yaml /etc/kubernetes/
# 检查 etcd 进程是否已经退出
ps -ef | grep etcd
kubectl get po -n kube-system | grep etcd
# 备份 etcd 目录数据
cp -rp {etcd 数据目录} {备份目录}

● 步骤 2.2:更换物理磁盘
● 步骤 2.3:恢复数据(可选)
通常新节点会从集群同步数据,但若需快速恢复,可从备份还原:
cp -r {备份目录}  {etcd 新盘挂载的数据目录}

● 步骤 2.4:重启 etcd 服务
mv /etc/kubernetes/etcd.yaml /etc/kubernetes/manifests/
# 确认etcd启动
kubectl get po -n kube-system | grep etcd

● 步骤 2.5:验证节点恢复
ETCDCTL_API=3 etcdctl \
  --endpoints=10.0.1.6:2379,10.0.1.7:2379,10.0.1.8:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  endpoint status -w table

ETCDCTL_API=3 etcdctl \
  --endpoints=10.0.1.6:2379,10.0.1.7:2379,10.0.1.8:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  endpoint health -w table

watch "etcdctl member list"  # 观察节点状态变为 started


3. 重复操作其他节点

按相同流程操作 etcd-node2 → etcd-node3
● 每次间隔至少 10 分钟,确保集群完全稳定,中间间隔可做集群验证。

4. 最终验证

● 集群状态
ETCDCTL_API=3 etcdctl \
  --endpoints=10.0.1.6:2379,10.0.1.7:2379,10.0.1.8:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  endpoint status --cluster -w table

● Kubernetes 功能测试
kubectl get nodes --v=7
kubectl create deployment test --image=nginx && kubectl delete deployment test


关键注意事项

1. 磁盘挂载配置
2. etcd 参数检查
3. 灾难恢复预案
4. 性能优化建议

常见问题处理

● 节点无法加入集群
● 数据不一致

参考:

etcd性能问题排查及解决方案
k8s修改etcd 2379端口
k8s master join 时etcd证书报错问题
LVM卷在线扩缩容及常用操作

via CHEGVA (author: anzhihe)
半小时搓一个信息系统,AI编程已成现实?

最近实在有点太累了,以至于文章、视频、游戏啥也不想碰。 今年4月份,我体验了一下用ChatGPT、Gemini、Deepseek等模型搓了一些小工具,当时就觉得即便是充了ChatGPT的Plus会员,它的上限也就那样了。我体验下来的感想是:能够做一些实用小工具,或者是给你现有的项目发现问题、提供建设性意见,但是仍旧需要你拥有足够的能力去修改。无论是用网页版还是通过copilot调用模型,一旦项目的规模比较大,就极有可能超出上下文限制,开始记忆错乱或者失忆。 其实就现在AI的发展和竞争来说,所谓最新消息也很快过时。作为个人在使用的途中也会掺杂很多主观的因素影响,氪金与不氪金的体验也可能天差地别,上次文章过后就因为体验感的变化让我选择了Gemini和Claude作为我日常工作的重要辅助工具。 在同一个项目下,

来源

via 雪猫社
mysql学习:基于mysql实战45讲

基于极客时间中的MySQL实战45讲,可以查看极客时间文档,相关github仓库it-ebooks-0/geektime-books: 📚️ 极客时间电子书zkep/my-geektime: 👏 极客时间下载器 & 在线文档

基础

基础架构

目前mysql版本基本大于8.0,而经典老版本5.7一些功能在新版本中已经移除(比如查询缓存).

连接器

连接器用于客户端建立连接,获取权限,维持和管理连接.

客户端如果太长时间没动静,连接器就会自动将它断开。这个时间是由参数wait_timeout控制的,默认值是8小时。

数据库里面,长连接是指连接成功后,如果客户端持续有请求,则一直使用同一个连接短连接则是指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个

建立连接的过程通常是比较复杂的,所以建议在使用中要尽量减少建立连接的动作,也就是尽量使用长连接。

但是全部使用长连接后,你可能会发现,有些时候MySQL占用内存涨得特别快,这是因为MySQL在执行过程中临时使用的内存是管理在连接对象里面的。这些资源会在连接断开的时候才释放。所以如果长连接累积下来,可能导致内存占用太大,被系统强行杀掉(OOM),从现象看就是MySQL异常重启了。

怎么解决这个问题呢?你可以考虑以下两种方案。

1. 定期断开长连接。使用一段时间,或者程序里面判断执行过一个占用内存的大查询后,断开连接,之后要查询再重连。
2. 如果你用的是MySQL 5.7或更新版本,可以在每次执行一个比较大的操作后,通过执行 mysql_reset_connection来重新初始化连接资源。这个过程不需要重连和重新做权限验证,但是会将连接恢复到刚刚创建完时的状态。

查询缓存

连接建立完成后,就可以执行语句了。执行逻辑就会来到第二步:查询缓存。

MySQL拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。之前执行过的语句及其结果可能会以key-value对的形式,被直接缓存在内存中。key是查询的语句,value是查询的结果。如果你的查询能够直接在这个缓存中找到key,那么这个value就会被直接返回给客户端
需要注意的是,MySQL 8.0版本直接将查询缓存的整块功能删掉了,也就是说8.0开始彻底没有这个功能了。


分析器

进行词法分析,语法、语义解析

优化器

执行器

执行查询语句流程

执行更新语句流程

日志模块

事务隔离

索引

全局锁和表锁

行锁

事务隔离

普通索引和唯一索引

唯一索引相比普通索引: 都是在B+树上,唯一索引有唯一约束条件.

via Sekyoro的博客小屋