标签

2-3-4-tree

Back to Top ↑

2-3-tree

Back to Top ↑

accept-encoding

正确利用 Nginx 缓存加速 Github Page 访问

最近在尝试为博客进行缓存预热时, 发现脚本请求明明已经显示 “HIT”, 同时服务器也设置了正确的 “proxy_cache_key”, 但是使用浏览器或其他设备访问还是可能无法命中缓存. 本文将尝试分析产生这类问题的原因 (Vary: Accept-Encoding), 并给出对应的解决方案.

Back to Top ↑

agent-config

Create Prompt

按照”集中契约、分布引用”模式,为某个角色/任务生成新的 prompt 契约文件, 并为各平台(Continue / Claude Code / Copilot)生成对应的引用层文件。

Create Rule

按照”集中契约、分布引用”模式,为项目生成或更新规则文件, 并为各平台生成对应的引用层。

Fix Init

扫描并规范化各 AI Agent 的初始化文件,统一指向 AGENTS.md 作为单一事实来源, 避免规则内容在多处重复。

Fix Prompts

检测未遵循”集中契约”模式的 prompt 文件,将其规范化为指向 prompts/.md 的引用层。

Back to Top ↑

ai

Create Prompt

按照”集中契约、分布引用”模式,为某个角色/任务生成新的 prompt 契约文件, 并为各平台(Continue / Claude Code / Copilot)生成对应的引用层文件。

Create Rule

按照”集中契约、分布引用”模式,为项目生成或更新规则文件, 并为各平台生成对应的引用层。

Fix Init

扫描并规范化各 AI Agent 的初始化文件,统一指向 AGENTS.md 作为单一事实来源, 避免规则内容在多处重复。

Fix Prompts

检测未遵循”集中契约”模式的 prompt 文件,将其规范化为指向 prompts/.md 的引用层。

Git Commit

根据已 staged 的改动,生成符合个人风格的简洁 git commit message 并提交。

Back to Top ↑

algorithm

Back to Top ↑

android

如何将 Flutter 应用上架到 F-Droid

最近在 F-Droid 上架了自己的第一款开源应用 Table Habit, 在这里记录一下上架的大概流程和 遇到的一些问题, 一方面方便自己以后上架其他应用, 另一边放也希望大家遇到类似问题的时候能够有一个 可行的 workflow, 如果想查看具体细节可以看 这里 的讨论.

Back to Top ↑

app-store

如何将 Flutter 应用上架到 F-Droid

最近在 F-Droid 上架了自己的第一款开源应用 Table Habit, 在这里记录一下上架的大概流程和 遇到的一些问题, 一方面方便自己以后上架其他应用, 另一边放也希望大家遇到类似问题的时候能够有一个 可行的 workflow, 如果想查看具体细节可以看 这里 的讨论.

Back to Top ↑

asdf

本地多 Dart 环境配置

在 Dart Package 开发中, 管理并使用特定 Dart-SDK 版本很有必要. 常规方法如使用 fvm 不适合纯 Dart Package 开发, 因此需要手动或通过工具 (asdf) 获取 Dart-SDK. 本文主要分为两部分: 如何获取特定版本的 Dart-SDK 与如何在 VSCode 中进行配置.

Back to Top ↑

b-tree

Back to Top ↑

barrier

Back to Top ↑

binary-b-tree

Back to Top ↑

binary-search-tree

Back to Top ↑

blog

Back to Top ↑

build

Back to Top ↑

ci/cd

Back to Top ↑

code-signing

Back to Top ↑

code-style

Flutter 中的是否应该使用 Functional Widgets

在刚开始写 Flutter 应用没多久的时候,相信大家(包括我自己)都会有这样一个疑问: 为什么 Flutter 官方教程推荐将子组件包装为一个StatelessWidget, 如果为了解决 Widget 嵌套过深的问题,明明可以使用一个或者多个 Helper 函数来将 build 中的 Widget进行拆分。 ...

Back to Top ↑

continue

Back to Top ↑

copilot

Back to Top ↑

dart

本地多 Dart 环境配置

在 Dart Package 开发中, 管理并使用特定 Dart-SDK 版本很有必要. 常规方法如使用 fvm 不适合纯 Dart Package 开发, 因此需要手动或通过工具 (asdf) 获取 Dart-SDK. 本文主要分为两部分: 如何获取特定版本的 Dart-SDK 与如何在 VSCode 中进行配置.

