Redis 的价值不在于"快"本身,而在于它把一组精心挑选的数据结构放在了内存里,并且保证了单个命令的原子性。用好 Redis 的关键,是让业务模型尽量贴合这些结构的原生语义——一旦发现需要在客户端把多个命令拼成一个"复合操作",就该停下来想想选型是不是出了…
Welcome
7AA7 Blog
Accounts require administrator approval before you can sign in with the password you set. Username must be 5+ letters or digits; email is used for password recovery.
Redis 的价值不在于"快"本身,而在于它把一组精心挑选的数据结构放在了内存里,并且保证了单个命令的原子性。用好 Redis 的关键,是让业务模型尽量贴合这些结构的原生语义——一旦发现需要在客户端把多个命令拼成一个"复合操作",就该停下来想想选型是不是出了…
把计算放到设备侧,出发点是"数据传不动"或者"数据不该传"。想清楚到底是哪一条在驱动,才能决定该放多少算力在端上。 为什么要算在设备侧 带宽:一路摄像头或者振动传感器的原始数据量级远大于蜂窝网络的实际可用上行带宽,全量上传既不现实也不经济。在端…
一套 90% 覆盖率的测试套件,完全可能是零价值的:改错一个判断条件,测试照样全绿;重构一次内部实现,三十个用例同时变红,其中没有一个对应真实缺陷。覆盖率衡量的是"代码被执行过",它不衡量"错误能被发现"。 价值来自改动时的信心 给测试估值的一个近似…
在 Windows 上折腾自动化,早晚会从 cmd 迁到 PowerShell。cmd 的命令是"字符串进、字符串出",dir 的结果是一段文本,想二次处理还得靠 findstr 拼正则;PowerShell 从设计上就是对象管道,Get-ChildItem 输出的是带 Name、Length、LastWriteTime 属性的文…
一台机器上跑多个容器,用 veth pair 加网桥就能互通。跨了机器,问题就变成另一个:Pod 的 IP 是 10.244.1.5,另一台宿主机上的 Pod 要访问它,怎么知道把包发到哪里。容器网络的设计,基本都围绕这个"怎么知道"展开。 要解决的问题:跨主机 Pod 互通 Kuber…
"这块代码该重构了"很难争取到资源,它描述的是主观感受,而排期表上每一行都是可交付的功能。技术债管理的第一步不是动手重构,而是把感受翻译成能用同一套标准比较的东西——否则偿还永远排在交付之后,直到某天以故障的形式强制偿还。 债务先要分类 不同类…
一套系统同时服务多家客户,每家客户看不到别人的数据,还能各自配置、各自扩容、各自退租——这就是多租户。听起来简单,真正落地时你会发现,难点从来不是"加个 tenant_id 字段",而是从这一刻起,系统的每一个查询、每一条索引、每一次统计、每一次数据导出…
线上出问题时的第一诉求永远是"发生了什么"。而常见的处境是:监控面板一片绿,用户投诉却有几十条;或者告警显示某个接口错误率上升,翻遍日志找不到一条异常。缺的不是数据,是数据之间的关联,以及据此回答未知问题的能力。 三者各自回答什么 三类数据的…