获得徽章 0
- 年轻时欠的债,中年连本带利都要还。
小龋齿补个几百块,烂到牙髓就是几千上万还受罪。久坐一舒服,35岁后梨状肌综合征、骶髂关节炎找上门。这些不是大毛病,但够磨人的。每天疼一点,生活质量就往下掉一点。12 - 我的 AI 时代感悟:
1. 好奇心 > 聪明
2. 好问题 > 好答案
3. 超级个体时代来了
4. 岗位从执行转向判断
5. Vibe Coding = 基本技能
6. AI是工具,不是挡箭牌展开评论6 - #每天一个知识点#
这几天的进度
imooc的阿里新零售数据库设计与实战
9-4 分布式Docker环境
9-5 搭建PXC集群
9-6 管理Docker数据卷
9-7 PXC集群的注意事项
9-8 搭建PXC集群分片
9-9 搭建Replication集群
9-10 Replication集群的注意事项
9-11 搭建Replication集群分片
9-12 本章总结
----------------------
这几天搞定VM环境. 原本讲师用的CentOS 7, 太旧了. 会一直crash.
换成Rocky Linux 9, 很不错.
PXC变成8之后, 很多坑要解决.
第一个是pxc-encrypt-cluster-traffic, PXC要求要用SSH的certificate. 为了只是学习部署集群, 先关了...
二来是, 在VM执行docker又要修改docker内的/etc/my.cnf, 4台VM改来改去, 头都昏了.展开评论4 - 今天依旧是多巴胺狠狠释放的一天呢 ~ ! 今天跑了 5 KM , 用时 26 min;
今天搞了 :
1. 观看技术直播在线面试 Java后端 + AI 编程
2. 今天刷LeetCode的时候 , 用的for循环 , 结果一看答案是 for...of ; 于是我想知道 JS 中普通 for 循环与for...of 循环区别是什么 ( for...in 数组遍历的是索引 ; for...of 遍历「可迭代对象」的值)
我的Emotion解决方法:读书,
知乎,
学习(视频or文档or书籍),
电影,
跑步,
自律众包仔,
TT语音 ~ !!
okokok , 这个沸点到这里就结束了 , 我们下个沸点再见 ~ !!!
#挑战每日一条沸点#展开评论8 - `cargo-public-api` 是一个为 Rust 开发者设计的 Cargo 子命令,它的核心作用是**列出并对比(diff)一个 Rust Crate 的公共 API**。
如果你在开发一个库(library),保持 API 的稳定性或遵循语义化版本(SemVer)至关重要。这个工具可以帮你清晰地看到哪些函数、结构体或 Trait 被暴露给了外部用户。
---
### **核心功能**
* **列出公共 API**:它可以扫描你的项目,并以纯文本或 JSON 格式输出所有标记为 `pub` 的项(如函数签名、结构体字段、枚举变体等)。
* **对比差异(Diff)**:这是它最强大的地方。你可以对比当前分支与 `main` 分支,或者对比当前代码与已发布的版本。如果某个 API 被删除了或者签名变了,它会直观地标示出来。
* **CI 门禁**:你可以将其集成到 GitHub Actions 等 CI 流程中。如果开发者在提交代码时意外修改了公共 API,CI 可以直接报错,防止无意间引入破坏性改动(Breaking Changes)。展开12 - ### **它是如何工作的?**
`cargo-public-api` 依赖于 Rust 编译器的 **`rustdoc` JSON 输出**。
1. 它会调用 `cargo +nightly rustdoc` 并要求生成 JSON 格式的文档。
2. 然后解析这些 JSON 数据,提取出所有的公共定义。
3. 最后根据你的需求进行格式化展示或对比。
> **注意**:由于 `rustdoc` 的 JSON 格式目前仍然是不稳定的(Unstable),因此使用此工具通常需要安装 **Nightly** 版本的 Rust 工具链。
---
### **常用命令示例**
* **列出当前项目的所有公共 API:**
```bash
cargo public-api
```
* **对比当前代码与 Git 上一次提交的差异:**
```bash
cargo public-api --diff-git-checkouts main current-branch
```
* **仅显示发生变化的 API:**
```bash
cargo public-api --diff-git-checkouts main current-branch --changes-only
```
### **为什么不直接用 `cargo-semver-checks`?**
这两个工具经常被拿来比较,但侧重点略有不同:
* **`cargo-semver-checks`**:更智能,它会自动判断你的修改是否违反了 SemVer 规则(例如:你改了一个字段类型,它会告诉你这需要升级大版本)。
* **`cargo-public-api`**:更直观、更底层。它只是如实地告诉你“API 变了”,适合那些想要完全掌控 API 每一个字节变化的开发者,或者用于生成 API 变更日志。
---展开评论2