protoc-gen-lua】的更多相关文章

最近要进行系统升级,后台的数据是根据城市区分的.担心新系统的稳定性及新数据的准确性,计划部分城市采用新接口.接口的入参里没有城市信息,只有经纬度坐标,需要调用一个thrift接口来根据坐标获取城市信息. 如果直接修改代码逻辑,则会造成新旧版本的耦合,不仅完全上线时要再次修改,而且还要增加一次测试流程,这样成本就有些高了.这时就想到能不能用nginx+lua对新旧版本接口做灰度发布. 步骤: 1.安装thrift 2.生成客户的代码  3.编译lua调用thrift需要的库 4.实现客户端代码 5…
这篇笔记主要集中学习一下uLua和Unity3D之间相互调用的方法,我们导入了uLua之后,现在会弹出一个类似学习屏幕的东西,如下: 先赞一个! Unity3D调用Lua Unity3D调用Lua的方法还是比较简单的,所以先说这个,由于这部分在学习笔记(一)中已经说的挺多的了,更多的内容点击这里回去看,所以这里我们就来看一个简单的示例即可: using LuaInterface; using UnityEngine; public class UnityCallLua : MonoBehavio…
Java 调用 Lua app发版成本高,覆盖速度慢,覆盖率页低.一些策略上的东西如果能够从服务端控制会方便一些.所以考虑使用Lua这种嵌入式语言作为策略实现,Java则是宿主语言. 总体上看是一个模板方法模式.Lua提供模板方法,其中需要的一些具体实现则有宿主语言Java提供. 1. Luaj:Java与Lua的桥梁 能够作为Java与Lua进行通信的桥梁工具还有别的一些.但是Luaj 是用纯Java实现,客户端容易加载.且目前还一直有更新和维护,相对感觉靠谱. 需要注意的是: 新版的LuaJ…
thrift的lua实现 最近要进行系统升级,后台的数据是根据城市区分的.担心新系统的稳定性及新数据的准确性,计划部分城市采用新接口.接口的入参里没有城市信息,只有经纬度坐标,需要调用一个thrift接口来根据坐标获取城市信息. 如果直接修改代码逻辑,则会造成新旧版本的耦合,不仅完全上线时要再次修改,而且还要增加一次测试流程,这样成本就有些高了.这时就想到能不能用nginx+lua对新旧版本接口做灰度发布. 步骤: 1.安装thrift 2.生成客户的代码  3.编译lua调用thrift需要的…
先上张图,说明一下thrift的二进制协议是什么东东. 报文格式编码: bool类型: 一个字节的类型,两个字节的字段编号,一个字节的值(true:1,false:0). Byte类型: 一个字节的类型,两个字节的字段编号,一个字节的值. I16类型: 一个字节的类型,两个字节的字段编号,两个字节的值. I32类型: 一个字节的类型,两个字节的字段编号,四个字节的值. I64类型和double类型: 一个字节的类型,两个字节的字段编号,八个字节的值. String类型: 一个字节的类型,两个字节…
uLua&SimpleFramework入门视频教程网盘地址 视频教程地址 http://pan.baidu.com/s/1gd8fG4N游戏框架地址 https://github.com/jarjin游戏案例地址 http://www.ulua.org/showcase.html ulua群里的一些资料,转过来方面查看   ulua学习顺序.请根据自身了解的知识入座. 初级:SimpleFramework框架 中级:ulua插件.cstolua 高级:底层库编译. 框架的角色定位分为2种, 第…
前言 IOS不能热更新,不是因为不能用反射,是因为System.Reflection.Assembly.Load 无法使用System.Reflection.Emit 无法使用System.CodeDom.Compiler 无法使用这三个不能用,就把传统dotnet动态路径坑死了为啥“这三个不能用,就把传统dotnet动态路径坑死了”呢动态载入dll或者cs的方法就这几个, IOS 下不能动态载入dll或者cs 文件,已经编译进去的没事.=============================…
ulua+PureMVC框架简单热更新使用 前言: 1:作者官网论坛 首先介绍的是这个框架是一位大牛  骏擎[CP]  jarjin   写的,据说原本是"非常多人不知道怎么使用Ulua,所以搞了个演示Demo",可是这个初衷发生了变化,突然有一个天作者发现非常多人基于这个Demo去做游戏了.这出乎作者的意料. 在此希望这个框架会越来越好. 眼下为止这个框架是全然免费的. 官网地址:http://www.ulua.org/ 近期刚刚开了一个论坛,大家不懂的能够去看看,论坛地址:http…
LuaFramework_UGUI_V2 https://github.com/jarjin/LuaFramework_UGUI_V2 using UnityEngine; using LuaInterface; using System.Collections; using System.Collections.Generic; using System; using UnityEngine.UI; namespace LuaFramework { public class LuaBehavi…
一.tolua使用准备工作:从GitHub上下载tolua(说明:这篇笔记使用的Unity版本是2019.4.18f1c1,使用的tolua是2021年4月9日从GitHub上Clone的tolua工程文件,没有下载release版本,使用的ide为vscode) 1.在GitHub上搜索tolua,点击下图搜索结果中选中的项目进入: 2.进入后Clone项目或者下载右边的release发布出来的tolua,这里我选择的是Clone代码: 3.导入tolua,将下载的tolua工程中的相关文件复…
先要将proto文件编译成.pb文件,然后再动态绑定实现lua protobuffer,这就需要了解云风做的pbc的项目,地址为:https://github.com/cloudwu/pbc/blob/master/binding/lua/README.md 具体的方式是,下载pbc的项目:在pbc/binding/lua下面编译出protobuf.so放在LUA_PATH下面,或者将protobuf.lua放在LUA_PATH下,就可以调用protobuf中的库方法cd pbc/binding…
##Openresty是什么 OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,通过把lua嵌入到Nginx中,使得我们可以用轻巧的lua语言进行nginx的相关开发,处理高并发,扩展性极高的动态 Web 应用.Web 服务和动态网关. 大家知道lua_code_cache 开关用于控制是否缓存*_by_lua_file对应的文件里的lua代码 lua_code_cache off的情况下,跟请求有关的阶段,在每次有请求来的时候 都会重新加载最新的lua文件,修改完代…
lua代码的加载 Openresty是什么 OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,通过把lua嵌入到Nginx中,使得我们可以用轻巧的lua语言进行nginx的相关开发,处理高并发,扩展性极高的动态 Web 应用.Web 服务和动态网关. 大家知道lua_code_cache 开关用于控制是否缓存*_by_lua_file对应的文件里的lua代码 lua_code_cache off的情况下,跟请求有关的阶段,在每次有请求来的时候 都会重新加载最新的lua…
试了几个Lua IDE后,Lua Studio.Lua Glider.VS+babelua插件.Sublime都不是特别满意.直到发现了国人自创的另一个神奇工具:基于IDEA的EmmyLua插件.该插件功能非常完整:断点调试.自动提示.代码跳转.智能重命名等,可以极大地提高Lua编程的速度.界面也比较舒服. 安装步骤 下载.安装并破解IntelliJ IDEA(我的版本是目前最新的2017.3.4) 安装EmmyLua插件 建议直接在IDEA工具内搜索插件安装(当然也可以下载插件到硬盘安装). …
最近在cocos2dx的项目中,需要在LUA脚本层使用protobuf协议.官方已经推出了很多种语言的版本.但唯独LUA版本不全.于是开始研究protobuf在LUA下的实现,将完整的过程记录了下来,希望对其它人能有所帮助. 1.下载protoc-gen-lua 可以通过HG从服务器(hg clone https://code.google.com/p/protoc-gen-lua/)上下载最新的版本. 简单介绍一下里面的三个目录: example 存放的一个示例协议, plugin 将.pro…
cocos2d-x lua 中使用protobuf并对http进行处理 本文介绍 cocos2d-x lua 中使用http 和 基于cocos2d-x 对lua http的封装(部分ok) 本博客链接 http://blog.csdn.net/vpingchangxin/article/details/24458051 protobuf  Google的一个非常好用的数据传输的封装 说实话Google的东西确实比較好用 所以我们前后端数据交换就用他了 只是Google没有对lua进行支持 还好…
为了使游戏开发更加方便快捷,我继续了protobuf在lua下的尝试. socket使用的是cocos2dx集成的websocket. 先说下环境:cocos2d-x-2.2.1 + protobuf 2.5.0 + protoc-gen-lua + Python 2.7.5 1.在protobuf目录下依次执行如下命令 python setup.py build python setup.py install 2.在protoc-gen-lua目录下的plugin目录中新建protoc-gen…
下载XLua:   https://github.com/tencent/xlua 项目中使用XLua只需将Plugins和XLua两个文件夹拷贝到U3D中即可XLua只是核心,用于实现Lua和C#交互,但是并没有提供便捷的"框架",我们在项目中使用XLua的话,需要自己实现框架部分,这样才能实现"从服务器端下载AB和Lua资源,完成客户端的热更新" C#调用Lua using XLua; //一个LuaEnv实例就是一个Lua虚拟机,建议全局唯一 LuaEnv l…
转自: http://www.voidcn.com/article/p-vmuovdgn-bam.html (1)lua实现protobuf的简介 需要读者对google的protobuf有一定的了解. Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You d…
背景 app打点日志的上报和收集,是互联网公司的基本需求. 一.方案选择 1.1 protobuffer vs json 探究一种以最高效的方式上报和解析打点数据是一个系统性的问题,需要解决的子问题有很多,例如降低网络传输成本,减少序列化反序列化的性能开销,可靠性和高峰期的水平扩展,以及非耦合的编码等等. 很多公司的打点日志会采用比较简单通用的json格式来上报,比如"第四范式"的先荐系统就是使用json格式作为数据上报格式的,这样做便于开发和理解,但是从处理性能方面来考虑并不是最好的…
xLua是腾讯的一个开源项目,为Unity. .Net. Mono等C#环境增加Lua脚本编程的能力.本文主要是探讨xLua下Lua调用C#的实现原理. Lua与C#数据通信机制 无论是Lua调用C#,还是C#调用Lua,都需要一个通信机制,来完成数据的传递.而Lua本身就是由C语言编写的,所以它出生自带一个和C/C++的通信机制. Lua和C/C++的数据交互通过栈进行,操作数据时,首先将数据拷贝到"栈"上,然后获取数据,栈中的每个数据通过索引值进行定位,索引值为正时表示相对于栈底的…
行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 SQL Server 2008 R2 2 程序语言 C# .NET 4 3 数据访问 LLBL Gen Pro 3.1 https://www.llblgen.com/ 4 界面 Windows Forms  http://www.infragistics.com/ 5 数据通讯 .NET Rem…
前面一篇文章中介绍了lua给下面代码生成最终的字节码的整个过程,这次我们来看看lua vm执行这些字节码的过程. foo = "bar" local a, b = "a", "b" foo = a 生成的字节码如下所示: 之前lua是在luaY_parser函数(入口)中完成了lua脚本的解析生成字节码的整个过程的,在生成了main func(过程见“lua解析赋值类型代码的过程“)后luaY_parser会返回一个Proto结构体指针tf,Pr…
一.lua函数赋值与函数调用         在lua中函数名也是作为一种变量出现的,即函数和所有其他值一样都是匿名的,当要使用某个函数时,需要将该函数赋值给一个变量,这样在函数块的其他地方就可以通过这个变量来调用这个函数. foo = * end; --标准用法,函数赋值 * x end; --常见用法,等价于上面 如果函数只是作为另外函数的参数或者子函数块时,即不涉及到外部调用时,不需要赋值(命名),可以直接使用 network = { {name = "lilei", ip =…
在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了... 一:Lua脚本 说来也巧,redis的大老板给了你解决这种问题的方法,那就是Lua脚本,而且redis的最新版本也支持Lua Script debug,这应该也是未来Redis的一 个发展趋势,要想学好Redis,必会Lua Script... 有趣的是,官网上还提供了一个视频教程教你如何进…
一.Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个Master组件提供服务,其中正在使用的组件称为Active,另一个作为备份称为Standby,例如HDFS的NameNode.YARN 的ResourceManager.HDFS的web页面只有通过Active的NameNode才能正常访问,同样地,YARN的web页面也只有通过Active的ResouceManager才能正常访问. (1) HDFS HA的Web访问 正常使用Nginx的proxy_pass代理单…
小伙伴们再也不用为打印lua的Table对象而苦恼了, 本人曾也苦恼过,哈哈 不过今天刚完成了这个东西, 以前在网上搜过打印table的脚本,但是都感觉很不理想,于是,自己造轮子了~ 打印的效果,自己感觉还比较慢,不敢私藏,赶紧分享... 如有更好的更改,欢迎讨论,优化!!! 以下脚本保存到文件"dumpTable.lua" 之后要使用 直接加载就行了: --- -- @function: 获取table的字符串格式内容,递归 -- @tab: table -- @ind:不用传此参数…
LLBL Gen Pro是一个为.NET开发人员设计的的对象关系映射(ORM)框架,与NHibernate,Entity Framework等框架一样,通过实体与数据表的映射,实现关系数据库持久化. 1  LLBL Gen Pro 入门  LLBL Gen Pro Basic 打开LLBL Gen Pro程序,在右边的数据库浏览器(Catelog Explorer)中根结点右键选择从关系数据库创建关系模型( Add Relational Model Data from a Database),然…
Solutions Design 公司于2016年5月发布了LLBL Gen Pro 5.0,这个新版本的发布出乎于我的意料.我的猜想是从4.2升级到4.5,再升级5.x版本,主版本号的变更会给原有客户带来成本上的压力.299欧元的售价对于中小创业公司或大公司并不算便宜,在官网上查了一下最新的报价,如下表所示: Number of licenses Price per license Standard Price per license Plus 1 to 2 € 299.- € 398.- 3…
我们来看看lua vm在解析下面源码并生成bytecode时的整个过程: foo = "bar" local a, b = "a", "b" foo = a 首先我们先使用ChunkySpy这个工具来看看vm最终会具体生成什么样的vm instructions 在这里,开头为[数字]的行是vm真正生成的字节码,我们看到一共生成了六行字节码.首先loadk将常量表中下标为1的常量即"bar"赋给寄存器0:然后setglobal将…