闲扯 KAdBlockEngine
几天前给 KAdBlockEngine 加上了 README 之后,这个 repo 算是正式的结了。
对别人来说,这只是一个很普通的 repo;但是对我而言,却意义重大。
几天前给 KAdBlockEngine 加上了 README 之后,这个 repo 算是正式的结了。
对别人来说,这只是一个很普通的 repo;但是对我而言,却意义重大。
这个论断来自于前段时间重构 pickle 时的想法。
Pickle
是一个二进制序列化设施,内部维护一块 buffer 用以保存被序列化的二进制数据,语义上看,一个 Pickle
对象对内部 buffer 具有无争议的 resource owner 语义。
昨天在给 KAdBlockEngine 的 AdFilter
加上序列化/反序列化的支持时,意外的又一次被 data type promotion 坑了,导致一晚上的时间都在 debug…
模板参数类型约束在 C++ 中一直以来大概得算不上不下的一个处境。
因为非运行时(编译期)的优势,对于参数类型约束的需求不像 C# 那样紧迫;但是同时又因为实例化完成的时期过早,编译器对于模板代码的处理并不能上升到一个精确的语义层次,导致的后果就是模板相关的代码的出错信息一直在井喷,而且相当一部分的错误信息完全没有卵用。
因为需求需要,把某个功能拆分成一个独立的服务,并由一个全局的 service manager
去控制这个服务;服务对客户端暴露的实现也是通过 service manager
。
因为服务不需要运行在一个独立进程,manager 和 service 直接通过一个包含服务对象的 local binder 相互通信,看上去大概就这样: