- 博客(206)
- 收藏
- 关注
原创 手机 30GB 流量到底够不够?1080P 实测每天 1 小时就见底
30GB 套餐,每天刷 1 小时 1080P 短视频,一个月要 32.96GB。我在页面里把参数逐组跑了一遍:额度在第 27.31 天见底,超出 2.96GB,按 5 元/GB 算是 14.79 元。文里的实测,是把参数输进页面跑出来的结果,不是盯着运营商的流量统计看了一小时。码率取的是常见值,假设会在最后一节写清楚。
2026-11-10 08:56:04
154
原创 同样 48V20Ah,为什么别人跑 80 公里你只跑 40?
同一块 48V20Ah 电池,我在页面里算了两遍。铅酸、35km/h、载重 75kg,续航 40.4 公里;换成锂电、25km/h、载重 65kg,续航 79.9 公里。差了近一倍。差的不是电池牌子,是电压、容量、放电深度、温度、载重和车速这几个变量。
2026-11-10 07:35:31
145
原创 48MP 手机只拍出 12MP,少的 36MP 去哪了?5 种传感器算给你看
4800 万像素的传感器,默认拍出来的照片只有 1200 万像素。少的 3600 万没有丢,是每 4 个同色像素合成 1 个输出像素。我把 5 种手机传感器的规格做成了一个单文件网页,加载时自动跑 15 条断言,15/15 通过。成品只有一个 index.html,双击就能打开;页面不联网,也不上传任何数据。这不是拍照教程,也不评价哪台手机拍照好。页面上只算一件事:像素怎么合并,数字怎么变。
2026-11-10 06:22:49
78
原创 4K 120Hz 为什么掉到 60Hz?HDMI 2.0 差 30Gbps 算给你看
这篇没有接电视实测。像素时钟来自 CTA-861 常见模式,编码开销按 8b/10b 和 16b/18b 算。实际会不会掉档,还取决于电视 EDID、线材质量、显卡驱动和 DSC 支持。但有一条不变:先看净负载,再看接口名。HDMI 2.0 的净负载是 14.4 Gbps,4K60 8bit 刚好压线;4K120 10bit 要 35.64,只有 2.1 装得下。下次看到「支持 4K120」的宣传,先问一句:几 bit、什么色度、开没开 DSC。
2026-11-09 10:00:49
86
原创 客厅 3 米买 75 寸会晕吗?4K 电视按 THX 标准算 8 组
3 米客厅放 75 寸 4K,水平视角 30.9°,每度像素 124.1 PPD。它刚好踩在 SMPTE 30° 的下限上,看电影够用。同样是 3 米,85 寸 1080P 只剩 55.1 PPD,已经低于 60 的清晰线。要上 85 寸,4K 才稳。真正会晕的是 1.5 米看 85 寸。视角 64.2°,屏幕宽 188 厘米,眼睛左右各要扫 32°。我做了个网页,把观看距离、电视尺寸、分辨率和内容类型放在一起算。页面里有 8 组常见视距,公式全公开,结论可以逐项复算。
2026-11-09 09:13:08
169
原创 为什么你等的电梯总是不来?3 部电梯 12 层 SCAN 调度实测
三个结论可以直接拿走。第一,最近的轿厢不等于最快的方案。NEAREST 对单个请求反应快,但整栋楼的空驶多了 24.5%。第二,FCFS 只适合单向轻负载。一旦双向或随机客流上来,它的等待时间会翻到 3 倍。第三,SCAN 和 LOOK 的差别在长尾。SCAN 省空驶但 P95 差 60.9%,LOOK 在早高峰更稳。如果你也在做调度类功能,建议先固定请求流,再把策略并排跑一遍。先看 P95 和最长等待,再看平均值。平均值会把最难受的那批人藏起来。
2026-11-09 08:18:49
218
原创 抠图总留一圈白边?Canvas 把阈值和羽化分开调,3 档实测
抠完图,人像边上总挂着一圈灰白或绿边。多数时候不是抠得不干净,是「容差」这一个滑块同时管了两件事。我把阈值和羽化拆成两个独立参数。1280×800 的绿幕人像,背景移除 73.77%,半透明边缘只剩 208 个像素,单次处理 101 ms。同一套参数换成「全图按颜色删」,封闭在前景里的同色区域也会被挖空。改成从四条边向内洪泛后,那块区域保住了,移除比例从 92.27% 降到 73.63%。
2026-11-09 07:25:07
172
原创 两份 Excel 10 万行核对:VLOOKUP 为什么会漏掉重复键
VLOOKUP 不是错,它只是按设计只返回第一条。两份表一旦有重复主键,首条匹配就会同时带来漏检和误报。要核对得干净,先把主键去重,或者改用全量索引。页面和 10 万行演示数据都在上面的链接里,点开就能复现这组数字。
2026-11-09 06:17:18
135
原创 ThreadPool 7 个参数怎么配?100 个任务压进去看 4 种拒绝策略
corePoolSize=4、maximumPoolSize=8、queueCapacity=10,100 个任务每 20ms 提交一个,每个跑 250ms。AbortPolicy 完成 70 个,拒绝 30 个。CallerRunsPolicy 完成 100 个,总耗时从 2520ms 涨到 3310ms。我把这条派发链路做成了一个能拖时间轴的沙盘。参数一改,worker 泳道、等待队列和拒绝清单会同步变化。
2026-11-07 06:32:51
139
原创 为什么关掉浏览器就要重新登录?Cookie 4KB 上限 12 组实测
单个 Cookie 的 name+value 上限是 4096 字节,value 最多只能写 4082 字节。同一域名连续写 240 个 Cookie,浏览器最后只留下 180 个。关掉浏览器要重新登录,多半不是你点错了,是会话 Cookie 被清掉了。
2026-11-06 08:28:01
152
原创 同是 1080P,为什么有的视频糊?6 档码率压缩 PSNR 实测
同一张 1920×1080 的画面,压成 6 档码率,差距不用放大镜就能看出来。1 Mbps 那一档只剩 3.7 KB/帧,PSNR 24.09 dB;32 Mbps 有 130.2 KB/帧,PSNR 33.45 dB。两档标称分辨率完全一样,都是 1080P。变的是每一帧能分到多少字节。分辨率决定画布有多大,码率决定画布里能装多少细节。
2026-11-06 07:38:57
184
原创 快递体积重怎么算?同一个箱子计费 6kg 还是 12kg
同一个箱子,÷6000 是 12kg,÷12000 是 6kg。决定计费重量的不是货有多重,是体积、除数和进位规则一起算出来的结果。寄件前先确认渠道按哪个除数,再量长宽高。想省体积重,优先压最短的那条边。但别为了省运费把箱子压坏,包装强度也是成本。
2026-11-05 08:48:31
162
原创 MySQL 可重复读到底防不防幻读?2 个事务同屏跑给你看
RR 下普通 SELECT 连续两次读到 3 行,不是幻读被彻底消灭。它读的是事务开始时的快照。当前读能看见别人后来提交的第 4 行。间隙锁再把第 5 行挡在门外。三件事分开看,RR 的“防幻读”就清楚了。页面和源码在 Demo Park:https://atomgit.com/deli007/demo_park/tree/main/codearts-mysql-isolation-lab。
2026-11-05 08:08:14
84
原创 100W 快充到底只跑出 55W,一根 Type-C 线差在哪?
100W 充电器只跑出 55.5W,问题通常不在充电器。先看线有没有 E-marker,再看线芯够不够粗,最后看线有多长。三件事任何一件不满足,功率都会往下掉。页面和源码在 Demo Park:https://atomgit.com/deli007/demo_park/tree/main/codearts-usbc-fastcharge-cable-lab改天换一根线,把 5 个参数再点一遍,就能知道差在哪。
2026-11-05 06:29:20
137
原创 1.5 匹空调制热一晚到底几度电?按 kWh 电价算 6 档温度
我把家里那台 1.5 匹空调的参数填进一个网页计算器,制热开一晚是 12.43 度电、7.46 元。同样开 8 小时,模式换成制冷、室外 33℃,一晚只要 1.75 度、1.05 元。差出来的 7 倍几乎全在电辅热上,光它自己就吃掉 8.00 度。成品只有一个 index.html,双击就能打开,不联网也能算。
2026-11-04 08:41:11
129
原创 GIF 太大怎么压?调帧率、尺寸、颜色数,10 组参数体积对照实测
GIF 的体积不是玄学,是宽度、帧率、颜色数三个参数乘出来的,这段 60 帧的示例动画在 8.4 倍的范围里随便调。调参的优先级也很直白:先砍帧率,再砍颜色数,尺寸最后动,抖动能不碰就不碰。比参数表更值钱的,是这轮踩出来的那条规则:编码器和解码器不能互相作证;要证明一个文件是好的,得让一个跟你无关的标准解码器把它读出来。参数在页面上,坑也在页面上。
2026-11-03 10:17:52
85
原创 流式输出为什么一段一段蹦?拆开 SSE 分块实测 20094 个乱码
流式输出看起来是「后端一段段推」,落到浏览器手里其实是「一堆不保证对齐的字节块」。块边界和字符边界对不齐,独立解码就会批量产出 U+FFFD;一个就能解决。同一份 100KB 文本,块大小 16 字节时独立解码出 10215 个乱码字符,块大小 4096 时降到 29 个,流式解码在四种块大小下全是 0。页面上那两个开关值得自己拉一拉:块大小调到 1 看乱码数量级,代理缓冲打开看文字怎么一次蹦一大段。丢给服务端一句话就能修好的事,别让前端在渲染层数半天。
2026-11-03 08:15:49
202
原创 秒杀超卖实测:1000 个并发请求下 SQL 加锁前后差多少
超卖这件事,代码写得再短也躲不开:只要「读库存」和「写库存」之间隔着一次 IO,就一定有人插队。五种方案里,无锁版把 100 件卖成 -900(8 毫秒),悲观锁一件不超卖但慢到 5368 毫秒,乐观锁用 999 次重试换来干净结果,原子预扣减两条都不占。把这五种摆在同一个页面上跑一遍,比看十篇「分布式锁原理」记得牢。参数在页面上,陷阱也在页面上:你可以把库存调到管够,看无锁版怎么「假装正常」。
2026-11-03 07:19:28
168
原创 0.1 转二进制为什么除不尽?进制转换 21 组边界 + JS 精度实测
0.1 转成二进制,写出来是 0.00011001100110011001100110011001,后面还有没写完的 0011 一直在循环。我用一个单文件网页工具跑了 21 组边界用例,页面自己报「自检结果:21 / 21 通过」。我又用 Python 另写了一份实现,把 40 组输入逐位对着页面比,两边输出零处不一致。比对的路上撞到三个真实的边界问题,其中一个连 2 的幂都会踩。
2026-11-02 06:26:36
217
原创 报销单金额大写老写错?RMB 转大写 12 组边界实测
1234.56 的大写是壹仟贰佰叁拾肆元伍角陆分。1000.5 是壹仟元伍角,不是壹仟元零伍角。10001 是壹万零壹元整,中间只留一个零。1000000000001 更绕,它是壹万亿零壹元整,中间三段空位最后也只留一个零。这几个答案来自一个单文件网页工具,打开它就会自动跑一遍 12 组边界用例。我又用 Python 另写了一套实现,把 49 个输入逐条对着页面比,两边的输出零处不一致。
2026-11-02 05:53:54
83
原创 AES 加密图片还能看出轮廓?ECB 和 CBC 两种模式逐块实测对比
同一张 128×128 的彩色图,同一把 AES-128 密钥,只换加密模式。ECB 的密文里还能数出原来的色块周期,CBC 和 CTR 的密文是一片噪声。我把三种密文逐块数了一遍,ECB 有 2374 个重复块,CBC 和 CTR 都是 0。重复块就是漏密的口子,这就是 ECB 不能拿来加密图片的原因。
2026-11-02 04:06:20
150
原创 纸牌接龙为什么老是无解?52 张牌 DFS 求解器跑 200 局实测可解率
页面内置的求解器跑完 200 局,可解率停在 0.0%。我把同一批种子交给一份独立实现的 Python 求解器,预算从 2.5 秒拉到 120 秒,同样一局都没解出来。所以「无解」很多时候不是这副牌的性质,是求解器算不出来。这一页把牌桌、求解器、自检面板摆在一起,就是为了让人看见这个区别。
2026-11-01 06:28:30
173
原创 搜索框打错 2 个字还能搜到?Levenshtein 编辑距离实测
把 javascirpt 敲进这个页面的搜索框,排在第一的仍然是 JavaScript,相似度 80.0%、编辑距离 2。切成 Damerau-Levenshtein 再算一遍,同一条结果的编辑距离变成 1,相似度 90.0%。同一份词库、同一个错词,两套算法给出两个答案,这个差别就是搜索框能不能容错的全部内容。
2026-11-01 04:35:43
140
原创 地图定位为什么偏了 500 米?GPS 与火星坐标实测
把北京一处 WGS-84 坐标 39.904200, 116.407400 输进这个页面,它算出的 GCJ-02 是 39.905603, 116.413642。两个数字一减,位置被挪走了 554.85 米,方向 73.66°。广州更远,620.97 米;乌鲁木齐最近,也有 265.02 米。这不是算错了,是国内地图的通行规则。
2026-10-31 10:41:34
155
原创 为什么 1KB 的文件占 4KB 磁盘?10 万个文件簇对齐浪费实测
右键一个文件看属性,会看到两个对不上的数字。「大小」写 1,024 字节,「占用空间」写 4,096 字节。同一份文件,多出来的 3,072 字节并没有丢。它只是被磁盘的最小分配单位吃掉了:文件不满一个簇,也要占满一个簇。我把这条规则做成一个单文件网页,自己跑了一遍。同一批内容,换个簇大小,占用从 97.66 MiB 一路涨到 6.10 GiB。成品只有一个 index.html,双击就能打开。下面每个数字都是我在页面里读回来的。
2026-10-31 08:49:22
6
原创 无痕模式为什么骗不过网站?12 项浏览器指纹 Canvas 实测
我换上无痕窗口,清掉 Cookie,又换了一条网络出口。同一台电脑再打开那个网站,它还是认得出我。原因不在 Cookie。浏览器一开口,就把这台电脑的 12 项硬件与渲染特征报了出去。我把这 12 项拼成一个页面,自己采了一遍。换台机器,这三行的值都会变。同一台机器换浏览器,指纹 ID 也会变。
2026-10-31 07:53:05
7
原创 播客开1.5倍速,声音为什么变尖?Web Audio实测
播客开到 1.5 倍速,主播的声音会变尖,像被捏住了嗓子。同一条音频,换一个 App 开 1.5 倍速,声音却基本不变。我把这两种情况放进同一个页面,用一段 440Hz 的测试音跑了一遍。关掉“保持音高”,1.5 倍速下主峰从 440Hz 跳到 655.5Hz。打开“保持音高”,主峰留在 420.0Hz 附近。变尖不是错觉,是重采样。不变尖也不是魔法,是浏览器在做时间拉伸。
2026-10-30 10:59:38
2
原创 WiFi 5GHz 满格却比 2.4GHz 慢?同一间屋 13 个信道算一遍
同一间屋,手机显示 5GHz 满格,下载却只有 122Mbps。切回 2.4GHz 的 40MHz,反而跑到 222Mbps。我把 2.4GHz 的 13 个信道和 5GHz 的常用信道画成频谱图,又把距离和墙数做成滑块,算了一遍。
2026-10-30 09:51:48
15
原创 密码为什么不能存明文?10 万条字典 SHA-256 撞库实测
password在 10 万条字典里,单次查表就被还原。同一个密码加上随机盐,同一张字典要按盐重算一遍,。再换成 PBKDF2-SHA256 10 万次迭代,单次计算。三个数字放在一起,密码存储的防线就清楚了。不是"加盐就安全",也不是"哈希一次就完事"。真正拉开差距的,是攻击者每猜一次要付多少计算成本。
2026-10-30 09:34:00
6
原创 404 和 500 到底谁该重试?HTTP 状态码 60 个按场景分好类
404 不该重试,500 可以退避重试。这是 60 个状态码里最容易搞反的一对,也是我做这个页面的起点。页面里收录 60 个码,自检 15/15 通过;重试分类是 28 个 never、25 个 after-fix、7 个 backoff。先给三条硬信息。index.html。
2026-10-30 07:32:06
12
原创 分期月费率 0.6%,真实年化利率 13%?IRR 拆开算实测
分期手续费 0.6%,第一眼看过去像年化 7.2%。借 12000 元分 12 期,一共交 864 元手续费,真实年化是 13.03%。多出来的那 5.83 个百分点,藏在「手续费按全额收、本金却在逐月减少」这件事里。我把这笔账做成了一个能点的网页,改金额、改期数、改费率,真实年化当场重算。先给三条硬信息。index.html。
2026-10-29 10:00:47
162
原创 扫码登录为什么要轮询?QR 码从生成到过期的 6 个状态实测
扫码登录每天都在用,可电脑端其实不是在「等你」。它每 1.5 秒问一次服务器:有人扫了吗,确认了吗。我把这套流程做成了一个能点的网页:二维码、倒计时、请求流水、两种模式对照,还有一个批量模拟按钮。一次成功登录,页面实测发了 7 次请求,总共 9.01 秒。挂机到二维码过期,这个数字变成 81 次,而页面自己写的理论最大是 80。先给三条硬信息。index.html。
2026-10-29 09:14:06
91
原创 HashMap 扩容为什么卡顿?10 万个 key 实测负载因子 0.75 的秘密
10 万个随机 key 塞进一张链地址法哈希表,桶数量从 16 一路翻倍到 262,144,中间扩容 14 次。最后一次扩容花了 18.7 毫秒,是时间线上最早那条记录(8,192 个桶)0.4 毫秒的 47 倍。我把这张表做成了一个能点的网页:桶数组热力图、扩容耗时时间线、四种冲突策略同台对照,还有一个把所有 key 砸进同一个桶的退化实验。它只做四件事:插入、扩容、对照、退化。它测不了多线程并发,也不管哈希函数被恶意构造的攻击场景。先给三条硬信息。index.html。
2026-10-29 08:18:53
153
原创 订单号为什么不会重复?64 位雪花算法 Snowflake 逐段拆开实测
订单号那一串 19 位数字,看着像随机数,其实是算出来的。我把雪花算法的 64 位拆成四段,做成一个能点的网页,一页看清它怎么在 1 毫秒里挤出 4096 个不重样的 ID。它只做四件事:拆位、生成、压测、回拨演示。它不保证跨机房时钟同步,也解决不了运维层面把机器号配重的问题。先给三条硬信息。index.html。
2026-10-28 12:46:27
122
原创 键盘按键测试:按下就点亮,keydown 延迟精确到 1 毫秒
键盘上哪个键失灵,很多人是打到一半才发现。我做了个网页:按下任意键,键盘图上对应的位置立刻点亮,松开就灭。顺手把三件事也量了出来:同时按几个键能被识别、长按的重复间隔是多少、一次按键从事件到渲染用了多少毫秒。它只做四件事:点亮、统计、计时、热力图。不做按键寿命测试,也判断不了是硬件坏还是驱动坏。先给三条硬信息。index.html仓库没附单独的许可文件,代码随案例目录公开取用。
2026-10-28 11:42:01
286
原创 4 种 CAPTCHA 验证码同台,哪种能真正拦住机器
我写了一个只会最笨办法的机器人:逐列像素投影切分,再和内置字符位图做模板比对。把它放到四种常见验证码前面跑 200 次,成绩差得很远。字符扭曲型只过 4 次,点选文字型过 10 次,滑块缺口型和算术型 200 次全过。通关率的差距不是 20% 和 30%,而是 2% 和 100%。这篇把四种关卡做成了一个能直接玩的实验室:机器人先替你打一遍,你再自己打一遍,最后给一张人机对比的小结。
2026-10-28 10:28:01
386
原创 RSA 为什么公开公钥也解不开?2 个质数拆开实测一遍
RSA 的公钥随便给,因为从 (e, n) 反推出 d,得先把 n 分解回两个质数。61 × 53 这种小 n,试除 27 次就拆开了。9998000099 要试 49995 次,花了 2.1 毫秒;而 2048 位已经远远超出任何暴力尝试的范围。我拿 65 走完 65 → 2790 → 65,又拿 2024 走完签名、验签和篡改失败,还用一份独立脚本复算了 53 项断言。想自己验证,clone 下来开个静态服务器,或者直接打开那个 index.html。
2026-10-27 13:06:15
186
原创 为什么身份证号能验真假?18 位拆 4 段,MOD 11-2 算末位
第二步是取余、查表。167 除以 11,余数是 2。余数 0 到 10 一共 11 种,映射表长这样。余数 2 对应的正好是 X,跟输入的末位一致,所以判通过。这张表的读法是从余 0 开始依次取 1、0、X、9、8、7、6、5、4、3、2。X 只在余数 2 这一格出现。我用脚本随机生成 200000 个号统计,末位是 X 的有 18169 个,占 9.08%,和理论的十一分之一(9.09%)几乎重合。
2026-10-27 12:00:00
180
原创 物理绳的 3 个坑:Verlet 积分、约束求解、断点判定怎么算
一根 14 节的绳,拖到最大拉伸那一帧,约束误差 0.966 像素;22 次求解后剩 0.451。通关判定不是「看着碰到」,是球心到开关距离小于 46.6 像素;失败判定是松手后连续 90 帧速度小于 0.35。页面上的数字我用一份 Python 脚本独立复算过,11/11 项一致;三处边界也写进了踩坑。想自己试,clone 下来开个静态服务器就能玩,改参数是最直接的玩法。
2026-10-27 10:36:23
180
原创 Prompt 模板库:7 类提问模板拼起来,一次把需求说清
一句随口提问,检测下来 0 个要素、缺 5 个,替换成 7 类模板填完后是 238 个字、缺 0 个。7 类模板里 6 个必备对应 6 个要素,1 个可选管反问澄清。页面里的数字我用一份 Python 脚本独立复算过,10/10 项一致;对比区两侧口径不同这一处,我写进了踩坑里。想自己试,clone 下来开个静态服务器就能玩,改模板数组是最直接的玩法。
2026-10-27 09:31:15
187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