允许微软应用商店使用本地代理

UWP 应用默认不允许访问本地 localhost 地址。微软应用商店也属于 UWP 应用,如果 Windows 开启了系统代理,且代理服务器是地址是 localhost 的话,微软应用商店就无法联网。而每次启动微软应用商店就要关闭系统代理会非常麻烦。

通过下面的命令可以允许微软应用商店访问本地代理:

……

CentOS 7 部署简易 HTTP 代理

需要在一台 CentOS 7 系统的小型 VPS 上安装 HTTP 代理。评估了各种方案,最终选择了 Xray。它占用资源最少,安装配置也最简单。

……

Svelte 前端开发笔记

近期用 Svelte 开发了一个小项目,记录在开发过程中遇到的一些问题。

……

CentOS 7 磁盘清理脚本

一台磁盘空间仅 5GB 的 VPS 主机磁盘耗尽。用 du -sh /* 命令检查了一下,除了 swap 占用的 1GB 空间外,剩下就是 /var 目录占用了大头。其中,记录登录失败事件的日志文件 /var/log/btmp 就有上百兆大小。

使用如下命令清理日志和缓存,腾出了 1.5GB 左右的空间:

……

Cloudflare 代理自签名 HTTPS 证书的源站

源站使用 Cloudflare 的 CDN 服务非常方便,只要将 DNS 托管在 Cloudflare 平台,然后设置 DNS 记录时,代理状态勾选「已代理」就行了。不过这一步操作无法选择源站使用的是 HTTP 协议还是 HTTPS 协议,依稀记得有个地方是可以设置的。翻了一遍操作菜单,在左侧导航菜单的「STL/TLS > 概述」里找到了,加密模式有如下四个选项:

  1. 关闭(不安全)
    未应用加密。关闭 SSL 将禁用 HTTPS,浏览器同时会显示警告,指出您的网站不安全。
  2. 灵活
    仅在访问者与 Cloudflare 之间启用加密。这可以避免浏览器发出安全警告,但 Cloudflare 与您的源服务器之间的所有连接均通过 HTTP 建立。
  3. 完全
    启用加密端到端。当您的源服务器支持 SSL 认证但未使用有效的公开可信的证书时,使用此模式。
  4. 完全(严格)
    (推荐模式)启用端到端加密,对源服务器证书强制执行验证。使用 Cloudflare 的源服务器 CA 为您的源服务器生成证书。

不过这个设置是全局的,更改后会对当前站点下所有的 DNS 记录生效。Cloudflare 不支持针对每条 DNS 记录设置单独的加密模式,也不支持 HTTPS -> HTTP 的 Fallback 策略。

……

Flask 项目中使用 Svelte

如果想在新项目中同时使用 Flask 后端和 Svelte 前端,可以通过 flask-svelte 进行创建。而对于已有项目,在不重构 Flask 项目目录结构的前提下,可以按照本文的方法集成 Svelte 前端。

假设现有的 Flask 项目目录结构如下:

/home/user/my-project/
├── app/
│   ├── __init__.py
│   ├── models.py
│   ├── views.py
│   ├── templates/
│   │   └── index.html
│   └── static/
│       └── style.css
├── tests/
│   └── test_app.py
├── venv/
├── setup.py
└── MANIFEST.in

my-project 下创建一个名为 frontend 的 Svelte 前端项目:

……

什么是灵敏度、特异性和 ROC 曲线

在循证医学中,会通过一些统计学指标来评估一种疾病诊断方法的有效性。比如在日常生活中经常听到的灵敏度、特异度、阳性预测值、阴性预测值,以及 ROC 曲线等。此外,这些指标也可以在计算机科学领域用于机器学习的模型评估。

以疾病诊断为例,一个人只存在有病(阳性)或没病(阴性)两种情况。对于这类二元分类模型,诊断(预测)结果分为四种:

……

Rye!就决定是你了! Python 环境及包管理工具

自 2025 年 2 月发布 0.44 版后,Rye 项目再无更新。Rye 项目之后可能会不再更新,其功能将合并进 uv 项目中。

涉及 Python 环境及包管理的工具七七八八加起来不下于十几种,看得人眼花缭乱。以至于患有选择困难症的本人还在坚持使用最原始 pip + venv 来构建 Python 运行环境。为了与时俱进,经过多方比较,最后选择了 Rye 作为今后的主力生产工具了。

……

WSL 使用技巧

Windows Subsystem for Linux 是 Windows 上运行 Linux 环境的兼容层。WSL 有两个版本,分别是 WSL 1 和 WSL 2,后者现在是 Windows 默认安装的版本。两个版本在底层实现上有很大区别,WSL 1 通过 lxss.syslxcore.sys 这两个 Windows 内核驱动来模拟 Linux 内核,而 WSL 2 通过 Hyper-V 虚拟机托管运行了一个经过优化过的 Linux 内核,能够提供完整的 Linux 系统调用,并支持 systemd 和 IPv6。缺点是跨系统的文件系统访问性能比 WSL 1 差很多(但 WSL 2 的文件 IO 性能比 WSL 1 的更好)。因此,当使用 WSL 作为开发环境时,建议不要将源代码存放在 Windows 的文件系统下

……

获取 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 来获取当前系统的默认字体会更加可靠。

……