51工具盒子

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

Lua笔记

Lua next 函数的一个有趣问题

Lua next 函数的一个有趣问题

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

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

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

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

厉飞雨 阅读(158) 评论(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...

Lua 循环:如何使用 while 和 repeat until

Lua 循环:如何使用 while 和 repeat until

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

> 学习如何以及何时在 Lua 中使用 while 和 repeat until 循环。 控制结构是编程语言的一个重要特征,因为它们使你能够根据通常在程序运行时动态建立的条件来指导程序的流程。不同的语言提供了不同的控制,在 Lua 中,有 `while` 循环、`for` 循环和 `repeat` `until` 循环。这篇文章涵盖了 `while` 和 `repeat...

了解 Lua 的 for 循环

了解 Lua 的 for 循环

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

> 了解 for 循环结构和你在控制它时拥有的选项,这样你可以对如何在 Lua 中处理数据做出聪明的决定。 在编程中,迭代是一个重要的概念,因为代码通常必须多次扫描一组数据,以便它可以单独处理每个项目。控制结构使你能够根据通常在程序运行时动态建立的条件来指导程序的流程。不同的语言提供不同的控制,在 [Lua](https://opensource.com/article...