摘要: 「部分情节为虚构演绎,仅供参考」 做后端的同行都知道,权限系统里最经典的设计就是位掩码(bitmask)。每个权限占一个bit:第0位是读、第1位是写、第2位是删除、第3位是管理员……一个32位整数就能存32个权限。Linux文件权限就是这么干的(rwx = 111 = 7)。 READ = 1 < 阅读全文
posted @ 2026-08-19 18:10 贝壳bkshell 阅读(14) 评论(0) 推荐(0)
摘要: 「部分情节为虚构演绎,仅供参考」 做爬虫的同行都知道一个经典问题:URL去重。你爬一个大站,链接之间互相引用,爬虫很容易在同一个URL上反复抓取。所以你需要一个「已访问集合」——每抓到一个URL,先查一下有没有访问过,没访问过就加入队列并标记为已访问。 小规模的时候,一个 set() 就搞定了: v 阅读全文
posted @ 2026-08-19 18:10 贝壳bkshell 阅读(11) 评论(0) 推荐(0)
摘要: 「部分情节为虚构演绎,仅供参考」 事情是这样的。那天我在刷算法题,遇到一道经典题:筛出10亿以内的所有素数。埃氏筛(Sieve of Eratosthenes)嘛,算法课第一节就教过。开一个布尔数组,初始全是True,然后从2开始,把每个素数的倍数全部标记为False。最后剩下True的就是素数。代 阅读全文
posted @ 2026-08-19 14:23 贝壳bkshell 阅读(15) 评论(0) 推荐(0)
摘要: 摘要:在电商大促场景下,亿级布尔数组(True/False 标记)的内存与性能问题,是后端开发的高频痛点。本文从 list[bool]、array('b')、NumPy.ndarray、SciPy.sparse 四种主流方案的 OOM/TLE 困境出发,提出「混合存储 + 自动换挡」的破局思路,并介 阅读全文
posted @ 2026-08-19 14:22 贝壳bkshell 阅读(17) 评论(0) 推荐(0)
摘要: 1. 引子:当「反诈」变成「反炸」 「部分情节为虚构演绎,仅供参考」 说实话,我所在的团队做的是大规模布尔场景的风控系统,说白了,核心业务就是反骚扰 + 反诈。每天上亿条号码、设备指纹、IP 段要跟黑名单做匹配,这压力你懂的。说白了,黑名单本身就是海量的布尔标记:这个号是不是诈骗号、这个设备是不是羊 阅读全文
posted @ 2026-08-19 14:22 贝壳bkshell 阅读(11) 评论(0) 推荐(0)
摘要: 2. 业务背景:一个看似简单的大规模布尔场景 事情要从我们团队接手的一个推荐系统项目说起。项目里有一个核心模块需要维护一张「用户-物品」的布尔关系表,用来记录某个用户是否已经看过某个物品。这个表的数据量有多大呢? 用户量:约 500 万 物品量:约 200 万 需要存储的布尔值:10 万亿个 也就是 阅读全文
posted @ 2026-08-19 14:22 贝壳bkshell 阅读(12) 评论(0) 推荐(0)
摘要: 1. 踩坑:百万级布尔数组,内存直接“爆炸” 本文关键词:Python 布尔数组、内存优化、稀疏存储、numpy 替代方案、bool-hybrid-array、BoolHybridArray、混合数组、位运算、OOM 排查 事情要从一个不起眼的“用户画像标签”说起。当时我在做一个推荐系统的用户分群逻 阅读全文
posted @ 2026-08-19 14:21 贝壳bkshell 阅读(17) 评论(0) 推荐(0)