Lua基本类型及Basic Functions
Lua基本类型及Basic Functions
</div>
<div class="content">
概述
Lua的基本类型
基本类型
e.g.
function testType()
print (string.format("the type of _G = %s ", type(_G)))
print (string.format("the type of _VERSION = %s ", type(_VERSION)))
print (string.format("the type of X = %s ", X))
print (string.format("the type of nil = %s ", type(nil)))
print (string.format("the type of 1 + 1 = %s ", type(1 + 1)))
print (string.format("the type of ...
结合Fluentd实现ngx_lua_waf页面展示
0x00 概述最近在看lua_waf,看看怎么搞个web界面出来,于是有了这篇笔记。
上图是大佬分享的waf日志处理流程,不过我这篇文章讲的就简单多了,如下, 纯属搞着玩儿:
ngx_lua_waf简介
ngx_lua_waf,是一个轻量级、高性能的WAF模块。
防止sql注入,本地包含,部分溢出,fuzzing测试,XSS, SSRF等web攻击
防止svn/备份之类文件泄漏
防止ApacheBench之类压力测试工具的攻击
屏蔽常见的扫描黑客工具,扫描器
屏蔽异常的网络请求
屏蔽图片附件类目录php执行权限
防止webshell上传
详情(安装方法)见:https://github.com/loveshell/ngx_lua_waf
Fluentd简介
Fluentd,是一个开源收集事件和日志系统,它目前提供150+扩展插件让你存储大数据用于日志搜索,数据分析和存储。这里我们用fluentd搜集lua_waf日志。
官网:http://www.fluentd.org/
文档中心:http://docs.fluentd.org/v0.12/articles/quicksta ...
Programming in Lua(Thrid Edition)笔记
5 Functions
当函数参数为literal string或table constructor时,可以不加括号
12345print "Hello world"dofile 'a.lua'print [[a multi-line message]]f{x=10, y=20}type{}
:操作符可用于面向对象编程,o:foo(x)相当于o.foo(o, x),需把o当做第一个额外的参数
传给函数的参数个数与其所需的参数个数可以不同,Lua会按照多重赋值的规则对参数赋值:extra arguments are thrown away, extra parameters get nil.此可用于使用默认参数:
1234function (n) n = n or 1 count = count + nend
函数的多重返回值
12s, e = string.find("hello Lua users", "Lua")print(s, e)
字符串的第一个字符索引为1
函数返回多值只需把这些值以此写在retu ...
Lua的win和linux环境搭建
<a href="/2015/11/03/Linux常用命令笔记整理之tcpdump/" rel="next" title="Linux常用命令笔记整理之tcpdump">
<i class="fa fa-chevron-left"></i>
<p class="post-nav-pre-next-title">
Linux常用命令笔记整理之tcpdump
</p>
</a>
</div>
<span class="post-nav-divider"></span>
<div class="post-nav-prev pos ...
evaluate(input_sentence)
详细的记录 evaluate函数的实现。解决报错
12345678910111213141516171819ValueError Traceback (most recent call last)<ipython-input-44-2ec1176683f0> in <module>----> 1 translate(u'Estoy trabajando.')<ipython-input-43-4364cc5c7981> in translate(input_sentence) 49 50 def translate(input_sentence):---> 51 results, input_sentence, attention_matrix = evaluate(input_sentence) 52 53 print("Input: %s" % (input_sentence))<ip ...
Lua 中的随机数
Lua 随机数算法用的是 libc 中的 rand, 也就是 LCG。然而这个算法的随机性一般。尤其是在一些平台上,当随机种子变化非常小的时候,产生的随机数变化也非常小。这样再经过 Lua 的精度取舍之后,产生的随机序列仍然很相似(伪随机的结果变成可预知性)。
lua-l 上也讨论过这个问题 msg00564,lua 的作者之一 @lhf 给出的解决方案是先弹出前面几个看起来「不怎么随机」的随机数。另外,作者也写过一个基于 MT 算法的 C lib: lrandom, 有兴趣的同学可以去看下。
然而在 lua-wiki 上有一种更为巧妙的实现(这个用例同样是有缺陷的,这里只是为了引出上面的问题。以后我会单独讨论这个问题):
local seed = 123456
for i=1,2 do
math.randomseed(seed + (i-1)/10)
local num = {}
for j=1,10 do
table.insert(num, math.random(100))
end
print(table ...
Lua 学习 chapter3 数值
目录
算术计算
关系运算
数学库
表示范围
运算符的优先级
练习
To be honest, i think what you have compare to others expection has a long way.
算术计算
在lua中,除法运算操作的永远是浮点数而且产生的结果也是浮点数。
在新的版本中针对于整数除法引入了一个floor除法的新运算符‘//’,floor除法会对得到的上进行向下取整,从而保证结果是一个整数。
如果操作数是整形类型结果就是整型类型,如果操作数是浮点类型那么结果就是浮点类型(其值是个整数),类似的取模运算(%)也是一样的。
关系运算
Lua提供了下列的关系运算:
< > <= >= == ~= 这个关系运算的返回值都是Boolean类型的。
数学库
Lua提供了标准的数学库 math,包含三角函数,指数,取整,最大最小,用于生成伪随机的random函数以及pi和huge(最大可表示的值)。
随机数发生器
lua中随机数共有三种调用方式:
不带参:随机返回一个伪随机的[0,1)的数
...
NLP论文学习笔记(一)——Mining opinions from instructor evaluation reviews a deep learning approach
论文时间:2019.5一,论文摘要Mining opinions from instructor evaluation reviews a deep learning approach,即通过深度学习的方法来挖掘评教文本中的情感。Student evaluations of teaching (SET)提供了丰富的教学及老师授课情况信息,可以用来改善授课质量或评估教师水平。文章主要对比了传统的词表示方法+传统机器学习方法,集成学习,以及词嵌入+深度学习这三种方法在评教文本分类这一任务上的性能。
二,实验简介作者采用的传统词表示方法(基于统计)有:TP-based(0/1),TF-based(计数),TF-IDF(过滤常见词语,保留重要词语)以及Ngram模型分别采用了unigram,bigram,trigram,两两组合共九种表示方法。采用的传统机器学习方法有:NB,SVMs,LR,KNN,RF。采用的集成学习方法有:AdaBoost,Bagging以及Random Subspace。采用的词嵌入方法(基于预测)有:word2vec,fastText,GloVe,LDA2vec。采用的 ...
lua 基础知识学习总结
一、lua 基本语法
二、lua 数据类型及操作
lua 学习总结文档
一、lua 基本语法
二、lua 数据类型及操作
lua 是动态类型语言,变量无需声明定义,可以直接进行赋值操作。主要包含如下表格中的数据类型:
nil:表示一个无效值
boolean:包含两个值:false 和 true。
number:表示双精度类型的实浮点数
string:字符串由一对双引号或单引号来表示
function:由 C 或 Lua 编写的函数
userdata:表示任意存储在变量中的 C 数据结构
thread:表示执行的独立线路,用于执行协同程序
table:Lua 中的表其实是一个”关联数组”,数组的索引可以是数字、字符串或表类型。
nil (空)
nil 表示一种无效的值,它只有一个值 nil。
print(type(nil)) -- nil
给全局变量或者表中的变量赋值为 nil,相当于删除该变量。
lua_global_var = nil -- 相当于删除lua_glob ...
Lua 笔记 string_table_function知识点
本文涉及到一些关于string、table和function的细碎知识点,一些常用操作的背后逻辑。本文是用于记录一次技术分享,部分内容与之前的一篇Lua的笔记有重叠。
本文参考和使用的lua源码基于Lua 5.3.5,编写的lua脚本运行于OSX系统,使用的是64位的lua运行库。
评估方法纯lua侧的对于代码执行耗时的评估和执行过程中产生的堆内存的分析。
时间分析对应于cpu负载,借助os.clock()函数,以下是一个示例:
12345local a, ba = os.clock()b = os.clock()print(b-a)
空间分析对应于内存占用,借助collectgarbage()函数,这个函数传入不同的参数可以对lua的gc机制进行不同的操作控制,具体不再展开,这里主要是对堆内存的占用进行评估,用到的是以下的一套组合三连,即先强制一轮完整的gc(collect),然后禁用gc(stop),在执行完一些待测试的代码之后获取对内存占用的千字节数(count):
1234collectgarbage("collect")collectgarbage(" ...