技术博客
分享开发经验、使用教程和技术洞察
网格视图变成一排排细横条:overflow:hidden 和 CSS Grid 的自动最小高度
用户反馈切到网格视图后卡片全变成了细横条。根因不在 JS,而在一行 overflow:hidden——它让网格项的自动最小高度变成 0,条目一多 auto 行就被均分压扁。
指定 bucket:单桶授权的 AK 也能连,靠的是包一层 provider
很多团队给工具发的 AK 只授权了一个桶,没有 ListBuckets 权限,一连就报错。这次给账号加了"指定 Bucket":点开账号直达该桶,根目录只显示它——实现上不改任何厂商代码,而是给 provider 包了一层。
Nebula 更名 BucketForge:改一个名字,要搬走哪些数据
项目从 Nebula 更名为 BucketForge。名字好改,难的是 bundle identifier 一变,应用数据目录、SQLite 库、钥匙串条目全都换了地址——这篇讲老用户升级后账号为什么还在。
只给两家云做的功能,顺手在第三处代码里挖出一个签名 bug
细粒度对象 ACL——按具体账号 ID 授权,而不是公开/私有二选一——七家云里认真查过文档后只有 AWS S3 和华为云 OBS 值得做。写华为云那份实现时,新方法一上线就报签名不匹配,原因是半年前就留了一句"用到再补"的注释,这次终于用到了却忘了回来补。
官方文档不肯说签名版本,第三方 SDK 的源码替它说了
金山云 KS3 因为找不到可验证的官方签名向量搁置之后,接下来查京东云对象存储时又撞上类似的墙——官方文档翻遍了也没有一句话明确写"这是 SigV4"。但这次没有卡住:一个第三方 PHP 客户端的源码显示它直接实例化官方 AWS SDK 的 S3Client 指向京东云,这比任何一句文档描述都更有说服力。
想接一家"专有签名"的云,查完文档发现根本不用写签名器
本来打算按老办法给金山云 KS3 写一套独立的 HMAC-SHA1 签名器,但官方文档给出的签名示例始终凑不出一个能验证的完整数值向量——没有向量就没法离线证明签名对不对,这是团队定下的硬规矩,不能跳过。查证过程中发现优刻得 US3 反而只支持标准 SigV4,可以直接复用现成的 s3-core,于是临时换了目标。