nenufm.com

留声

写 AI、编程笔记和日常折腾的工具,记录遇到的问题、踩过的坑和解决过程,也聊互联网见闻,以及工作之外的生活。

编程笔记
一次旧 ASP.NET Core 系统迁入 Linux 后,数据库驱动、TLS、GC 默认策略和构建验证接连增加维护成本。本文结合 SQL Server 兼容与内存排查结果,说明我为什么减少在遗留业务中使用 .NET,而不是泛泛比较语言性能。
数据研究
比较个人网站常见的流量分析工具,包括百度统计、Google Analytics、Microsoft Clarity、Umami 与 Matomo。文章围绕来源渠道、访问行为、停留时间、隐私与自托管成本梳理差异,帮助个人站点选择适合的统计方案。
数据统计百度统计MatomoUmami查看正文 →
编程笔记
记录个人博客从 WordPress 迁移到 Next.js 后持续排查搜索收录的过程:从 noindex、摘要与标题结构,到百度普通收录提交、首页文章卡片的语义链接和可遍历分页,并区分页面可抓取、URL 被发现与最终进入索引之间的差异。索引量依旧偏低,这些修改还需要继续观察。
开发工具
分析 PowerShell 发布脚本逐渐被 Join-Path、项目参数和重复目录包围的原因,并给出更容易维护的写法:用 PSScriptRoot 固定仓库入口,按构建阶段切换工作目录,只为跨阶段产物保留绝对路径,同时处理目录恢复和原生命令退出码。
PowerShell发布脚本DevOps查看正文 →
开发工具
通过 ASP.NET Core 示例解释 Working Set、GC Heap Size、GC Committed Bytes 和 Allocation Rate,并使用 dotnet-counters、dotnet-gcdump 与 dotnet-dump 区分分配压力、托管对象泄漏、GC 保留和原生内存。
.NET内存分析内存泄漏GC查看正文 →
部署记录
记录 .NET 6 应用迁入 Linux Docker 后连接 SQL Server 2005 与 2008 R2 的完整排障:从 OpenSSL unsupported protocol、Post-Login 超时一路追到 Managed SNI 的 PreLogin 加密声明,并说明反射兼容方案的风险和适用边界。
部署记录
排查 Docker push 在镜像层全部上传后仍被阿里云 ACR 个人版拒绝的问题,解释 application/vnd.oci.empty.v1+json、BuildKit provenance 与 OCI Artifact 的版本变化,并给出关闭 attestation、检查 manifest 和重新推送的方法。
部署记录
整理同一个 ASP.NET Core 项目发布多个主机角色时的配置规范:区分运行环境与主机角色,保留框架默认的 appsettings 加载方式,在发布阶段选择角色配置并生成唯一的 appsettings.Production.json,同时说明 Docker、Windows 和临时配置覆盖的做法。
部署记录
介绍一种不依赖 wwwroot、也不在 Docker 中编译源码的 Angular 与 ASP.NET Core 合并发布方式:前后端分别构建,在发布目录中组装产物,由 ASP.NET Core 托管独立的 SPA 目录,并正确处理 API、静态资源和前端路由的边界。