从 compareTo 到 native_natural_sort —— Flutter 字符串排序实践
Dart 默认的 compareTo 在人类友好的名称排序场景下问题重重:大小写、CJK 字符、变音符号、数字排序。 本文记录从发现问题到调研五种技术方案,最终开发出 native_natural_sort 包并接入 mhabit 项目的完整过程。
Dart 默认的 compareTo 在人类友好的名称排序场景下问题重重:大小写、CJK 字符、变音符号、数字排序。 本文记录从发现问题到调研五种技术方案,最终开发出 native_natural_sort 包并接入 mhabit 项目的完整过程。
其他语言版本:EN
最近给 Flutter 应用接入了 Microsoft Store 的自动化提交流程, 本以为账号配置会是个一次性的体力活,结果 Partner Center + Entra ID 这一侧就踩了几个坑,落地 CI 之后又冒出来几个更隐蔽的问题, 因此在这里记录一下。
从零配置 VS Code 的 Continue 和 Copilot MCP 插件,打通本地大模型与 AI 编码助手的完整工作流。
路由器 OpenVPN 证书到期后决定换成 WireGuard,记录在 OpenWrt 23.05 上配置 WireGuard 服务器的全过程及踩过的坑。 内容包括安装、服务端与客户端配置、防火墙独立区域方案,以及常见排错。
Flutter 已经为 Android / Darwin 增加 Flavor 支持,这有助于分离开发与发布环境构建, 但 Windows 和 Linux 上的推进接近三年似乎也没有什么进展。 本文将介绍如果通过使用 env 达到近似效果。
近期将家中的 OpenMediaVault 由 6 升级到了 7,记录一下升级过程和踩到的坑。
写在 Table Habit 上架到 Flathub 后,主要作为记录和供其他有需要者进行参考。 共分为两个部分,本文为下半部分:既如何以正确姿势上架到 Flathub。
写在 Table Habit 上架到 Flathub 后,主要作为记录和供其他有需要者进行参考。 共分为两个部分,本文为上半部分:既如何打包自己的 Single-file bundles。
在 GitHub Actions 中构建并自动签名 macOS Flutter 应用, 使用 App Store Connect API 和 Developer ID Certificate 实现自动化发布流程。