虽然我们已经支持在断点进行变量打印,但是需要自己指定层数以及变量索引,使用起来不是很方便。要进行upvalue打印的话,操作会更加麻烦。为了提升调试的方便性,我们决定封装一个通用的变量打印函数,可以通过变量名查找到对应变量的值进行打印。支持局部变量、upvalue以及全局的​​_ENV​​中的变量
转载 2023-07-31 08:38:11
114阅读
到目前为止,我们写的C函数都还是单个的函数,函数之间没有联系,也没有涉及返回C结构体以及指针,但实际的业务场景中肯定不会这么简单,比如我们现在要扩展lua使之能够操作redis,首先至少需要一个连接redis服务器的方法并返回一个连接句柄,然后用这个连接句柄来进行各种查询,最后使用结束还需要关闭这个连接句柄,通常来说,这个连接句柄会是一个结构体,那问题是该怎么返回这个结构体给lua呢。用C操作Re
转载 2024-03-26 12:46:53
107阅读
nginx变量使用方法详解(8) nil、null与ngx.null 发现一个nginx LUA开发Web App的框架 nginx是个好东西, nginx的openrtsy发行版本更是个好东西。 今天又发现个好东西 :Moochine MOOCHINE - 一个简单的轻量级的web framewo
转载 2017-11-20 19:46:00
484阅读
2评论
一、从hello world说起当执行print("Hello World!")时,明显这是需要有执行一个特定的向标准输出打印字符串的功能,所以这里首先涉及到的是一个函数查找的问题,也就是如何把字符串和对应的功能联系起来。在最为常见的C语言中,这个查找是由链接器完成的:它从所有的obj文件中查找这个函数的定义,然后把这个地方转换成对应位置的CPU call指令。对应地,对于lua,同样需要有方法将
转载 2023-08-27 17:14:58
205阅读
脑子不好,老忘,只能写下来。 关键字 and break do else elseif end false for function if in local nil not or repeat return then true until while 变量和操作符 1、lua支持以下几种变量类型 print(type("string")) string pr
转载 2024-05-14 10:26:32
41阅读
Lua中可以通过自定义类型的方式与C语言代码更高效、更灵活的交互。这里我们通过一个简单完整的示例来学习一下Lua中userdata的使用方式。需要说明的是,该示例完全来自于Programming in Lua。其功能是用C程序实现一个Lua的布尔数组,以提供程序的执行效率。见下面的代码和关键性注释。#include #include #include #include #define B
首先我们选择使用 OpenResty,其是由 Nginx 核心加很多第三方模块组成,其最大的亮点是默认集成了 Lua 开发环境,使得 Nginx 可以作为一个 Web Server 使用。借助于 Nginx 的事件驱动模型和非阻塞 IO,可以实现高性能的 Web 应用程序。而且 OpenResty 提供了大量组件如 Mysql、Redis、Memcached 等等,使在 Nginx
转载 2024-03-23 14:43:11
140阅读
Nginx 的日志级别,请看下表:ngx.STDERR -- 标准输出ngx.EMERG -- 紧急报错ngx.ALERT -- 报警ngx.CRIT -- 严重,系统故障,触发运维告警系统ngx.ERR -- 错误,业务不可恢复性错误ngx.WARN -- 告警,业务中可忽略错误ngx.NOTICE --...
原创 2021-08-25 09:49:16
10000+阅读
目录Lua 数据类型nil(空)boolean(布尔)number(数字)string(字符串)table(表)function(函数)thread(线程)userdata(自定义类型)Lua 数据类型Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值。值可以存储在变量中,作为参数传递或结果返回。nil 只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。bo
转载 2024-05-12 17:04:37
165阅读
Nginx 的日志级别,请看下表:ngx.STDERR -- 标准输出ngx.EMERG -- 紧急报错ngx.ALERT
原创 2022-02-18 15:55:01
5254阅读
REPL   Scala REPL (“Read-Evaluate-Print-Loop”) 是命令行解释器,在这你可以测试你的Scala代码。 只需在你的操作系统命令行里输入 scala ,就可以启动一个 REPL 会话。就像下面:$ scala Welcome to Scala 2.13.0 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_131)
最近搭建流媒体服务器,其中涉及到一些http服务api的操作, 之前一直使用的是python django框架来处理这些信息, 这次编译的是nginx添加了lua模块, 就想着使用lua来完成这些功能, 减少服务的搭建。好久没有lua开发了,现在突然发现好多东西都记不住了, 所以就借着这次开发, 记录下经历的开发经历, 及必备所需的东西, 以备后续查找翻阅以及分享给大家。日志, 是一个开发必备的东
转载 2024-05-21 20:28:45
742阅读
前言埋点数据一般取决于服务提供商想从用户身上获取什么信息。通常来讲,主要分为用户的基本属性信息和行为信息。用户的基本属性信息主要包括:年龄、性别、设备等。行为信息即用户的点击行为和浏览行为,在什么时间,哪个用户点击了哪个按钮,浏览了哪个页面,浏览时长等等的数据。 基本属性信息和行为信息又可以称之为一个简单的报文。报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整
HTTP请求报文HTTP 请求报文通常由请求行、请求头、请求体3部分组成// 示例 POST /index HTTP/1.1 // 请求行 Host: localhost:80 // 请求头 start Connection: keep-alive Content-Length: 268 Accept: */* Origin: User-Agen
OpenResty安装与使用nginx 配合lua实现服务器输入输出日志记录安装环境: centos (具体版本不限)安装前准备 必须将这些库 perl 5.6.1+, libpcre, libssl安装在您的电脑之中。 对于 Linux来说, 您需要确认使用 ldconfig 命令,让其在您的系统环境路径中能找到它们yum install pcre-devel openssl-devel gcc
转载 2024-04-17 14:22:32
467阅读
# Redis Lua 脚本打印变量的实践指南 Redis 是一个高性能的键值存储系统,它支持多种类型的数据结构,如字符串、哈希、列表、集合等。Lua 脚本是一种在 Redis 服务器上执行的脚本语言,它允许我们编写更复杂的逻辑,而无需在客户端和服务器之间进行多次往返。 在本文中,我们将探讨如何在 Redis Lua 脚本中打印变量,并解决一个实际问题。我们将使用 Markdown 语法来标识
原创 2024-07-28 10:15:26
151阅读
添加变量req_500_header set $req_500_header ""; header_filter_by_lua ' if ngx.status >= 500 then local h = ngx.req.get_headers() for k, v in pairs(h) do ng ...
转载 2021-11-04 15:01:00
1284阅读
2评论
本文主要介绍lua-nginx-module编译过程nginx是一个高性能的反向代理服务器,lua是一个小巧的脚本语言,利用lua-nginx-module模块可以使用lua处理nginx请求。nginx + lua 到底能做什么?举几个简单例子: 1.  前置身份鉴权 2.  入口层记录错误日志 3.  同时转发请求到后端多个服务 4.&nbs
参考资料Julia教程:从入门到进阶Julia 1.5 中文文档编程工具JuliaPro 1.4.2-1 地球物理局 转业处 地球物理局 基建处 地球物理局 地震波动力学实验室 地球物理局 信息化处 # 优先满足个人研究需求,所以系列文章不会面向程序员群体 # 欢迎批评指正,禁止转载 目录 石中居士:Julia程序设计基础与在地球物理学中的应用——目录zhuanlan.zhihu.c
1、简介Web应用防火墙(Web Application Firewall, WAF),通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击(Cross Site Scripting  xss)、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC(挑战黑洞)攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。2、架构整体架构:ngi
  • 1
  • 2
  • 3
  • 4
  • 5