文章

总共有 25 篇文章

使用 iOS 工作体验报告

最近正儿八经尝试使用 iOS 来工作,讽刺的事最终释放 iPad 生产力的竟然是键盘和触控板。这篇文章会记录下我的一些感受。我用的是家里领导手中闲置的 iPad Mini,那些显然在 iPad Pro 上不是问题的问题就不会提及了。 首先说下结论,对于我来说,iPad 有自己很好的使用场景,和笔记本电脑能形成不错的互补,甚至作为主力机器我觉得自己也能完全适应。但是必须得有备用电脑,因为当正经使用起来的话,还是很容易碰到系统限制,但是又找不到 App 能解决问题的场景。

更新于  •  4 分钟读完

Lua C API userdata 和 light userdata

填半年前挖的坑。分享 Lua C API 中的 userdata 和 light userdata。 在编程过程中,经常会需要给一块数据分配一个唯一句柄,通过句柄能够读取或者操作这块数据。原因主要有: 数据内聚性很强,封装在一起方便传递,减少参数数量。 隐藏数据的内部结构,通过 API 提供操作接口。 减少数据拷贝。 最典型的就是 C 中的指针了。但句柄并不一定就必须是指针,比如 Linux 系统中的 fd 可以当作是 IO 设备的句柄。 在 Lua C API 中提供了 userdata 和 light userdata 可以让 C 返回一个句柄给 Lua,而 Lua 可以将句柄再通过在 C 中注册的方法传回 C。 Lua Userdata…

更新于  •  3 分钟读完

Graylog 集中日志管理 - 日志处理

Graylog 通过 Input 搜集日志,每个 Input 单独配置 Extractors 用来做字段转换。 Graylog 中日志搜索的基本单位是 Stream,每个 Stream 可以有自己单独的 Elastic Index Set,也可以共享一个 Index Set。用 Set 是因为日志的保存会使用一个前缀然后滚动创建新的 Index。Stream 通过配置条件匹配日志,满足条件的日志添加 stream ID 标识字段并保存到对应的 Elastic Index Set 中。同一个 Input 中的日志可以属于不同的 Stream,不同 Input 中的日志可以属于同一个 Stream,就是同一条日志也可以属于多个 Stream。 系统会有一个默认的 Stream,所有日志默认都会保存到这个 Stream 中,除非匹配了某个 Stream,并且这个 Stream 里配置了不保存日志到默认 Stream。 下图是日志处理流程图 Graylog 日志处理 后文会分别分享各个步骤需要注意的一些地方。

更新于  •  4 分钟读完