技术.
从 SSH 密钥登录、UFW 与 Fail2Ban 开始,加固一台新的 Debian 13 VPS,再手动部署 Xray VLESS + REALITY、Nginx 回落站点与客户端配置。
第一次折腾 skill,我先拿 Hugo 博客封面开刀,顺手做了个自动生成 SVG cover 的小工具,也记下了这一路的踩坑和体会。
提交完 git 仓库后,发现没有创建 `.gitignore` 文件,导致将所有文件都推送到了仓库,此时想要再通过创建 `.gitignore` 文件来忽略,会发现并不会直接生效。
给 github 设置代理,以获得畅快的网络访问速度!
使用 Github 自带的免费 CI 工具——Github Actions,实现网站的自动部署、文章的自动发布。
总结一下 git cherry-pick(也被翻译为:优选提交)命令的使用。
在 C# 中,当我们需要按照自己的方式,对两个对象进行比较时,需要自定义对象比较器。
使用 Entity Framework 查询数据库得到的 IQueryable 对象,怎么得到它实际查询的 SQL 语句?
使用 EF Core 查询数据库数组之间的交集。
C# 中的两个典型的分组函数:GroupBy 和 ToLookup 之间的区别。
讲解在 .NET 6 中重复读取 Request.Body 的正确方式,核心是 EnableBuffering 的使用。
介绍 Asp.Net Core WebApi 全局异常捕获的实现方式,统一处理错误响应。
讲解 Asp.Net Core WebApi 接口参数默认值的处理方式与模型绑定注意点。
怎样才能正确地重复读取 HttpContext.Request.Body 流对象?
介绍在 PostgreSQL 中查询哪些字段建立了索引,便于排查与优化数据库。
解决 hugo 博客报错:Failed to find a valid digest in the 'integrity' attribute for resource `xxx.css`, The resource has been blocked.
总结 Asp.Net Core 下载文件接口的实现方式、流返回方案与常见问题。
绕开 ajax 下载限制时,模拟表单提交往往是更稳的方案
把零散知识点整理成能反复翻阅的一份 EF 入门与回顾记录
用 Java 手写 HashMap,理解数组、链表与哈希寻址等核心实现思路。
用 Java 手写 ArrayList,梳理动态数组的底层结构、扩容机制与常见操作。
用 Java 手写单向链表,说明节点结构、增删查改与链表遍历的基本实现。
介绍如何根据 IP 判断用户是否来自内网,可用于页面展示和访问控制场景。
记录使用 Cloudflare 免费实现域名转发的方法,适合把闲置域名做 301 跳转。
汇总 Markdown 常用与扩展语法,适合作为写博客和整理文档时的速查手册。
介绍 Shadowsocks 四合一一键安装脚本的适用环境、安装步骤与基本使用方式。
记录 OpenCV 的安装过程,以及在 Visual Studio 中配置开发环境的方法。