看来新的项目有用到之前没用过的库,所以需要了解一下。
记一个 ai 使用问题
source_gen:combining_builder on xx.dart:xx.g.dartmust be included as a part directive in the input library with:
经过一个多小时的 chatgpt o1 和 claude 3.5 sonnet 的轮番使用,都没解决的问题,最后靠 4o 的联网能力解决了。
2025 想法解读
MacMini 扩容
x(twitter) 链接解析
2025 的目标
MacOS装机实用
自定义 GitHub Copilot 的 Commit Message 格式
也是借着 GitHub Copilot 免费额度的东风,我最近开始尝试自定义 Git 的 Commit Message 格式。这样可以让团队的 Commit Message 更加统一,也方便后续的代码 review 和版本管理。
这里顺带说下,这个东风也是靠着 cursor 等的竞争,而且截止到今天 2024-12-24,自动生成的功能确实离 cursor 差的不是一点点,尤其是上下文的能力。
比如一个变量的修改,width 和 height,如果你改成了 aWidth,基本上 Copilot 只能识别到一行也就是光标行的内容,而 cursor 可以识别到后续三四处的地方,这个差距还是很明显的。更厉害的是,还没移动到紧接着的 height 行,也是改成 aHeight,Cursor 就已经能识别到了,这是代差啊。
目前 GitHub Copilot 并没有提供一个「一键式」的配置项来固定生成某种格式的 commit message,但我们可以通过一些技巧来“引导”Copilot 生成符合预期格式的提交信息。
Flutter状态管理
之前项目用过provider,但是最近看到riverpod和GetX也很火,所以想对比一下这三个状态管理库。
下面我们用「计数器」这样一个简单的例子,分别展示 Provider、Riverpod 和 GetX 在 Flutter 中如何做状态管理,并在最后进行对比总结。这些示例都力求最小可运行,方便你快速上手。
Flutter画面缩放平移
我们来“抽丝剥茧”地分析一下 _updateTransformation
方法是如何工作、为什么要这样计算,以及其中涉及到的数学原理(主要是平面几何、线性代数的知识),并在此过程中看看它是如何帮助我们在 Flutter 中实现「可缩放和可平移」的功能。