近期2天都没有写新的文章了.主要是近期的内容没有特别有意思的. 之前的协同程序也临时没有感觉到特别适用的地方.今天在看数据结构的部分,也是没多大意思(不代表没用). 但是突然发现了一个有意思的地方,那就是--连接大量字符串的时候.怎样解决效率问题. 笨木头花心贡献.哈?花心?不.是用心~ 转载请注明,原文地址: http://www.benmutou.com/archives/1744 文章来源:笨木头与游戏开发 1.预备知识.在Lua中获取系统时间 为了直观地看到效率的区别,我们要计算一下代码…
昨天遇到另外一位独立游戏开发人员,所以多聊了一会,然后-然后就没有看书了.(小若:借口!借口! ) 今天来聊聊错误处理吧.只是毕竟这仅仅是前面的章节.书上的内容似乎有点一笔带过的味道. 没关系,简单更好~ 笨木头花心贡献,哈?花心?不,是用心~ 转载请注明,原文地址: http://www.benmutou.com/archives/1728 文章来源:笨木头与游戏开发 1.红色警报--error 我们应该能常常看到相似下面的错误信息: [LUA-print] LUA ERROR: [strin…
今天学习的内容还蛮有意思的,让我兴奋了一下~ 笨木头花心贡献,哈?花心?不,是用心~ 转载请注明,原文地址: http://www.benmutou.com/archives/1714 文章来源:笨木头与游戏开发 1.迭代器 什么是迭代器?别傻了,我最讨厌的就是名词解释了,反正就是用来遍历集合的一种方式. 比方,我们最经常使用的pairs,例如以下代码: local t = {"fdsd", "445"}; for k, v in pairs(t) do print…
要 1.基本数据类型 2.Lua中的常用语句结构以及函数 3.Lua中的常用语句结构介绍 4.Lua中的库函数 目录[-] 一.基本数据类型 二.Lua中的常用语句结构以及函数 1.Lua中的常用语句结构介绍 三.Lua中的库函数 Lua的语法基础超级简单,非常易于上手,下面总结一些学习过程中的Lua语法基础: 在开始学习之前,先介绍一些最基本的概念,在Lua中具有一个代码块的概念,每个函数或者for循环等都是一个代码块.在Lua中,用 “- - ”来标记该行的注释,使用“- - [ [” 和…
[1]table concat 简介 使用方式: table.concat(table, sep, start, end) 作用简介: concat是concatenate(连锁.连接)的缩写. table.concat()函数列出指定table的数组部分从start位置到end位置的所有元素,元素间以指定的分隔符(sep)隔开. 除了table外,其余参数都不是必需的: sep分隔符的默认值是空字符, start的默认值是1,end的默认值是数组部分的总长. 虽然sep, start, end…
没想到距离上一篇基础补充已经过了1年多了,近期准备捡回Lua,把基础都补补,今天来聊聊Lua的函数吧~ 0.环境 我突然对Lua又大感兴趣的最主要原因是,Cocos Code IDE開始浮出水面了,它是Cocos2d-x官方出的一款专门针对Cocos2d-x+Lua或JS的IDE.试着用了,尽管不能说非常完美.但,非常值得期待. 所以,本文使用的Lua编辑器就选它了,大家就任意吧~ 笨木头花心贡献,哈?花心?不.是用心~ 转载请注明,原文地址:http://www.benmutou.com/ar…
关于迭代器的内容, 另一点点,只是已经无关紧要了.应该算是一种扩展吧.就一起来开开眼界好了~ 笨木头花心贡献.哈?花心?不.是用心~ 转载请注明,原文地址: http://www.benmutou.com/archives/1721 文章来源:笨木头与游戏开发 1.避免创建闭合函数 我们之前一直在说的迭代器.都是要创建闭合函数.但,大家有没有想过,有了恒定状态和控制变量之后.是不是就不须要闭合函数了? 先来回想一下之前的迭代器函数: function dieDaiQi(t) local i =…
哎.周五晚上我都还这么努力看书.真是好孩子.(小若:不想吐槽了) 事实上我都准备rs=1&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F1733&p=baidu&c=news&n=10&t=tpclicked3_hc&q=25013069_cpr&k=%CD%E6%D3%CE%CF%B7&k0=%B4%F2%D3%A1&kdi0=1&k1=%D7%C0%D7%D3&k…
这次要介绍几个事实上非常easy,可是一定要小心的返回值规则. 笨木头花心贡献,哈?花心?不,是用心~ 转载请注明.原文地址: http://www.benmutou.com/archives/1736 文章来源:笨木头与游戏开发 1.resume的參数 resume函数除了第一个參数是协同程序外,还能继续传其它參数,例如以下代码: local co = coroutine.create(function(name) print(name); end); coroutine.resume(co,…
解释器 Lua:Lua是一个简洁.轻量.可扩展的脚本语言 Nginx+Lua优势充分的结合Nginx的并发处理epoll优势的Lua的轻量实现简单的功能切高并发的场景 安装Lua 1.安装解释器:yum install lua 2.运行 第一种运行方式: 第二种运行方式: Lua的基础语法 1.注释:--行注释--[[ 块注释 --]] 2.变量a = 'alo\n123"'a = "alo\n123""a = '\97lo\10\04923"'a = […
1.WXML WXML是框架设计的一套标签语言,结合基础组件,事件系统,可以构建出页面的结构. 用以下的例子来看看WXML有什么能力: 1.1数据绑定 <view>{{age}}</view> data: { motto: 'Hello, gaoxiong', userInfo: {}, school:{ name: "zzu" }, name:app.name, age: ++app.count }, 1.2列表渲染 <view wx:for="…
参考:Lua中的协同程序 coroutine   http.lua 协同程序(Coroutine): 三个状态:suspended(挂起,协同刚创建完成时或者yield之后).running(运行).dead(函数走完后的状态,这时候不能再重新resume). coroutine.create(arg):根据一个函数创建一个协同程序,参数为一个函数 coroutine.resume(co):使协同从挂起变为运行(1)激活coroutine,也就是让协程函数开始运行;(2)唤醒yield,使挂起的…
Lua垃圾收集策略 Lua自动进行内存的管理.程序只能创建对象,而没有执行删除对象的函数.通过使用垃圾收集技术,Lua会自动删除那些失效的对象,也就是引用为0 的对象.但是呢?有些对象,引用没有指向它,就没办法引用到他,就相当于没法回收的垃圾内存. 一个典型的例子就是堆栈:有一个数组和指向栈顶的索引构成.认为数组中有效的只是在顶端的那一部分,但Lua不那么认为.如果你通过简单的出栈操作提取一个数组元素,那么数组对象的其他部分对Lua来说仍然是有效的.同样的,任何在全局变量中声明的对象,都不是Lu…
1.同时输出文字与图片 在前几个小课程中,我会学会了 从服务器中读取文字字符,并且向浏览器中输出 从服务器中读取图片文件,并且向浏览器中输出 这节课中,我学会了同时向浏览器输出文字,图片.对此,我感到欣喜若狂.你无法想象对我来讲,在没有任何node的环境下,摸索这些有多么困难,因为我身处一个小公司,实在不能再小了,只有我一个前端.不多说废话了,反正今天时非常值得纪念的一天. 代码如下: //server.js var http = require('http'); var url = requi…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form method="POST" action="08-formData.php"> <p>姓名:&…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们熟悉了对象和类的基本概念.我们将进一步拓展,以便能实际运用对象和类. 调用类的其它信息 上一讲中提到,在定义方法时,必须有self这一参数.这个参数表示某个对象.对象拥有类的所有性质,那么我们可以通过self,调用类属性. class Human(object): laugh = 'hahahaha' def show_laugh(self): print self.laug…
指向结构体变量的指针叫做结构体指针: typedef struct { int num; char name[30];    // char *name; 程序会崩溃,*name本身是指针,没有什么空间的概念,只是指向另一个空间,并且另一空间的值是常量,不能被修改. float score; char gender; } Student; Student stu ={21,"luoshuai",76.5,'m'}; Student *s1= &stu; // 注意这里需要使用到…
链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2988622.html 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们一直是为了产生对象而定义类(class)的.对象是具有功能的实体,而类是对象的类型分类.这是面向对象的一个基本概念. 在继承(inheritance)中,我们将类当做可以拓展的主体,这提高了我们对“类”的认识. 类本身还有许多值得讨论的地方.我们…
/** * 求数组中的最大值 */ @Test public void test14(){ //定义一个数组 参赛的选手 int [] nums={50,20,30,80,100,90}; //定义一个擂主 int max=0; //循环打擂 for (int i = 0; i < nums.length; i++) { //如果发现 数组中的元素 大于 max 就让当前的元素的值给max if (nums[i]>max) { max=nums[i]; System.out.println(&…
--创建 profile 概要文件create profile profile123 limit failed_login_attempts 2;  --修改用户的 profile 文件alter user scott profile profile123; 确保将初始化参数 resource_limit 设置为true,以实施概要文件中的资源限制.否则,Oracle将忽略 create 或 alter profile 语句中的限制设置.与密码有关的概要文件属性不依赖 resource_limi…
我们一直是为了产生对象而定义类(class)的.对象是具有功能的实体,而类是对象的类型分类.这是面向对象的一个基本概念.   static数据成员 有一些数据用于表述类的状态.比如Human类,我们可以用“人口”来表示Human类的对象的总数.“人口”直接描述类的状态,而不是某个对象. 类的所有对象共享“人口”数据.这样的数据被称为类数据成员(class field). 在类定义中,我们利用static关键字,来声明类数据成员,比如: class Human{    public Human(i…
#!/usr/bin/env python# -*- coding:utf-8 -*- import time #方式1class People: def __init__(self, name, age): self.__name = name self.__age = age def get_age1(self): return self.__age def set_age2(self, age): if isinstance(age, int): self.__age = age else…
1.用户部分 1.1 创建新用户 涉及命令 useradd [root@oldboyedu-50 ~]# useradd oldboy #添加用户 oldboy 1.2 设置密码 [root@oldboyedu-50 ~]# passwd oldboy 设置/更该密码 Changing password for user oldboy. New password: 密码设置为123456 系统提示太简单 再输一遍即可 BAD PASSWORD: it is too simplistic/syst…
系列目录    [已更新最新开发文章,点击查看详细]  在本教程中,将学习如何创建最基本和最直接的查看器. 除了展示建筑模型外,不做其他任何操作.它将只使用内置导航,但是不会对按钮做出事件响应. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello building!</title> <script src=&quo…
什么是请求勾子? 为了让每个视图函数避免编写重复的功能代码,flask提供了通用设施的功能,就是所谓的勾子 那么请求勾子就是,在浏览器请求服务器资源的前后挂载相关的处理函数 请求勾子有什么作用? 作用:在浏览器请求服务器资源的前后挂载相关的处理函数 比如:1.浏览器请求资源之前,根据需求进行权限校验 2.请求结束之后,处理数据的交互格式...... 如何使用请求勾子? 请求勾子是通过装饰器的形式实现,Flask支持如下四中请求勾子: before_first_request在处理第一个请求前执行…
1.事件驱动 js控制页面的行为是由事件驱动的.          什么是事件?(怎么发生的)     事件就是js侦测到用户的操作或是页面上的一些行为       事件源(发生在谁身上)     引发事件的元素       事件处理程序(发生了什么事)     对事件处理的程序或函数       事件对象(用来记录发生事件时的相关信息)  只有在事件发生的时候,才会产生事件对象,无法手动创建,并且事件对象只能在处理函数内部访问,处理函数允许结束后该对象自动销毁   2. 事件的分类:    …
1.出于安全性 Linux有一个机制 应用层和内核层是无法互相直接读取内存的, 他们要互相读取数据是有一个拷贝过程的, 如: 应用层要读取内核层的数据就调用read(), 内核就会先把数据copy到一个buff并返回给read() 但, 如果这个过程很大很频繁那么同步机制的效率就非常低, 因为不读完主线程就会一直阻塞,会耽误接下来的操作,导致服务器延迟高,效率低 所以出现了异步IO这个概念: 如:应用层要读取一段数据, 那么发起申请后,内核层开始进行拷贝无论是否完成都会立刻返回, 但内核还会继续…
1.XML配置的Bean自动装配 SpringIOC容器可以自动装配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式,而不需要手工去指定要装配的Bean,autowire属性有两个值byName和byType,分别对应按照名称装配和按照类型装配. —byName:根据bean的名字和bean setter风格的属性名进行自动装配,若有匹配的则进行装配,如果没有则不进行装配 —byType:根据bean的类型进行装配,如果有一个以上该类型的bean那么就会报错.…
调用类的其他信息 上一讲中提到,在定义方法时,必须有self这一个参数,这个参数表示某个对象,对象有有类的所有性质, 那么我么可以通过self 调用类属性. class Human(object): laugh = 'hahhahahahha' def show_laugh(self): print self.laugh def laugh_100th(self): for i in range(100): self.show_laugh() li_lei = Human() li_lei.la…
原文地址:http://www.work100.net/training/java-loop.html 更多教程:光束云 - 免费课程 循环结构 序号 文内章节 视频 1 概述 2 while循环 3 do-while循环 4 for循环 5 增强for循环 6 break关键字 7 continue关键字 请参照如上章节导航进行阅读 1.概述 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: while 循环 do-whi…