luajit

Luajit equivalent for string.pack and string.unpack?

亡梦爱人 提交于 2021-02-10 14:18:56
问题 I need to save a list of lua float nubers in byte form and attach that to a string. I know string.pack exists for Lua 5.3 but I'm limited to Luajit. I'm not too familiar with FFI and I'd appreciate help on using it if it has a solution ( using tostring(number) just uses way too many bytes for numbers and memory is limited ) Basically, I need a way to get a binary string packed form of a list of numbers (floats for now), using Luajit, and be able to store it in a string & concat that string to

OpenResty创造者

[亡魂溺海] 提交于 2021-01-14 03:08:37
OpenResty 是一个开源的 Web 平台,用于开发高性能和高动态的 Web 网关或者 Web 应用。OpenResty 最早是为了支持全网搜索引擎周边的相关搜索的 API 接口,后来我们基于 Nginx 和 LuaJIT 重写了 OpenResty,用于支持淘宝量子统计这款产品的所有数据 API,再后来,我加入美国的 CDN 公司 Cloudflare,使用 OpenResty 驱动 Cloudflare 全球 CDN 网络的动态 http 和 https 代理系统。 从出生的第一天起,OpenResty 就是开源的。这些年来, OpenResty 社区尝试把它用于各种不同的业务场景,有些场景甚至是我们完全无法想象的。 比如有的公司使用它构建分布式网络存储系统的前端和后端(比如网盘应用);有的用它来构建完整的 Web 应用,像电商平台的商品详情页的生成和大型体育赛事的 Web 管理系统;也有的公司基于它构建大型的互联网广告平台,或者更复杂的 Web API 管理系统;还有的公司拿它来驱动小流量调度的硬件盒子,或者驱动家居陪伴型机器人;当然,更多的还是用于实现那些流量非常庞大的 Web API。[似乎和流量相关的工作都有机会用到 OpenResty,我们也有用户使用完全基于 OpenResty 的权威 DNS 服务器。] OpenResty 的优势在于小巧灵活、高性动态。 基于

FairGuard游戏Lua加密方案解析

廉价感情. 提交于 2020-10-28 11:40:49
Lua以其小巧快速的特点已渐渐成为广大游戏开发者必修项,因此Lua的安全问题对于游戏开发者亦是迫在眉睫。 一. Lua 在手游中的使用场景 1.Cocos2dx 引擎 在 Cocos2dx 引擎中,可选的脚本语言主要有 Lua 与 Javascript。相对于 Javascript, 因 Lua 更适合制作非 h5 游戏而被广泛使用。 2.Unity3d 引擎 Unity3d 引擎的原生脚本语言是 C#, 但由于 iOS 系统安全限制无法热更新 C#, 从而出现了许多使用 Lua 的热更新框架,如 toLua / uLua / xLua 等。这些框架将 Unity3d 引擎 API 封装为 Lua 接口,让游戏开发人员拥有使用 Lua 脚本开发游戏逻辑/界面的能力。需要热更新时,服务端可以动态下发 Lua 脚本,客户端加载新的 Lua 脚本即可更新游戏逻辑/界面等。 二. Lua 脚本安全问题 由于 Lua 是一种解释型语言,所以 Lua 虚拟机可以直接解释执行 Lua 源代码,这就导致许多游戏开发者直接将 Lua 源代码打进 apk / ipa 中,这相当于直接泄漏了游戏源代码,大大降低了外挂制作门槛,更有可能被拿去做换皮肤二次开发。在 Cocos2dx 中,若直接使用 cocos compile 编译打包(不加 --compile-script 参数),那么 Lua

使用Sysbench对滴滴云MySQL进行基准测试

淺唱寂寞╮ 提交于 2020-10-22 18:12:35
Sysbench是一款开源的多线程、跨平台的基准测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。本文使用Sysbench针对滴滴云的MySQL进行基准测试。 本文使用的MySQL数据库为一台4G内存,50G存储容量的滴滴云MySQL数据库,由于滴滴云MySQL默认不能通过公网访问,此数据库通过一台滴滴云虚拟机(DC2)连接,滴滴云MySQL的使用可以参考以下链接,此处不再赘述。 https://help.didiyun.com/hc/kb/article/1143410/ 其中关键的一步是为了云主机可以正常访问MySQL,需要创建用户,此处为方便测试,建议创建高权限账号。 常用的基准测试指标包括 TPS/QPS:衡量吞吐量。 响应时间:包括平均响应时间、最小响应时间、最大响应时间、时间百分比等,其中时间百分比参考意义较大,如前95%的请求的最大响应时间。 并发量:同时处理的查询请求的数量。 1.在云主机上安装MySQL5.7客户端: [root@dc2-user]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm [root@dc2-user]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm [root@dc2

Nginx+Lua生成最新文件下载链接

末鹿安然 提交于 2020-08-15 10:06:16
Nginx+Lua生成最新文件下载链接 背景介绍: 要求Nginx提供一个固定的下载接口,比如:xxx.xxx.com/download,然后这个地址会跳转的最新版本的软件包下载地址,这样的话请求xxx.xxx.com/download就能下载到最新版本的软件包。 Nginx编译安装添加lua模块 [root@172-16-1-209 tools]# wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz [root@172-16-1-209 tools]# tar xf LuaJIT-2.0.5.tar.gz [root@172-16-1-209 tools]# cd LuaJIT-2.0.5 [root@172-16-1-209 LuaJIT-2.0.5]# make PREFIX=/usr/local/luajit && make install PREFIX=/usr/local/luajit [root@172-16-1-209 LuaJIT-2.0.5]# cd .. [root@172-16-1-209 tools]# wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz [root@172-16-1-209 tools]# tar xf v0