- 博客(56)
- 问答 (1)
- 收藏
- 关注
erlang-Astart算法
[code="java"]%%%-------------------------------------------------------------------%%% Module : astar_trace%%% Author : %%% Description : A星寻路算法%%%-----------------------------------------...
2018-07-02 08:34:08
394
原创 基础知识收录(六)字长
1bytes = 8bit 即 1字节=8位32位机器,1字用32位表示,那么1字长=32/8=4字节64位机器,1字用64位表示,那么1字长=64/8=8字节
2017-10-21 15:09:43
192
erlang--常用内建函数收录
1:gen_event:which_handlers(EventRef). 返回EventRef类型的event handlers 例如: error_logger:add_report_handler(my_loger), gen_event:which_handlers(error_loger)
2016-07-15 15:43:38
216
erlang异常--try...catch
[color=blue]触发异常[/color][code="java"]throw(Term)exit(Reason)erlang:error(Reason)特列:exit(normal),进程调用它所跑出的异常不会被捕获,该进程正常终止[/code][color=blue]try...catch[/color][code="java"]try ...
2016-07-13 19:48:41
1142
erlang-退出信号捕捉trap_exit
[color=blue]进程链接的工作[/color]: A进程意外退出时,会产生一个退出信号。所有与A进程[color=red]链接的进程(link)[/color]都会收到这个信号。[color=red]在默认情况下[/color],接收方会一并退出并将信号传播给与它链接的其他进程,直到所有直接或间接链接在一起的所有进程统统退出为止。 [color=blue]OPT实现容错实现...
2016-07-12 09:54:57
393
1
排序算法(六)---快速排序(交换排序)
直接排序属于交换排序基本思想:1:选1个基准元素(通常是第一个元素或最后一个元素),将待排数列分成两部分,一部分比基准元素小,一部分比基准元素大2:再对这两部分数列重复步骤1时间复杂度:最好情况:O(n*logn)最坏情况,退化为冒泡排序 O(n*n)稳定性:不稳定python代码实现:quick_sort.py[code="java"]de...
2016-06-01 11:25:02
134
排序算法(五)---冒泡排序(交换排序)
冒泡排序属于交换排序基本思想: 在待排序数列中,自上而下对相邻的两个元素进行比较和调整,小的上冒,大的下沉时间复杂度: 最好情况:正序有序,只需比较n次,O(n) 最坏情况:反序有序,需要比较(n-1)+(n-2)+...1次,故O(n*n)稳定性:稳定代码示例:bubble_sort.py[code="java"]def bubble_s...
2016-05-31 17:05:53
228
原创 排序算法(四)---堆排序(选择排序)
堆排序:heap sort属于选择排序堆的定义:有n个元素的序列(k1,k2...kn)满足:1:Ki =< K2i 且 Ki =< K2i+1 (小顶堆) 或2:Ki >= K2i 且 Ki >= K2i+1 (大顶堆)i = (1,2,...n/2)基本思想:把要排序的n个数的序列组建成一个堆,将堆顶元素输出(这时,堆顶元素也即是根元素是最大...
2016-05-31 16:40:44
143
排序算法(三)---直接选择排序
选择排序基本思想: 从待排数列中,选取一个最小(或最大)的数,和[color=green]第1位置[/color]的数交换,再从余下待排序数列中,选取最小(或最大)的一个数,和[color=green]第2个位置[/color]的数交换,直到第n-1(倒数第二个)个元素和第n(末尾)个元素比较操作方法:[code="java"]9 5 6 2 1 ...
2016-05-27 16:34:42
142
排序算法(二)--希尔排序(插入排序)
希尔排序属于插入排序的一种,也称为缩小增量排序[color=blue]基本思想:[/color] 将待排序数列划分为几个数列,对这几个数列分别进行直接插入排序[color=blue]具体操作:[/color] 选取增量d(小于数列长度n),将数列划分为n/d个数列,对划分的数列进行直接插入排序 再选取一个增量d1,d1= 1): for i ...
2016-05-27 10:37:39
125
原创 排序算法(一)---快速插入排序
因为对算法这一项实在是弱爆了,对自己从零开始学习,慢慢记录过程,加油哦再因为最近在学习python和lua,就分别用两种语言都实现了快速插入排序[color=blue]基本思想[/color]:(假设是:从小到大,升序)每次选择一个元素K插入已排好序的L[1...i]部分,如果L[x]>K,则K插入到L[x]前面,要对L[x]后面的元素进行后移[color=bl...
2016-05-26 17:13:26
293
基础知识收录(五)编码
一个字节(byte)=8位二进制数(bit):1(byte) = 8(bit)1 ASCII码(American Standard Code for Information Interchange,美国标准信息交换代码),占用一个字节2 unicode编码,ASCII码对于美国,欧洲这些国家字符够用,但是处理中文字符至少要2个字节,ASCII码明显不够用,所以中国定制了GB2312...
2016-05-11 11:33:13
123
Lua学习(六)元表和元方法
可以通过一个元表修改一个值的行为,使其在面对一个非预定义操作时执行一个指定操作元表:metatable元方法:metemethod[code="java"]__add --加法__mul --乘法__sub --减法__div --除法__unm --相反数__mod -...
2016-04-29 16:52:46
133
Lua学习(五)函数进阶篇
第一类值:在lua中,函数与其它数据类型(数字,字符串)一样,可以存放在变量中,可以存放在table中,可以作为实参,还可以作为函数返回值词法域:嵌套的函数可以访问他外部函数的变量非局部变量:[code="java"]names = {"kate", "john"}grades = {kate = 6, john = 9}function sortbygrade(n...
2016-04-27 17:32:18
168
Lua学习(四)函数
[color=blue]函数的作用: 1、完成某项特定任务 2、计算并返回结果[/color][color=blue]语法:[/color][code="java"]function func_name(args) statementsend[/code][color=blue]1、多重返回值[/color][color=red] A、若...
2016-04-27 15:23:28
127
原创 Lua学习(三)语句
[color=blue]1、赋值语句[/color][code="java"]a = 1a,b = 10, 2*x (多重赋值)x,y,z=1,2 (x=1,y=2,z=nil)x,y = y,x (交换x,y值)[/code][color=blue]2、局部变量和块(block)[/color]局部变量:用 local 定义,作用域仅限于声...
2016-04-27 10:28:14
151
原创 Lua学习(二)表达式
1、算数操作符:+ - * / ^ % [code="java"]^ 指数运算x^2 --->x的平方x^0.5 --->x的评分根% 取模(求余)运算,定义如下:a%b = a - math.floor(a/b)*bx%1 -->x的小数部分x-x%1 -->x的整数部分x-x%0.01 -->x精确到小数点后两位[/...
2016-04-26 17:47:22
159
原创 Lua学习(一)类型和值
今天准备开始学习lua,有点小紧张,一步一步记录自己的学习过程,勉励自己,加油。[color=blue]类型和值[/color][color=blue]1、nil (空)[/color] 未被赋值的变量默认值都为nil,将变量赋值nil等同删除变量[color=blue]2、boolean (布尔)[/color] false和nil都为“假” 0...
2016-04-26 15:01:47
133
Erlang--随机数
[color=blue]1、普通随机[/color][code="java"]random:uniform(N)[/code][color=blue]2、以时间为种子[/color](这是比较常见的一种做法)但是会出现一个问题:如果两个函数同一时刻去调用;或者一个函数循环递归调用,产生的随机数就不可靠了。[code="java"]random:seed(erlang:now())...
2016-04-25 10:26:16
505
原创 以http,svn两种方式访问svn库
在[url] http://room-bb.iteye.com/blog/2190213[/url]搭建svn服务器这一文中,是通过svn:// 方式来访问svn仓库的。本文着重介绍通过apache配置,以http方式来访问版本库(这对于svn版本库部署在外网服务器上很有用)[color=blue]1:创建多个svn仓库[/color][code="java"]svnadmin...
2016-04-22 18:25:54
2860
原创 svn 备份
为了预防A机器的硬盘损坏而导致数据丢失,可以机器A的svn库备份到机器B上,下面是详细操作步骤。1、备份方案 a、目标库:svn://192.168.7.223/svn/bak_exam;源库:svn://192.168.7.224/svn/exam_test(注意,如果设置了代理,svn:// 可以替换成https:// ) b、采用svnsync 进行备份...
2016-04-21 16:23:44
111
基础知识收录(四)delete truncate drop
mysq表删除操作:delete truncate drop之间的区别delete: 每次删除一行,并在事务日志为删除的每行记录一项; 删除内容,释放空间,但不删除定义; 速度慢; 被删数据可恢复;truncate 通过释放用于存储表数据的数据页来删除数据,在事务记录页释放操作 删除内容,释放空间,但不删除定义; 速度快 不可恢复...
2016-04-19 18:09:19
277
Erlang监控工具(二)etop
[url]file:///D:/Program%20Files/erl5.10.4/lib/observer-1.3.1.2/doc/html/etop.html[/url] etop只在linux操作系统下可用。它相当于linux下的top工具,用于查看进程占用内存,调用次数等信息 参数: [b]output[/b] (value:text..):输出格式 [...
2016-04-07 17:46:01
1743
Erlang监控工具(一)observer
Erlang系统本身携带一个图形化监控工具,它可以监控:系统信息,应用程序架构,进程信息,ets和mneisa tables,ttb(trace工具) 启动方法: 1:windows系统下:[img]http://dl2.iteye.com/upload/attachment/0116/3555/2cdb0907-2be2-3d65-87f4-ba6771178...
2016-04-05 15:17:21
1029
原创 Erlang--epmd
epmd Erlang Port Mapper Daemon Erlang端口映射守护进程 每当启动一个erlang节点,epmd都会自动启动 她的作用在epmd模块里面有介绍: The job of the epmd daemon is to keep track of which node name listens on which address. Hence, ep...
2016-03-30 14:13:41
392
原创 Erlang--节点
Erlang节点[url]file:///D:/Program%20Files/erl5.10.4/doc/reference_manual/distributed.html[/url]看一看这篇user'guide,erlang的用户说明编排有点乱截图出来再总结一下。[img]http://dl2.iteye.com/upload/attachment/0116/2024/589...
2016-03-30 11:25:08
431
svn指令备忘录
:cry: 只要一段时间没在linux下操作svn,基本的vn指令都会忘记得7788。不要说svn指令,就连linux下某些指令一段时间不用了都会忘记,智商和记忆力都很捉急,只好写个备忘。。备忘。。备忘 首先,关于svn一些知识,可以查看一下网站[url]http://www.subversion.org.cn/svnbook[/url] [color=blue...
2016-03-24 16:31:06
152
基础知识收录(三)MYSQL大小写敏感
今天游戏开发的时候,就判断玩家是否重名,发现了以前一直都没注意到的mysql大小写敏感的问题 例子如下: role_base表 `role_id`int(11), `role_name`varchar(32) 字符集:utf-8 校检规则utf8_general_ci select * from role_base where role_name='BBc' sel...
2016-03-18 11:16:51
137
小技巧收录----唯一ID
在游戏开发中,角色id或者公会id等都需要做唯一设计,是考虑到不同平台,不同服务器,方便以后合服。 通过平台id,服务器id,可以唯一确定一个服务器标识(可以考虑的游戏实际情况,设定服务器id和平台id的大小) 唯一key就是一个累加器,每创建一个玩家+1,这样就可以唯一标识每个玩家id [color=blue]平台ID(PlatId)服务器i...
2016-03-08 14:34:28
166
基础收录(2)--同步和异步
[color=blue][b]1 同步[/b][/color] A发送消息给B,要等B返回结果,A才继续执行,否则一直处于等待状态(或直到超时)举例说明:在erlang中,[code="java"]{ok, Value} = gen_server:call(TargetPid, Request)Fun(Value, Args), %%要等gen_server:call返回才能继续...
2015-07-16 17:50:07
113
基础收录(1)--并发与并行
[color=blue][b]1、并发 [/b][/color] 在单核系统中,为了提高cpu利用率,系统采用时间片轮询等调度方式,对多个线程轮换执行,在宏观上看,线程是同时执行的,从微观上看,某一时刻只执行一个线程:这就是并发。 在发生资源竞争或者大量的上下文切换会导致性能消耗[color=blue][b]2、并行[/b][/color] 在多核时代,线程可以真正的做到...
2015-07-16 11:55:28
93
Erlang--TCP学习(五)总结篇
[color=red][b]一、erlang socket的消息流的三种控制方式:[/b][/color] 1 主动模式 {active, true} 2 被动模式 {active, false} 3 混合模式 {active, once}[color=blue][b]1 主动消息获取(非阻塞)[/b][/color] 在该模式下,无法控制发到服务端的消息流,如果客...
2015-07-15 19:55:17
341
Erlang--TCP学习(四)并行web server篇
[code="java"]-module(tcp_parallel_server).-compile(export_all).-define(TCP_OPT, [binary, {packet, 4}, {reuseaddr, true}, {active, true}]).start_server() -> {ok, ListenSocket} = gen_...
2015-07-14 20:09:48
118
原创 Erlang--TCP学习(三)串行web server篇
简单web sever改进版:串行服务器,一次只接受一个连接代码:tcp_sequence_server.erl[code="java"]-module(tcp_sequence_server).-compile(export_all).-define(TCP_OPT, [binary, {packet, 4}, {reuseaddr, true}, {acti...
2015-07-14 19:35:20
125
原创 Erlang--TCP学习(一)Client篇
gen_tcp:connect(Host,Port,[Options]),gen_tcp:send(Socket, Request)。用这个两个函数从服务器获取数据 代码如下:tcp_client.erl[code="java"]-module(tcp_client).-export([get_url/0]).get_url() -> get_url("...
2015-07-14 16:39:48
301
原创 Erlang--TCP学习(二)简单web_Server篇
现在来写个简单的web服务器,要实现的功能是:只接受一个socket连接请求。服务器代码:tcp_server.erl[code="java"]-module(tcp_server).-compile(export_all).-define(TCP_OPT, [binary, {packet, 4}, {reuseaddr,true}, {active, tru...
2015-07-14 16:39:21
159
原创 erlang sasl错误日志
SASL (System Architecture Support Libraries) 提供错误日志,过载保护等应用本文主要说sasl错误日志配置:elog.config[code="java"][{sasl, [{sasl_error_logger, false}, {errlog_type, error}, {error_log...
2015-04-22 16:03:34
331
原创 erl启动参数
[color=blue]erl启动参数分类[/color] 1 emulator flags 用“+”连接,用于控制模拟器行为的 2 flags 用“-”开头,erlang运行时系统参数,可用init:get_argument/1获得 3 plain flags -extra 后面的都是普通参数[color=blue]常用的Flags[/color][color=bl...
2015-04-20 16:54:54
848
原创 Erlang和SMP
SMP:Symmetrical Multi Processor 对称多处理器[color=blue]原理[/color][color=blue]1:disable SMP[/color][color=red]一个调度器对应一个运行队列[/color]没有SMP支持的erlang VM 只有一个Scheduler运行于主线程,Scheduler从运行队列中取出需要运行的erl...
2015-04-17 15:44:47
383
空空如也
使用nginx服务器, 怎么配置nginx让svn使用http协议
2015-03-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人