Flutter 中的是否应该使用 Functional Widgets

在刚开始写 Flutter 应用没多久的时候,相信大家(包括我自己)都会有这样一个疑问: 为什么 Flutter 官方教程推荐将子组件包装为一个StatelessWidget, 如果为了解决 Widget 嵌套过深的问题,明明可以使用一个或者多个 Helper 函数来将 build 中的 Widget进行拆分。 ...

Back to Top ↑

dart-sdk

本地多 Dart 环境配置

在 Dart Package 开发中, 管理并使用特定 Dart-SDK 版本很有必要. 常规方法如使用 fvm 不适合纯 Dart Package 开发, 因此需要手动或通过工具 (asdf) 获取 Dart-SDK. 本文主要分为两部分: 如何获取特定版本的 Dart-SDK 与如何在 VSCode 中进行配置.

Back to Top ↑

ddns

Back to Top ↑

ddns-scripts

Back to Top ↑

debug

Back to Top ↑

dnspod

Back to Top ↑

docker

Penpot 2.x Docker 部署, 开放互联网访问与各种踩坑经验

最近将 penpot 成功部署到自己的服务器上并为了方便自己使用配置了互联网访问. 由于官方教程比较模糊, 部署期间出现并成功处理了一些问题, 特此在这边博文中进行记录. 希望能够帮到后续有需要部署 penpot 或是涉及 traefik 的人.

Back to Top ↑

docker-compose

Penpot 2.x Docker 部署, 开放互联网访问与各种踩坑经验

最近将 penpot 成功部署到自己的服务器上并为了方便自己使用配置了互联网访问. 由于官方教程比较模糊, 部署期间出现并成功处理了一些问题, 特此在这边博文中进行记录. 希望能够帮到后续有需要部署 penpot 或是涉及 traefik 的人.

Back to Top ↑

fdroid

如何将 Flutter 应用上架到 F-Droid

最近在 F-Droid 上架了自己的第一款开源应用 Table Habit, 在这里记录一下上架的大概流程和 遇到的一些问题, 一方面方便自己以后上架其他应用, 另一边放也希望大家遇到类似问题的时候能够有一个 可行的 workflow, 如果想查看具体细节可以看 这里 的讨论.

Back to Top ↑

fingerprint

在 macOS 中启用 tmux 内的指纹认证

sudo 在 terminal.app 下已经有很多方法可以让 touchID 生效, 但是如果在 iterm2 或者 tmux 环境下又需要输入烦人的密码 (尤其在你的密码很长时 _(:з」∠)_ ). 那么有放在可以让 touchID 这类生物识别可以在上述环境中生效么, 当然是有的, 请使用 pam_rea...

Back to Top ↑

flathub

Back to Top ↑

flatpak

Back to Top ↑

flatpak-bundle

Back to Top ↑

flutter

通过环境变量为 Flutter Windows 增加 Flavor 支持

Flutter 已经为 Android / Darwin 增加 Flavor 支持,这有助于分离开发与发布环境构建, 但 Windows 和 Linux 上的推进接近三年似乎也没有什么进展。 本文将介绍如果通过使用 env 达到近似效果。

Flutter Provider 使用介绍

作为 flutter 官方推荐的状态管理工具 (详见这里), Provider 相比于一些状态管理框架 BloC 更加轻量, 可以在 app 开发中提供更高的灵活性. 下面将先简单介绍一下 Provider, 然后将给出一些简单的使用示例.

Flutter 中的是否应该使用 Functional Widgets

在刚开始写 Flutter 应用没多久的时候,相信大家(包括我自己)都会有这样一个疑问: 为什么 Flutter 官方教程推荐将子组件包装为一个StatelessWidget, 如果为了解决 Widget 嵌套过深的问题,明明可以使用一个或者多个 Helper 函数来将 build 中的 Widget进行拆分。 ...

如何将 Flutter 应用上架到 F-Droid

最近在 F-Droid 上架了自己的第一款开源应用 Table Habit, 在这里记录一下上架的大概流程和 遇到的一些问题, 一方面方便自己以后上架其他应用, 另一边放也希望大家遇到类似问题的时候能够有一个 可行的 workflow, 如果想查看具体细节可以看 这里 的讨论.

