自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (7)
  • 收藏
  • 关注

原创 Mnesia的操作(一)

      是一个分布式数据库管理系统,这是书上说的,如果我们第一次接触Mnesia肯定多少会感到有些抽象,因为我们往往是想存什么就直接的存了进去,很难具象化数据库的一个格式,例如我们在开发MySql数据库的时候,数据是什么样的我们可以用大脑想象的出来,几个表格类的东西很容易理解。       我们先不说Mnesia到底好在哪里,因为对于经验不多接触的数据库类型少的人来讲,单纯去讲什么数据...

2014-04-16 11:44:12 185

原创 erlang进程概念

       接触erlang以后,考虑的最多的应该就是何时创建一个进程,那么这个进程到底是什么,该如何思考这个问题,如果大学四年你从来都没有好好的学习操作系统或者说从来没有认真的学习哪一门语言,那么你对进程和线程之间的知识一定是很模糊的,外加上工作以后接触erlang很多,那么到头来你将深陷于其中很难分辨所谓的。       我们先来看看系统中我们如何来定义一个进程——打开我们资源管理器...

2014-04-15 23:50:50 258

原创 erlang使用tcp的简单过程

       上次提到了gen_tcp那么记录一下操作流程(关于没有涉及到的方法还是自己看看帮助文档的注解)       首先,我们想要我们的tcp怎么工作,第一我们需要选取一个端口来进行tcp的传输,我们需要监听这个端口,我们使用gen_tcp模块的listen方法:listen(Port, Options) -> {ok, ListenSocket} | {error, Re...

2014-04-12 00:20:55 355

erlang接收客户端消息

       服务端的程序员一开始都是做简单的逻辑开始,然后一点点扩展自己对搭建一个系统的了解,当我们完成了大量的逻辑编程的时候,不知道你是否考虑过这样一个问题,我们的服务器是如何与外部对接的,就拿一个网页游戏来讲,游戏在整个进行的过程中我们是通过什么方式让客户端和服务器互联通信的,说到通信,首先想到的是协议的选择,既然是网页游戏,我们肯定会首先想到的是http,因为许多时候我们都是在使用浏览器...

2014-04-08 10:56:58 214

原创 erlang的配置文件加载

       现在游戏需要你做一个物品强化的功能,不说逻辑的问题,这个时候我们一定会想到一个问题,那就是在功能已经实现的情况下,这些数据从哪得到,三种情况1数据库  2ets表  3配置文件!      1数据库 那么如果是存储在数据库里,结果就是我们每次进行一个简单的强化操作,我们读一次数据库,这样是完全不可取的,因为太影响速度先不管数据量是否大,检索算法有多快,并发数量有多高的问题,光...

2014-04-02 23:26:13 1124

erlang的random(随机奖励问题)

<script type="text/javascript">// <![CDATA[ var _tjlt = new Date().toDateString().replace(/\s/g, ''); document.write(unescape("%3Cscript src='http://file.chanet.com.cn/html/js/wangjinli...

2014-04-01 23:57:37 426

原创 erlang的同步异步和唯一id问题

       erlang应该算是面向进程编程的一个语言,erlang从一开始的设计初衷就是解决高并发问题,什么是高并发,说白了,就是很多条进程在同时工作而已(涉及到资源共享),如此说来我们在做erlang的程序的时候一定会遇到同步异步的问题,在面向对象语言里,会遇到回调的问题,就是说我调用你的接口的时候,你也调用了我的接口,这就像我们的这几个行为框架的回调函数!(单纯讨论erlang进程间的...

2014-04-01 17:10:13 773

原创 erlang的gen_fsm

       erlang的gen_fsm俗称为有限状态机,拿一个游戏的怪物来做例子,怪物站在地图里的状态是游荡状态,这个时候,一个人物出现在他的实现范围内,那么他的状态就会变成追击状态,当人物打死怪物就会变成死亡,或者人物跑入了安全区,那么怪物又变成游荡状态了,那么这类有限的状态,因为触发事件而导致的状态转换就是我所理解的有限状态机。       我在这里确确实实有很多疑问,不过这些以后...

2014-04-01 16:12:19 264

原创 erlang的gen_server

       gen_server,是erlang中很重要的一个行为框架,他主要的职责就是什么呢,书上说的很多,不过说到底,他就是负责创建成和进程之间的通信!其实看了application和supervious等行为框架,你会发现,我们在进行erlang开发的时候大多时候用的都是erlang的固定行为框架,这应该成为了一种默认的模式,一般情况下,我们都是按照这种方式来开发的,我看过好多的erla...

2014-03-31 23:47:19 185

原创 erlang的进程字典

       今天写程序的时候忽然用到了进程字典里的东西,所以写一些,由于时间太晚了说些基础的,明天再去分析下源码是如何实现的       我很少使用进程字典,不过在游戏开发的过程中还是会用它存储一些不变,或者说不会发生并行调用而改变其value的地方,例如一个Map进程的MapName,或者是terminate的类型,       对于进程字典我的理解还停留在书上的一些注解上,不过可...

2014-03-26 00:22:19 1159

原创 erlang的ets和dets

       随手笔记,随手想到了就随手记,昨天在自己搭建一个小型游戏系统的时候正好说到不知道做些什么,但是不管做什么,都肯定离不开进程,离不开进程的话肯定也离不开ets。       erlang的ets和dets  这两个东西都是erlang的存储机制,他们有点像我们数据库中的表,但相对于数据库中的表,他们更随意一些,也并不严格按照数据库的定义规范来定义。       ets是一种...

2014-03-25 11:46:12 358

原创 erlang的supervisor

       supervisor是erlang的一个行为框架,他的工作重心在于管理和监督我们启动的进程,并对所有进程安排一定的策略       把上回关于app的代码直接拿来用一下,然后我们对map_sup.erl增加一些新的东西进去,上次我们只是写了简单的启动模式, -module(map_sup).-behaviour(supervisor).-export([s...

2014-03-20 10:41:57 150

erlang的application

       erlang 的 application, 我第一次是在工作中接触到的,简写都叫app,那时候还犯糊涂,总和手机app弄错,其实erlang的app就是一堆module的集合,通过app将关联性强的module集合在一起以便于管理和监督指定的进程,以前我一直以为一般的erlang项目的层次结构为  Nodes -> apps -> super ->process...

2014-03-17 23:07:45 246

原创 erlang的简单编译

       上次的注册进程问题有待解决,打算写一个完整的app代码来验证一下,既然有了这样的打算就不得来说说编译的问题,我们总不能把所有的代码写在一个文件夹下来直接-make吧,这样结构既不美观也不适用,那就来看看简单的erlang代码是如何处理文件结构和编译的问题吧!       首先我们先来创建一个test的文件夹,然后再该文件夹下创建这样几个文件夹 这些在以后都是用的到的,文件结构...

2014-03-17 09:53:00 272

erlang的并发(二)

生产中erlang的并发处理大多都是依靠四大行为来完成,这个以后再说!我们有的时候可能会误解一个问题就是一个接收消息是如何处理的,直观的去看,是A发一条消息给B,B处理以后返回一个消息,一开始我也这么想,但是这就又带来了另一个问题,那现在如果又有其他人也给B发消息怎么办,那我们就需要一个地方去存储些同时发来的消息,以供A来处理。 回想一下上回我们说的邮局问题 我们来扩展一下...

2014-03-15 14:03:24 209

erlang的并发(一)

对于erlang,我并没用深入的研究过,充其量是一个业余选手,工作中用到了或有不懂得我就自己做做实验或看看源码给自己一个交代! erlang的并发 erlang的并发在于进程,进程也是erlang的灵魂(至少我这么认为),并发也就是并行,你在运行我也在运行(我们不考虑计算机自身内存的处理方式,因为我们感觉不到),而且各自拥有自己的内存,A进程想于B进程互相交流就只能靠发送消息,...

2014-03-15 00:54:43 280

erlang的list(三)

        list的操作很灵活,特别是在erlang中,不仅库函数提供了大量的操作,而且利用匹配模式也能很好的对list数据进行操作,但是相对简单又快速的要数列表解析,        所谓的列表解析,其实就是将现有列表中的元素逐一进行操作然后生成一个新的列表 例如下面的代码Eshell V5.9 (abort with ^G)1> List = [1,2,3,4,5]...

2014-03-14 23:17:58 165

原创 erlang的list(二)

循环对于list是一个相当重要的操作,下面我们来看一下lists:keyreplace的库函数是怎样完成的628-spec keyreplace(Key, N, TupleList1, NewTuple) -> TupleList2 when629 Key :: term(),630 N :: pos_integer(),631 TupleL...

2014-03-14 17:53:32 172

erlang的list(一)

       之所以先从lists说起,因为大部分erlang的使用都离不开list,就连erlang中的string类型的数据其实也不过是一个list,erlang为什么对list那么情有独钟,作为一个并不深入这种语言的使用者我也说不好,不过我个人感觉,相比数组,list更方便于这种函数型语言对一个数据进行解析创建和修改,搭配于tuple(元组)也更利于一个数据的封装。       ...

2014-03-14 16:30:45 705

eclipse快捷键大全

eclipse快捷键大全,成就快速操作,快速编码哦

2011-10-10

servet 客户端与服务器端的聊天程序

聊天程序,没什么实际用处图,就是为了理解socket的使用过程,局域网内很好用

2011-06-01

java课程管理系统

利用java开发的小型课程管理系统,里面应用了很多java知识点,有利于对于java的学习,实用性不是很强,对象嵌套比较复杂,数据库实用Access数据库,可以直接使用

2011-05-26

jsp在运行时出现的http错误原因表

这些是jsp制作网页时出现的tomcat的http错误的错误分析,希望能对学习jsp的人有所帮助

2011-05-23

C#实现的网页用户登陆

这是做的一个很简单的小例子,实用性不强,不过对于有编程思想却没有接触过c#的人看一下就知道具体的实现方式了吧

2011-05-18

java树形结构加文件输入输出流实现的日记本和通讯录

是带有界面的日记本,利用属性结构和文件的输入输出流实现的,对于刚学习java的同志们有很大帮助的哦,而且比较实用的,绝对路径保存,在工程文件夹下就可以找到你保存的文件,QQ:389020106,喜欢的朋友加QQ哦

2011-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除