查找讨论
全部讨论
UUPS 从 V1 升级到 V2 后 deviceCount 变成 0,devices 映射正常,registrationFee 却是 37
我在本地 hardhat 节点上升级了我的 FleetRegistry 代理。V1 里注册了 37 台设备。我用 scripts/upgrade.js 部署了 V2 的实现,然后在代理上调用了 upgradeToAndCall(implAddr, "…
using 声明重构把 Dispose 挪到了 Publish() 之后
语法更短,生命周期更长。C# 的 using 声明会在它所在作用域结束时释放变量,而当重构看起来只是顺手整理一下时,这个作用域很容易被忽略。 比如有个方法,在直接位于方法体里的 using 块中获取 input,调用 Read(input),离开这个…
ON CONFLICT DO NOTHING 和被重试的任务
对每一次唯一键冲突都回答“已经接受了”,会掩盖三种不同的情形。 两台服务器,一张按请求标识符做键的 PostgreSQL 表。客户端超时后重试,可能负载变了,也可能第一次尝试已经触发了某个外部动作。ON CONFLICT DO NOTHING 把第二…
哈希模式里写了 region 的 case/in 把 eu-west 的补货放进来了
在给一家布料店维护一个小的库存同步脚本。它读取事件,按 SKU 累计总数。店里只关心自己所在的区域 us-east,这个值来自 config/shop.yml。所以在 restock 分支里我把 region 写进了哈希模式,以为这样只会匹配我们自己…
asyncio.gather 在 3.9 上,一个任务失败了,另一个还在跑,还把文件写了
客户的服务器卡在 3.9,所以没有 TaskGroup,我对两个命名任务用了 gather。我在文档里读到一个抛异常时其他的会被取消,对吧?pier-9 的 measurements 接口今天返回 503,打印了 "score failed",但 w…
unsafe 该标在 extern 块上,而不是调用处
Rust 2024 要求写 unsafe extern "C" { ... },不能再用裸的 extern 块,这是这门语言多年来最诚实的一次小语法改动。声明一个外部函数,本来就是对它签名的一个未经检查的断言。参数类型写错了,每一次调用都是未定义行为…
NOT IN 子查询返回零行,没有报错,预期是 5 台主机
我把补丁状态记在一个小的 SQLite 文件里,用 sqlite3 :memory: < main.sql 来跑。我想查最后一次打补丁早于 2026-10-01、且没有生效中维护暂缓的主机。生效中指 until >= '2026-11-02'。 按我…
换配置语言解决不了漂移
用通用语言替换 HCL,卖点通常是循环和函数,漂移则被当成顺带的抱怨。漂移不是语言的问题。它是真实资源在文件背后被改了,比如有人手动改了磁盘大小,而一个输出同样期望状态的 Python 程序,漂移起来一模一样。真正的语言改变的,是审查的人得在脑子里执…
age>=18=>allow 与 Racket 的 reader
写规则的人想直接写 age>=18=>allow,不加空格,也不加括号。Racket 默认的 reader 可能会把它当成一个整体的 symbol 交出来,这样宏就得去拆这个符号的文本。自定义 reader 可以自己划分 token 的边界。 剩下的…
parse() 里创建了 ImportFailure,但 Main 根本收不到(退出码是 3 而不是 2)
你好, 我目前在两份工作之间,时间多得很,正好用来被一个 100 行的程序搞糊涂。 ledger-import 读取分号分隔的 CSV,把清洗后的行写入暂存文件。除非整个文件都解析成功,否则暂存里不允许留下任何东西。我的测试文件 data/march…
新增 label(Integer) 会让 label(null) 在重新构建时报错
纸面上是个小改动。一个库现在有 label(String value),下个版本保留它,再加上 label(Integer value)。 已编译的旧调用方没问题。它们的 class 文件里已经写明了 String 签名,会继续调用那个。重新构建就是…
限制一个字符,该用 UTF-16 长度还是字素簇数量
编辑器的建议把一个标签字段里的 text.length <= 1 改写成了字素簇数量检查。这是修 bug,还是改了需求? A、é 和 🇰🇷 的 UTF-16 长度分别是 1、2 和 4,其中 é 写成 e 加 U+0301。三个都是一个字素簇。所…
流式解码器,后面的记录里多出了字段,合法字节还报 "malformed at offset N",只在 chunk 很小时出现
大家好,我在用 Rust 给客户的请求日志格式写一个小解码器(先是一个计数字节,然后是这么多个键值对,每个都是一个长度字节加上对应的字节)。字节从 socket 里以任意大小的块到达,所以 main 里维护一个 Vec<u8>,每来一块就追加,反复调…
目录重新加载之后什么还有效?
切片就是一个地址加一个长度。这两个字段都不会让背后分配的内存保持存活,Zig 参考文档也说得很明白,指针是否有效以及生命周期是程序员自己的问题。从函数里返回一个切片并不会延长任何东西。 所以目录的 names 调用的文档必须说清楚,它借出去的东西归谁…
hostprobe 队列上限 8、4 个 worker,但 100 个请求全部返回 202,goroutine 数涨到约 100
我在写 hostprobe,一个内部的小服务,cron 和几个脚本会以 /probe?host=NAME 的形式 POST 过来。4 个 worker,队列长度 8,探测目前就是 sleep 20 秒(ssh 检查以后再加)。我希望脚本失控的时候它还…