Back to Top ↑

flutter-android

Back to Top ↑

flutter-build

通过环境变量为 Flutter Windows 增加 Flavor 支持

Flutter 已经为 Android / Darwin 增加 Flavor 支持,这有助于分离开发与发布环境构建, 但 Windows 和 Linux 上的推进接近三年似乎也没有什么进展。 本文将介绍如果通过使用 env 达到近似效果。

Back to Top ↑

flutter-flavor

通过环境变量为 Flutter Windows 增加 Flavor 支持

Flutter 已经为 Android / Darwin 增加 Flavor 支持,这有助于分离开发与发布环境构建, 但 Windows 和 Linux 上的推进接近三年似乎也没有什么进展。 本文将介绍如果通过使用 env 达到近似效果。

Back to Top ↑

flutter-linux

Back to Top ↑

flutter-windows

通过环境变量为 Flutter Windows 增加 Flavor 支持

Flutter 已经为 Android / Darwin 增加 Flavor 支持,这有助于分离开发与发布环境构建, 但 Windows 和 Linux 上的推进接近三年似乎也没有什么进展。 本文将介绍如果通过使用 env 达到近似效果。

Back to Top ↑

git

Git Commit

根据已 staged 的改动,生成符合个人风格的简洁 git commit message 并提交。

Back to Top ↑

github

使用 Nginx 代理 Github Page 并实现 HTTPS 访问

由于国内访问 Github Pages 的不稳定性以及 Github 对百度爬虫的屏蔽, 导致博客访问体验不佳. 本文介绍如何使用 Nginx 反向代理 Github Pages, 并配置 Let’s Encrypt 证书, 以解决上述问题.

Back to Top ↑

github-action

Back to Top ↑

github-page

正确利用 Nginx 缓存加速 Github Page 访问

最近在尝试为博客进行缓存预热时, 发现脚本请求明明已经显示 “HIT”, 同时服务器也设置了正确的 “proxy_cache_key”, 但是使用浏览器或其他设备访问还是可能无法命中缓存. 本文将尝试分析产生这类问题的原因 (Vary: Accept-Encoding), 并给出对应的解决方案.

使用 Nginx 代理 Github Page 并实现 HTTPS 访问

由于国内访问 Github Pages 的不稳定性以及 Github 对百度爬虫的屏蔽, 导致博客访问体验不佳. 本文介绍如何使用 Nginx 反向代理 Github Pages, 并配置 Let’s Encrypt 证书, 以解决上述问题.

Back to Top ↑

ipv6

Back to Top ↑

jekyll

Back to Top ↑

kvm

Back to Top ↑

libvirt

Back to Top ↑

logging

Back to Top ↑

m-way-search-tree

Back to Top ↑

macos

在 macOS 中启用 tmux 内的指纹认证

sudo 在 terminal.app 下已经有很多方法可以让 touchID 生效, 但是如果在 iterm2 或者 tmux 环境下又需要输入烦人的密码 (尤其在你的密码很长时 _(:з」∠)_ ). 那么有放在可以让 touchID 这类生物识别可以在上述环境中生效么, 当然是有的, 请使用 pam_rea...

Back to Top ↑

macvtap

Back to Top ↑

mcp

Back to Top ↑

microsoft-store

Back to Top ↑

miui

Back to Top ↑

msix

Back to Top ↑

msix-cert

Back to Top ↑

multi-way-tree

Back to Top ↑

multicast

Back to Top ↑

mvvm

Flutter Provider 使用介绍

作为 flutter 官方推荐的状态管理工具 (详见这里), Provider 相比于一些状态管理框架 BloC 更加轻量, 可以在 app 开发中提供更高的灵活性. 下面将先简单介绍一下 Provider, 然后将给出一些简单的使用示例.

Back to Top ↑

network

OpenWrt 23.05 配置 WireGuard VPN 服务器指南及避坑

路由器 OpenVPN 证书到期后决定换成 WireGuard,记录在 OpenWrt 23.05 上配置 WireGuard 服务器的全过程及踩过的坑。 内容包括安装、服务端与客户端配置、防火墙独立区域方案,以及常见排错。

