51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Lua笔记

Printing parameters in Lua traceback

Printing parameters in Lua traceback

厉飞雨 阅读(151) 评论(0) 赞(7)

When an error occurs, Lua will print a traceback of the call stack, it helps us to find bugs. In many cases, however, a call stack traceback is not enough for us to find out the problem. We ...

Lua 夏令时时区问题

Lua 夏令时时区问题

厉飞雨 阅读(195) 评论(0) 赞(9)

我之前的[一篇文章](/2020/05/08/sync-time-zone.html)介绍了怎样在服务器和客户端之间同步时间和时区. 同步时间相对简单些, 本质就是一个时间差; 而时区相对复杂些. 那篇文章介绍的方法有一个问题: 在客户端的时区启用了夏令时的时候, 客户端得到的本地时间会比实际快一个小时. 原因是求客户端时区的方法不对. 例如, 太平洋时区本为 UTC-0800...

Lua next 函数的一个有趣问题

Lua next 函数的一个有趣问题

厉飞雨 阅读(168) 评论(0) 赞(7)

熟悉 Lua 的同学都知道, Lua 是允许在 `for ... pairs` 循环中修改和删除表中元素的. 下面这样的代码是没有任何问题的: |---------------------|----------------------------------------------------------------------------------------------...

为什么说 Lua 5.3 中没有全局变量了

为什么说 Lua 5.3 中没有全局变量了

厉飞雨 阅读(157) 评论(0) 赞(8)

过去笔者一直使用 Lua 5.1, 对 Lua 5.3 中的 `_ENV` 一知半解. 最近新项目中使用了 Lua 5.3, 于是特意研究了下. 这篇文章总结下 Lua 5.3 中的环境和全局变量, `_ENV` 的含义以及与之相关的用法. ### Lua 变量的类型 {#lua-变量的类型} Lua 中的变量可分为局部变量, 上值(upvalue)和全局变量. 经常使用 ...

序列化 Lua 对象

序列化 Lua 对象

厉飞雨 阅读(128) 评论(0) 赞(27)

在项目中由于种种需求经常需要将对象序列化成一个字符串. 由于 Lua 唯一的复合结构是 table, 所以实现起来还是比较简单的. 之前我们的做法是用 Lua 写一个递归函数遍历 table 的键值然后转换成字符串并拼接起来. 然而 Lua 在字符串拼接的过程中会不断地构造字符串对象, 因此这样的实现方式性能较差, 并且会浪费内存, 特别是数据比较大的时候. 一种优化方式是将键...

在Lua中使用装饰器

在Lua中使用装饰器

厉飞雨 阅读(165) 评论(0) 赞(6)

引言 {#引言} -------- 使用过 Python 的同学都会喜欢上 Python 的装饰器. 它提供一种语法, 对函数进行"声明": |---------------------------|------------------------------------------------------------------------------...

基于golang+lua虚拟机的日志分析系统实现

基于golang+lua虚拟机的日志分析系统实现

厉飞雨 阅读(121) 评论(0) 赞(7)

****FBI-Analyzer**** ==================== FBI-Analyzer是一个灵活的日志分析系统,基于golang和lua,插件风格类似ngx-lua。 使用者只需要编写简单的lua逻辑就可以实现golang能实现的所有需求,[++点击++](#%E9%A1%B9%E7%9B%AE%E8%BF%90%E8%A1%8C%E6%B5%81%E...

基于ngx_lua模块的waf开发实践

基于ngx_lua模块的waf开发实践

厉飞雨 阅读(138) 评论(0) 赞(7)

0x00 常见WAF简单分析 ============== *** ** * ** *** WAF主要分为硬件WAF和软件防火墙,硬件WAF如绿盟的NSFOCUS Web Application Firewall,软件防火墙比较有名的是ModSecurity,再就是代码级别的ngx_lua_waf。下面谈谈个人对几款防火墙的理解: 硬件WAF个人觉得只适合在那种访问量较少...

用 Lua 控制你的树莓派

用 Lua 控制你的树莓派

厉飞雨 阅读(140) 评论(0) 赞(7)

> 学习如何使用 Lua 编程语言为物联网(IoT)设备编程,并与树莓派上的通用输入/输出(GPIO)引脚互动。 Lua 是一种有时会被误解的语言。它与 Python 等其他语言不同,但它是一种通用的扩展语言,广泛用于游戏引擎、框架等。总的来说,我发现 Lua 对开发人员来说是一个有价值的工具,可以让他们以一些强大的方式增强和扩展他们的项目。 你可以按照 Seth K...