- 文章
在循证医学中,会通过一些统计学指标来评估一种疾病诊断方法的有效性。比如在日常生活中经常听到的灵敏度、特异度、阳性预测值、阴性预测值,以及 ROC 曲线等。此外,这些指标也可以在计算机科学领域用于机器学习的模型评估。
以疾病诊断为例,一个人只存在有病(阳性)或没病(阴性)两种情况。对于这类二元分类模型,诊断(预测)结果分为四种:
……
自 2025 年 2 月发布 0.44 版后,Rye 项目再无更新。Rye 项目之后可能会不再更新,其功能将合并进 uv 项目中。
涉及 Python 环境及包管理的工具七七八八加起来不下于十几种,看得人眼花缭乱。以至于患有选择困难症的本人还在坚持使用最原始 pip + venv 来构建 Python 运行环境。为了与时俱进,经过多方比较,最后选择了 Rye 作为今后的主力生产工具了。
……
Windows Subsystem for Linux 是 Windows 上运行 Linux 环境的兼容层。WSL 有两个版本,分别是 WSL 1 和 WSL 2,后者现在是 Windows 默认安装的版本。两个版本在底层实现上有很大区别,WSL 1 通过 lxss.sys 和 lxcore.sys 这两个 Windows 内核驱动来模拟 Linux 内核,而 WSL 2 通过 Hyper-V 虚拟机托管运行了一个经过优化过的 Linux 内核,能够提供完整的 Linux 系统调用,并支持 systemd 和 IPv6。缺点是跨系统的文件系统访问性能比 WSL 1 差很多(但 WSL 2 的文件 IO 性能比 WSL 1 的更好)。因此,当使用 WSL 作为开发环境时,建议不要将源代码存放在 Windows 的文件系统下。
……
自 Windows Vista 和 Windows Server 2008 开始,操作系统界面默认的字体为 Segoe UI ,而 Windows XP 及之前的系统界面默认字体为 Tahoma 。不过 Segoe UI 字体的字形并不包含包括汉字在内的东亚文字。中文版 Windows 使用微软雅黑作为默认中文字体。
其他语言的默认字体见下表:
| 语言 | 字体 |
|---|---|
| 简体中文 | Microsoft YaHei UI |
| 繁体中文 | Microsoft JhengHei UI |
| 日文 | Yu Gothic UI |
| 韩文 | Malgun Gothic |
| 希伯来文 | Gisha |
| 泰文 | Leelawadee |
不过相较于查表获取 Windows 系统的默认字体,使用 Windows API 来获取当前系统的默认字体会更加可靠。
……
在前文《试用跨平台 GUI 框架 HaxeUI》中提到了 OpenFL 的 TextField 在启用输入法时无法显示候选词列表的问题。经过一番摸索,发现了问题出在了 SDL 库的身上。
OpenFL 的底层基于 Lime ,而 Lime 的桌面后端又是基于 SDL 。OpenFL 默认使用的 SDL 代码位于 openfl/libsdl 。问题定位于源文件 SDL_windowskeyboard.c 中的 IME_init() 函数中,只要将第 373 行的代码注释掉,就可以正常显示输入法候选词列表了:
……
HaxeUI 是一款跨平台 GUI 框架,支持网页、桌面和移动端。 框架前端使用 Hexo 语言开发。框架后端使用图形引擎或者原生跨平台 GUI 框架,比如 OpenFL, NME, Kha,PixiJS, wxWidgets, Winforms 等。最终生成 C++ 代码编译成本地可执行文件或者 HTML 代码。在各种后端中,除了 wxWidgets 和 Winforms 使用原生组件外,其他都是使用图形引擎绘制或者生成 HTML 代码。

Haxe 也是一个比较有意思的语言。它本身不能进行本地编译,而是转译成其他语言,比如 Lua, PHP, Java, Python, C++, C# 等,也可以编译成 Neko 或 HashLink 虚拟机的字节码(详见 Haxe Compiler Targets)。Haxe 语言诞生于 2005 年,算是历史久远了,然而其社区却一直不温不火,网上也很难找到中文资料。 Haxelib 上的开发者提交的三方库数量和 Python 的 PyPi 相比,只能说是聊胜于无。
……
Free Pascal 支持交叉编译,理论上是可以在 Windows 平台上编译 Linux 可执行文件的,但是官方没有提供相关文档,且不建议这么做。除了使用虚拟机外,在 Windows 平台上还可以使用 WSL 来交叉编译 Lazarus 项目。
……
本文仅适用于 Google Chrome, Microsoft Edge 等使用 Chromium 内核的浏览器。此内核的浏览器会将浏览器的访问历史记录储存在一个 SQLite 数据库文件中,可以用任何支持 SQLite 数据库 GUI 工具打开。常用的免费 SQLite 数据库 GUI 工具有:
在不同的操作系统下, Google Chrome 的历史记录数据库文件默认保存路径如下:
%LOCALAPPDATA%\Google\Chrome\User Data\Default\History~/.config/google-chrome/Default/History/Users/<username>/Library/Application Support/Google/Chrome/Default/History在 Windows 下, Microsoft Edge 的历史记录数据库文件保存路径为:
……
Lazarus 是一个与 Delphi 兼容的跨平台 RAD 集成开发环境。和 Delphi 一样, Lazarus 可以拖放组件,快速开发 GUI 应用程序。它使用 Free Pascal 作为后端编译器。当前的 Lazarus 版本是 2.2.6 ,内置的 Free Pascal 编译器版本是 3.2.2 。
……
在 CudaText 汉化包项目中需要实现一个 CI/CD 脚本:一是用 msgfmt 命令生成 MO 文件;二是将生成的汉化包发布到 main 分支上。第一步倒是很容易通过 GitHub Actions 调用 Makefile 脚本来实现,第二步纯手写的话似乎比较麻烦,不如我们先问一下神奇的 ChatGPT 吧:
……