Back to Top ↑

nginx

正确利用 Nginx 缓存加速 Github Page 访问

最近在尝试为博客进行缓存预热时, 发现脚本请求明明已经显示 “HIT”, 同时服务器也设置了正确的 “proxy_cache_key”, 但是使用浏览器或其他设备访问还是可能无法命中缓存. 本文将尝试分析产生这类问题的原因 (Vary: Accept-Encoding), 并给出对应的解决方案.

使用 Nginx 代理 Github Page 并实现 HTTPS 访问

由于国内访问 Github Pages 的不稳定性以及 Github 对百度爬虫的屏蔽, 导致博客访问体验不佳. 本文介绍如何使用 Nginx 反向代理 Github Pages, 并配置 Let’s Encrypt 证书, 以解决上述问题.

Back to Top ↑

nginx-cache

正确利用 Nginx 缓存加速 Github Page 访问

最近在尝试为博客进行缓存预热时, 发现脚本请求明明已经显示 “HIT”, 同时服务器也设置了正确的 “proxy_cache_key”, 但是使用浏览器或其他设备访问还是可能无法命中缓存. 本文将尝试分析产生这类问题的原因 (Vary: Accept-Encoding), 并给出对应的解决方案.

Back to Top ↑

nginx-cache-miss

正确利用 Nginx 缓存加速 Github Page 访问

最近在尝试为博客进行缓存预热时, 发现脚本请求明明已经显示 “HIT”, 同时服务器也设置了正确的 “proxy_cache_key”, 但是使用浏览器或其他设备访问还是可能无法命中缓存. 本文将尝试分析产生这类问题的原因 (Vary: Accept-Encoding), 并给出对应的解决方案.

Back to Top ↑

nginx-cache-purge

Back to Top ↑

omv

从 OMV6 升级到 OMV7

近期将家中的 OpenMediaVault 由 6 升级到了 7,记录一下升级过程和踩到的坑。

Back to Top ↑

omv-release-upgrade

从 OMV6 升级到 OMV7

近期将家中的 OpenMediaVault 由 6 升级到了 7,记录一下升级过程和踩到的坑。

Back to Top ↑

omv6

从 OMV6 升级到 OMV7

近期将家中的 OpenMediaVault 由 6 升级到了 7,记录一下升级过程和踩到的坑。

Back to Top ↑

omv7

从 OMV6 升级到 OMV7

近期将家中的 OpenMediaVault 由 6 升级到了 7,记录一下升级过程和踩到的坑。

Back to Top ↑

openjdk

Back to Top ↑

openwrt

OpenWrt 23.05 配置 WireGuard VPN 服务器指南及避坑

路由器 OpenVPN 证书到期后决定换成 WireGuard,记录在 OpenWrt 23.05 上配置 WireGuard 服务器的全过程及踩过的坑。 内容包括安装、服务端与客户端配置、防火墙独立区域方案,以及常见排错。

Back to Top ↑

penpot

Penpot 2.x Docker 部署, 开放互联网访问与各种踩坑经验

最近将 penpot 成功部署到自己的服务器上并为了方便自己使用配置了互联网访问. 由于官方教程比较模糊, 部署期间出现并成功处理了一些问题, 特此在这边博文中进行记录. 希望能够帮到后续有需要部署 penpot 或是涉及 traefik 的人.

Back to Top ↑

penpot-docker

Penpot 2.x Docker 部署, 开放互联网访问与各种踩坑经验

最近将 penpot 成功部署到自己的服务器上并为了方便自己使用配置了互联网访问. 由于官方教程比较模糊, 部署期间出现并成功处理了一些问题, 特此在这边博文中进行记录. 希望能够帮到后续有需要部署 penpot 或是涉及 traefik 的人.

Back to Top ↑

pppoe

Back to Top ↑

provider

Flutter Provider 使用介绍

作为 flutter 官方推荐的状态管理工具 (详见这里), Provider 相比于一些状态管理框架 BloC 更加轻量, 可以在 app 开发中提供更高的灵活性. 下面将先简单介绍一下 Provider, 然后将给出一些简单的使用示例.

Back to Top ↑

proxy

正确利用 Nginx 缓存加速 Github Page 访问

