
Soulock
一名充满热情的全栈开发者,专注于 Web 开发、安全研究和开源项目。喜欢构建创新解决方案,探索新技术。
拥有多种编程语言和框架的经验,致力于创建高效、可扩展且用户友好的应用。乐于学习并与社区分享知识。
最近文章
- 2026年07月12日
Shell 自动化部署脚本:git pull + pnpm build + cp
- 2026年07月11日
ChatGPT_Exporter:一键导出 ChatGPT 聊天记录
- 2026年07月11日
HTML格式化输出专用提示词
- 2026年07月11日
使用清华大学开源软件镜像站下载JDK
- 2026年07月11日
EasyTier 能 ping 通但 HTTP 不通:排查思路和解决方法
- 2026年07月11日
EasyTier 能 ping 通但 HTTP 访问不了:六种原因排查
- 2026年07月10日
Claude Code 配置项解析:ANTHROPIC_MODEL、showThinkingSummaries 和 skipDangerousModePermissionPrompt
- 2026年07月08日
Excel 求和求出 #VALUE!?先看单元格是不是文本
- 2026年07月07日
数据库设计:E-R 图、3NF 范式与 SQL 约束建表
- 2026年07月07日
供应关系 E-R 建模 + 3NF + SQL:一道数据库题的标准答案
- 2026年07月04日
EIP-1559 Gas 费计算与 Python 转账清仓脚本
- 2026年07月04日
EIP-1559 Gas 费计算:Python Web3 转账扣余额的正确姿势
- 2026年07月03日
GPU 租赁平台架构:Agent 节点管理、Docker 容器调度与供给冷启动
- 2026年07月03日
给工具起名和写简历项目:从 "XX 助手" 升级
- 2026年07月02日
macOS 取消 SSH 钥匙串自动登录
- 2026年07月01日
Hexo 替代方案:Astro、Hugo、VitePress 选型对比
- 2026年06月28日
用 Python 构建高考志愿填报系统:位次换算与录取概率预测
- 2026年06月27日
波士顿房价预测是回归还是分类?多元 vs 多输出的区别
- 2026年06月27日
矩阵运算的几何意义:变换、旋转与神经网络中的线性层
- 2026年06月27日
PyTorch 学习路线:从 Tensor 到训练完整模型
- 2026年06月27日
PyTorch 训练基础:Tensor、自动求导、训练循环与模型保存
- 2026年06月26日
BIP39 助记词会不会重复:数学上不会,现实中被坑的另有其人
- 2026年06月25日
BIP39 助记词生成原理与 Python 实现
- 2026年06月25日
Python 拿 CPU 型号,以及 Windows 注册表里的 CPU 信息
- 2026年06月24日
JS 注入标注快捷键面板:数据驱动 radio 分组与可拖拽悬浮窗
- 2026年06月24日
给页面注入一个快捷键面板:数字键快速点击标签
- 2026年06月24日
Python 模拟键盘输入:中文乱码和 Citrix 场景的应对
- 2026年06月23日
OpenCV 做辅助标注:模板匹配 + 多尺度 + ORB 特征
- 2026年06月23日
Linux journalctl 查询日志:时间范围、上下文与 grep 定位
- 2026年06月23日
Linux 日志时间解析:journalctl 查看完整时间戳
- 2026年06月23日
Python 实现 PBKDF2 + AES-256-GCM 加密存储
- 2026年06月22日
格式化后文件仍存在:USB Mass Storage Gadget 只读模式排查
- 2026年06月22日
6000 张图做 YOLO 辅助标注:一个大模型还是拆多个
- 2026年06月20日
NVM 环境配置与 npm 找不到的排查
- 2026年06月19日
Python 读取 YAML:safe_load 和转对象访问
- 2026年06月18日
Chrome 扩展数据存放位置:LevelDB 与 IndexedDB
- 2026年06月18日
Chrome/Edge 浏览器插件数据存放位置与读取方法
- 2026年06月18日
Python list 转 dict 的几种写法
- 2026年06月18日
Python list 转 dict/map 的五种常见姿势
- 2026年06月18日
技术分析入门:Stochastic 随机指标与 ATR 波动率
- 2026年06月17日
SAM2 / SAM3 文本 Prompt 分割:识别图片中所有特定区域
- 2026年06月17日
SAM3 Prompt 工程:识别文档中的题目区域与多实例分割
- 2026年06月17日
Nginx 反向代理改造成负载均衡:踩坑与正确写法
- 2026年06月17日
MongoDB 导出数据:mongodump 和 mongoexport 怎么选
- 2026年06月17日
OpenCode MCP 服务器配置:type 和 enabled 字段必填
- 2026年06月16日
Python 多线程检查 HTTP 状态码并删除 403 文件
- 2026年06月16日
SAM3 标注交通牌主体:正负点提示策略
- 2026年06月15日
看 free -h 别只盯 free 那列:available 才是真
- 2026年06月15日
Konva 做标注工具:Stage 缩放平移的正确姿势
- 2026年06月15日
Konva.js 滚轮缩放与平移:以鼠标为中心缩放 Stage 的正确实现
- 2026年06月15日
CIDR 表示法:/24、/32 的含义和只匹配单个 IP 的写法
- 2026年06月15日
CIDR 记法要写对:43.255.122.56/24 匹配的是一整段
- 2026年06月13日
HTML 自定义鼠标指针:十字准星、全屏辅助线与 CSS cursor 类型
- 2026年06月13日
Python 通过 Shadowsocks SOCKS5 代理发送请求
- 2026年06月11日
RTX 3060 Ti 能跑哪些 AI 模型:LLM、OCR、YOLO 全景
- 2026年06月09日
油猴脚本加 IndexedDB 本地备份:掉线也不丢数据
- 2026年06月09日
浏览器 XHR Hook + IndexedDB:油猴脚本实现网络请求本地备份
- 2026年06月08日
Playwright 接管本地 Chrome:四种方式对比
- 2026年06月07日
JS 逻辑赋值运算符:||= / &&= / ??= 用法和区别
- 2026年06月06日
写个 Bash 自动 git pull:三种姿势和 cron 里的坑
- 2026年06月06日
Git 大小写文件名冲突:Windows/macOS 改名后出现重复文件
- 2026年06月06日
量化交易中的 Universe:股票池定义、过滤规则与数据获取
- 2026年06月05日
开源网盘工具对比:AList / Cloudreve / go-drive
- 2026年06月04日
分页 API 全量遍历:Python 与 JavaScript 实现模式
- 2026年06月04日
API 分页设计:Offset vs Cursor(Keyset)怎么选
- 2026年06月04日
Clash 用 PROCESS-PATH-REGEX 让特定 App 直连
- 2026年06月03日
Windows 杀进程:按 PID / 按名字 / 按端口
- 2026年06月03日
Shellcode 编码存储:XOR + ROL 混淆与 NASM 解码桩
- 2026年06月03日
Shellcode 与汇编的关系:位置无关代码与空字节规避
- 2026年06月02日
PID 和端口互查:Linux 和 Windows 的常用命令
- 2026年06月02日
MITM 抓包代理的实现方案:从用户态代理到驱动层
- 2026年06月02日
Redis 在 Windows 上注册为系统服务的两种方式
- 2026年06月01日
Mermaid 复杂流程图渲染失败?五个改起来最快的写法
- 2026年06月01日
Hardhat 本地链卡链?先看是不是关了自动挖矿
- 2026年06月01日
Hardhat 本地链卡住:交易 pending、区块不出块的排查与解决
- 2026年06月01日
让 Nginx 直接返回固定 JSON:不走后端的假接口
- 2026年06月01日
Solidity 合约安全优化:SimpleDeposit 代码审查
- 2026年06月01日
数据库版本范围查询:SemVer 比较与漏洞影响版本存储设计
- 2026年06月01日
数据库存储版本范围:SemVer 比较与漏洞版本匹配方案
- 2026年06月01日
版本号存数据库 + 范围匹配:SemVer 的正确姿势
- 2026年05月31日
停车场场景图像标注 JSON 格式解析与训练模型选择
- 2026年05月30日
Linux 上 cron 定时任务不跑?先查 cron 服务本身
- 2026年05月30日
抖音弹幕互动游戏怎么做:架构 + 弹幕获取方案
- 2026年05月30日
rclone 批量上传下载脚本:重试 + 日志 + 分享链接
- 2026年05月29日
漏洞管理平台架构:main.db + 每应用独立 SQLite 的多库设计
- 2026年05月29日
Word 通配符替换方括号数字:\[[0-9]@\]
- 2026年05月29日
Docker 里配代理:容器运行时和 build 阶段的正确写法
- 2026年05月28日
OkHttp 发起 HTTP 请求:POST JSON、表单、文件上传与异步调用
- 2026年05月28日
Laravel + ClickHouse 统计数据推送飞书卡片
- 2026年05月28日
下载量统计:滑动窗口 vs 整点分桶与 Redis 分钟桶方案
- 2026年05月28日
Redis 下载量统计:滑动窗口、时间桶与热度排名
- 2026年05月28日
ClickHouse system.*_log 表几十 GB?先清后关
- 2026年05月28日
Linux 查找可疑进程来源:恶意挖矿木马排查
- 2026年05月28日
Vue 里强制组件重新渲染:改 key 才是正解
- 2026年05月27日
页面快捷键监听不冲突:五条守则
- 2026年05月27日
SQLite 大数据量优化:WAL 模式、批量事务、游标分页和索引策略
- 2026年05月27日
SQLite 存几十 GB 数据的六个优化点
- 2026年05月27日
电商 ERP 商品 JSON 解析:类目 ID、规格模板与 SKU 明细
- 2026年05月26日
Spring RestTemplate 发 HTTP 请求:常用姿势速查
- 2026年05月22日
Cheerio 解析 HTML 表格:动态定位列索引
- 2026年05月22日
Node 报 GLIBC_2.38 not found 的根因和四种解法
- 2026年05月22日
开源进程联网通知工具:Windows / Linux / macOS 对比
- 2026年05月22日
systemd 服务里设置工作目录:WorkingDirectory
- 2026年05月22日
Windows 开机自启:脚本、EXE、Python 服务的四种做法
- 2026年05月21日
用 Proxy hook setInterval 拦截反调试 debugger
- 2026年05月20日
tomcat:7.0-jre7 镜像不存在了?三条替代路
- 2026年05月20日
Servlet 规范与 Tomcat 版本对照表 + JDK 兼容性
- 2026年05月19日
Three.js 点云矩形框选:屏幕空间投影法
- 2026年05月19日
Three.js 点云矩形框选:屏幕投影与 SelectionBox
- 2026年05月19日
JS 判断空值:不把 0 当空的几种写法
- 2026年05月19日
JavaScript 判断空值:0 不算空的正确写法与 !value 的陷阱
- 2026年05月19日
JS 判断空值排除 0 与 Canvas 滚轮缩放图片实现
- 2026年05月19日
JS 判断空值别只写 !value:0 和 false 会被误伤
- 2026年05月19日
OpenCV.js 等比例模板匹配:Canvas 框选 + 局部搜索
- 2026年05月18日
PowerShell 环境变量设置:临时赋值、永久写入与路径追加
- 2026年05月18日
PowerShell 设置环境变量:临时、当前用户、系统级
- 2026年05月17日
IBM Db2 的定位与应用领域
- 2026年05月17日
读懂 webpack 混淆代码:(0, fn)() 模式与 RxJS 链解析
- 2026年05月17日
Windows 报 WinError 206 路径太长?三种彻底解法
- 2026年05月16日
JavaScript JSON 深层字符串替换:replaceAll 与递归遍历
- 2026年05月16日
version.json 结构设计:客户端更新检查和热更新
- 2026年05月16日
Effect:TypeScript 函数式副作用框架,类型安全的异步与错误处理
- 2026年05月16日
Effect:把副作用塞进类型系统的 TypeScript 框架
- 2026年05月16日
JS 模板字符串里包含反引号:三种不转义方案
- 2026年05月16日
JavaScript 模板字符串进阶:反引号转义、String.raw、标签模板
- 2026年05月15日
Nginx 反向代理 + 全局跨域:那些看着通了但其实拦了的坑
- 2026年05月12日
平台积分体系设计:Credits(余额)与 Points(积分)的区别与应用
- 2026年05月10日
Context7 是什么:给 AI 编程助手补最新文档的动态知识库
- 2026年05月10日
Context7:给 AI 编程助手注入实时文档的 MCP 工具
- 2026年05月09日
logTimingOnce 是啥 + 前端性能计时的正规做法
- 2026年05月09日
为什么 forEach 里的 await 没用:JS 异步循环踩坑记
- 2026年05月08日
Electron asar 解包:资源为什么只有一部分以及各类资源的位置
- 2026年05月08日
Electron app.asar 解包只有部分资源的原因与逆向方法
- 2026年05月08日
解包 Electron 的 app.asar 只有部分文件?六个原因
- 2026年05月07日
Maven 跑 Spring Boot 常用命令 + 依赖解析失败排查
- 2026年05月07日
YOLO 推理结果解读:置信度阈值、NMS 调参与工程部署建议
- 2026年05月06日
Python 自动安装 Chrome 插件:策略强制 vs 开发者模式加载
- 2026年05月06日
油猴脚本虚拟文件输入 + FileReader 封装
- 2026年05月05日
让 AI 改写文本不像 AI 写的:提示词分级 + 三个关键技巧
- 2026年05月05日
JS 动态注入 CSS 样式:setStyle 函数
- 2026年05月05日
JS 动态插入 style 标签与油猴虚拟 input 读取本地文件
- 2026年05月05日
Office 查找替换通配符规则与 VBA 正则表达式替换
- 2026年05月04日
在浏览器里 hook setInterval:原理和五种写法
- 2026年04月30日
一个 bat 脚本清 Windows 的 Temp 目录
- 2026年04月22日
JSC 文件分析:V8 字节码、bytenode 产物与字符串提取
- 2026年04月15日
JS 获取今天零点并前后偏移 N 小时:Date setHours 与时区格式化
- 2026年03月31日
Docker 拉镜像报 proxyconnect tcp: EOF 的正确解法
- 2026年01月06日
Python 移动 / 复制目录的正确写法:shutil 全场景速查
- 2025年12月22日
PyInstaller 打包 GUI 程序:无 CMD、文件夹形式
- 2025年11月24日
Vue 项目国际化(i18n)配置:vue-i18n 基础用法
- 2025年10月17日
开发测试用什么信用卡号:Stripe 测试卡 + Luhn 算法
- 2025年10月03日
跨域 CORS 完整解决方案:后端、Nginx、前端代理全覆盖
- 2025年09月26日
electron 开发中运行失败
- 2025年09月24日
查 Solana 钱包交易:Solscan API vs 原生 RPC
- 2025年09月13日
Plasmo 浏览器扩展项目 tsconfig 与 `~` 别名
- 2025年08月29日
Python logging 同时输出到文件和控制台
- 2025年08月13日
Mysql快速导出命令
- 2024年11月23日
Linux 上用 vsftpd 搭 FTP:本地用户 + 被动模式 + 防火墙
- 2023年10月07日
Centos7升级Gcc
- 2022年06月06日

