UPTools 博客
开发者实用教程与工具使用指南
浏览器能当硬件检测仪:键盘、麦克风、摄像头测试原理
新买的键盘有没有坏键、麦克风对方听不见、摄像头打不开——不用装软件,浏览器几个 Web API 就能测。本文讲清三类硬件检测的原理和常见排障。
阅读全文 →别直接运行来路不明的 AI Skill:提示词安全审查清单
从网上下载的 AI Skill 或提示词模板,可能藏着命令执行、读密钥、外联后门或提示词注入。本文给一份上线/运行前的安全自查清单。
阅读全文 →算清你的真实开支:个税、分期、电费、订阅费一次算清
税后到手、分期真实年化、家电电费、一堆会员订阅月成本——四件你以为便宜或免费、其实悄悄掏空钱包的开支,本文用四个计算器一次算清。
阅读全文 →camelCase 和 snake_case 怎么互转?分词的坑
把 userName 转成 user_name 看起来简单,但遇到 HTMLElement、parseURL 这类连续大写缩写就会拆错。本文讲清命名格式转换的分词难点。
阅读全文 →从网页复制的内容全是 HTML 标签?去标签的正确做法
用正则去掉 HTML 标签看着简单,但 script 内容、属性值里的尖括号、HTML 实体都会漏。本文讲清为什么正则去不干净,以及更稳妥的做法。
阅读全文 →中英文混排字数怎么算?「按字」和「按词」的区别
Word 显示 800 字、博客平台显示 650 字、字数统计工具显示 720——为什么不一样?本文讲清中英混排「按字」和「按词」的统计口径差异。
阅读全文 →简繁转换为什么老出错?「一简多繁」与词组级转换
把简体「头发」转成繁体,纯字表转换会错转成「頭發」。问题出在「一简多繁」:一个简体字对应多个繁体字,必须靠词组级转换。
阅读全文 →用 Math.random 生成密码为什么不安全?CSPRNG 与密码熵
用 Math.random 生成密码或 Token 是常见错误,它可被预测。本文讲清为什么必须用 crypto.getRandomValues,以及密码强度由字符集和长度共同决定。
阅读全文 →为什么在线工具比本地软件更注重隐私?本地处理如何保护你的数据
同样是处理敏感文件,为什么说浏览器本地完成的在线工具反而比某些本地软件更注重隐私?本文讲清本地处理的原理、它保护了什么、以及它的边界。
阅读全文 →SVG 直接内联 HTML 会触发 XSS?压缩与安全检测一次讲清
SVG 不只是图片,它是 XML,能内嵌 script 和事件属性。用 img 引入不会执行脚本,直接内联进 HTML 就可能触发 XSS。本文讲清风险边界和压缩要点。
阅读全文 →URL 里的中文和空格怎么传?encodeURI 和 encodeURIComponent 的区别
URL 里传中文搜索词或回跳地址,用 encodeURI 还是 encodeURIComponent 用错就会乱码或参数解析错乱。本文讲清两套 API 的区别和常见坑。
阅读全文 →网页图片优化工作流:压缩、转格式、改尺寸、裁剪一站搞定
一张手机照片要上线到网页,往往要经过压缩、转 WebP、改尺寸、裁剪四步。本文用一条工作流把四个图片工具串起来。
阅读全文 →你发群里的照片可能带着家庭住址:EXIF 隐私清理
手机拍的照片里藏着拍摄时间、设备型号,甚至 GPS 定位。主流社交平台会自动清理,但原图直发群或邮件就会泄露。本文讲清 EXIF 与清理方法。
阅读全文 →网站图标到底要多少尺寸?全平台 favicon 生成清单
浏览器标签页、iOS 主屏、安卓 PWA、Windows 磁贴,各取不同尺寸的网站图标。本文给一份全平台 favicon 尺寸清单和 HTML 配置。
阅读全文 →PNG 转 JPG 透明背景变白?图片格式互转的能力边界
把透明 PNG 转成 JPG,透明区会变成白色——这不是 bug,是 JPG 格式根本不支持透明。本文讲清图片互转时哪些信息会丢失。
阅读全文 →二维码扫不出来?尺寸、容错率和留白决定扫码成功率
印在海报上的二维码扫不出,多半是太小、容错率太低、或紧贴边缘没留白。本文讲清影响扫码成功率的四个关键因素。
阅读全文 →HEX、RGB、HSL 怎么换算?为什么调色时 HSL 更顺手
设计稿拾取的颜色在 HEX、RGB、HSL 之间换来换去,到底在换什么?本文讲清三种格式的关系,以及为什么调色时 HSL 比直接改 RGB 直观得多。
阅读全文 →图片转 Base64:什么情况该内联,什么情况别用
把小图标转成 Data URL 内联进 HTML 能省一次请求;但大图内联会让页面变慢还无法缓存。本文讲清图片 Base64 内联的取舍。
阅读全文 →前后端接口联调工具箱:五个常被一起用的工具
一次接口联调,往往要同时用到 JSON 格式化、JWT 解析、时间戳换算、状态码查询和 URL 编码。本文用一条排查链路把这五个工具串起来。
阅读全文 →Excel 数据怎么给前端用?CSV 转 JSON 的类型丢失坑
CSV 没有「类型」概念,转成 JSON 后数字 30 会变成字符串 "30";字段里含逗号还会把一行拆错。本文讲清 CSV/JSON 互转的两个高频坑。
阅读全文 →YAML 九成报错都是缩进:CI/CD 配置避坑清单
YAML 用缩进表示层级,一个 Tab、一个空格、一个漏掉的冒号空格,CI/CD 流水线就解析失败。本文讲清四个高频缩进与类型坑。
阅读全文 →两段代码改了哪几行?Diff 对比与「忽略空格」的正确用法
文本对比几乎每行都报差异,多半是换行符或缩进在捣乱。本文讲清 Diff 的行级与字级、忽略空格的正确用法,以及它的固有局限。
阅读全文 →XML 报错「标签未闭合」?well-formed 的五条铁律
XML 解析失败多半是不「格式良好」:标签没闭合、交叉嵌套、属性没引号、& 和 < 没转义。本文讲清 well-formed 的五条铁律和常见报错。
阅读全文 →HTTP 401 和 403 到底差在哪?一图分清「没登录」和「没权限」
接口返回 401 和 403 排查方向完全不同:401 是没带凭证,403 是带了但没权限。本文讲清两者的区别,顺带分清重定向和 5xx 家族。
阅读全文 →时间戳为什么总差 8 小时?Unix 时间戳转日期的三个坑
时间戳转日期总差 8 小时、秒和毫秒搞混、13 位时间戳传给后端被截断——本文讲清 Unix 时间戳转换的三个高频坑。
阅读全文 →Base64 编码原理详解:为什么编码后变长 33%
Base64 是最常见的二进制编码方式之一。本文讲清它的编码原理、为什么体积会膨胀 33%、中文如何处理,以及它和加密的本质区别。
阅读全文 →JSON 解析失败怎么排查?常见报错与修复
JSON 语法严格,一个字符错了就会解析失败。本文整理最常见的几类 JSON 解析报错,以及快速定位和修复的方法。
阅读全文 →JWT Token 安全检查清单:开发者自查手册
JWT 广泛用于登录鉴权,但用错容易留下安全漏洞。本文整理一份 JWT 安全自查清单,帮助开发者排查常见风险。
阅读全文 →SHA-256 是什么?文件校验与密码存储原理
哈希函数常被和加密混淆。本文讲清 SHA-256 的工作原理、哈希的三大特性、如何用它校验文件完整性,以及为什么密码存储不能直接 hash。
阅读全文 →WebP vs JPG vs PNG:网页图片格式怎么选
选对图片格式能显著减小网页体积、加快加载。本文对比 WebP、JPG、PNG 三种格式的特点,给出清晰的选择建议和压缩参数参考。
阅读全文 →