最近在尝试为博客进行缓存预热时, 发现脚本请求明明已经显示 “HIT”, 同时服务器也设置了正确的 “proxy_cache_key”, 但是使用浏览器或其他设备访问还是可能无法命中缓存. 本文将尝试分析产生这类问题的原因 (Vary: Accept-Encoding), 并给出对应的解决方案.

使用 Nginx 代理 Github Page 并实现 HTTPS 访问

由于国内访问 Github Pages 的不稳定性以及 Github 对百度爬虫的屏蔽, 导致博客访问体验不佳. 本文介绍如何使用 Nginx 反向代理 Github Pages, 并配置 Let’s Encrypt 证书, 以解决上述问题.

Back to Top ↑

sdk

本地多 Dart 环境配置

在 Dart Package 开发中, 管理并使用特定 Dart-SDK 版本很有必要. 常规方法如使用 fvm 不适合纯 Dart Package 开发, 因此需要手动或通过工具 (asdf) 获取 Dart-SDK. 本文主要分为两部分: 如何获取特定版本的 Dart-SDK 与如何在 VSCode 中进行配置.

Back to Top ↑

sdk-manager

本地多 Dart 环境配置

在 Dart Package 开发中, 管理并使用特定 Dart-SDK 版本很有必要. 常规方法如使用 fvm 不适合纯 Dart Package 开发, 因此需要手动或通过工具 (asdf) 获取 Dart-SDK. 本文主要分为两部分: 如何获取特定版本的 Dart-SDK 与如何在 VSCode 中进行配置.

Back to Top ↑

structure

Back to Top ↑

symmetric-binary-b-tree

Back to Top ↑

tencent-cloud

Back to Top ↑

tmux

在 macOS 中启用 tmux 内的指纹认证

sudo 在 terminal.app 下已经有很多方法可以让 touchID 生效, 但是如果在 iterm2 或者 tmux 环境下又需要输入烦人的密码 (尤其在你的密码很长时 _(:з」∠)_ ). 那么有放在可以让 touchID 这类生物识别可以在上述环境中生效么, 当然是有的, 请使用 pam_rea...

Back to Top ↑

traefik

Penpot 2.x Docker 部署, 开放互联网访问与各种踩坑经验

最近将 penpot 成功部署到自己的服务器上并为了方便自己使用配置了互联网访问. 由于官方教程比较模糊, 部署期间出现并成功处理了一些问题, 特此在这边博文中进行记录. 希望能够帮到后续有需要部署 penpot 或是涉及 traefik 的人.

Back to Top ↑

tree

Back to Top ↑

vary

正确利用 Nginx 缓存加速 Github Page 访问

最近在尝试为博客进行缓存预热时, 发现脚本请求明明已经显示 “HIT”, 同时服务器也设置了正确的 “proxy_cache_key”, 但是使用浏览器或其他设备访问还是可能无法命中缓存. 本文将尝试分析产生这类问题的原因 (Vary: Accept-Encoding), 并给出对应的解决方案.

Back to Top ↑

vpn

OpenWrt 23.05 配置 WireGuard VPN 服务器指南及避坑

路由器 OpenVPN 证书到期后决定换成 WireGuard,记录在 OpenWrt 23.05 上配置 WireGuard 服务器的全过程及踩过的坑。 内容包括安装、服务端与客户端配置、防火墙独立区域方案,以及常见排错。

Back to Top ↑

vscode

Back to Top ↑

widget

Flutter 中的是否应该使用 Functional Widgets

在刚开始写 Flutter 应用没多久的时候,相信大家(包括我自己)都会有这样一个疑问: 为什么 Flutter 官方教程推荐将子组件包装为一个StatelessWidget, 如果为了解决 Widget 嵌套过深的问题,明明可以使用一个或者多个 Helper 函数来将 build 中的 Widget进行拆分。 ...

Back to Top ↑

windows

Back to Top ↑

wireguard

OpenWrt 23.05 配置 WireGuard VPN 服务器指南及避坑

路由器 OpenVPN 证书到期后决定换成 WireGuard,记录在 OpenWrt 23.05 上配置 WireGuard 服务器的全过程及踩过的坑。 内容包括安装、服务端与客户端配置、防火墙独立区域方案,以及常见排错。

Back to Top ↑