`
cwqcwk1
  • 浏览: 86764 次
文章分类
社区版块
存档分类
最新评论
文章列表
Sublime Text 是一个很优秀的代码编辑器,支持多达70种开发语言。不管是主流的开发语言如C, C++, Java等,还是稍冷门的Erlang, Go, Lisp等,都支持语法高亮,还可以手动扩充。优点是轻巧,体积小,运行速度快。不足是缺乏项目编译和 ...
在Linux命令行下,输入字符后,按两次Tab键,shell就会列出以这些字符打头的所有可用命令。如果只有一个命令匹配到,按一次Tab键就自动将这个命令补全。比如,想更改密码,但只记得这个命令前几个字母是pass。这时候,按Tab ...
短地址(Short URL),或叫短网址、短链接等等,就是比较短的URL地址。借助短地址,可以将原来冗长的网址替换成简短的网址,让使用者可以更容易分享链接。在Web 2.0的今天,不得不说,这是一个潮流(我喜欢这句话,就原封不 ...
最近在windows下搞lua测试,发现lua自带的库有点少,缺少md5等等很常用的库。网上确实有这些第三方库,但这个md5库找不到windows的版本,就想着自己手动编译。不料,这个md5库需要lua5.3的静态链接库。最后,就参考国外一篇文章,尝试windows下编译lua源代码。 lua源代码编译 1、确保安装了 Visual Studio编译器,这里以 VS 2010为例。 2、下载lua 源代码,解压出来,如放在 c:/lua_build http://www.lua.org/ftp/lua-5.3.2.tar.gz 3、运行 VS命令行模式,可以在windows开始菜单找到这个 ...
前些天,抽空研究了系统封装工具的打包安装机制,也借这个机会把Windows系统启动过程给看了。现在简单做个分享,谈谈对win7启动过程的理解,然后再分析下进程自启动原理,说明系统封装工具是怎么引导的。 如果想了解windows原理,Windows Internals 可能是最好的读物了。这本书在注1提到,有链接可以下载阅读。 好了,回到今天的主题:Win7系统启动过程及进程自启原理。这里,先贴上win7 启动过程的示意图,后面再讲解每个步骤的过程。 windows 7 的启动流程图: windows 7 启动的详细过程: 1、电脑加电后,先启动BIOS进行自检,然后加载硬盘的主引导 ...
现在网上,windows一键安装系统一搜就是一大堆,但几乎所有的系统都会绑定IE主页和预装软件,就算打着纯净版的旗号。而手动安装系统又是非常繁琐,一步一步确定,最后还要自己下载装驱动,更新系统补丁,非常麻烦。正因为如此,我们才想打造自己的windows一键安装系统镜像,以后安装就非常方便了,还可以定制自己的默认程序。 打造个性化的windows一键安装系统镜像,有两种方法,分两篇讲: 1、修改别人的windows系统镜像(别人的就是我的) 2、全新打造自己的windows系统镜像(我的还是我的) 这是第一篇,文章以某款“ Win7 32位 旗舰Ghost纯净版”为例,介绍如何修改别人的 ...
最近项目用上了svn分支管理,因为项目太过庞杂,版本迭代也过于频繁,致使多个版本的代码交杂在一起,难以维护,无法保证其中某个版本的稳定性。当然,我们也用过很土的办法,代码复制一份出来,但是,这个副本也需要加上新开发的功能。 所以,我们决定使用svn分支管理。当然,这有代价,svn版本管理对二进制文件不友好,可能文件分支合并时二进制文件会难以处理。(这里说的二进制文件,泛指所有非文本文件,比如说美术资源,策划文档) svn分支简述 使用分支最主要的目的是,多个分支可以并行,相互不干扰,而且任何时候都可以合并。其次,容易保证主干的稳定性。 没有分支的时候,你的svn可能是这样的: 就一份代码存 ...
lua5.3虽然支持utf-8,但是自带的string库不支持汉字的处理,而且lua的正则实现也比较鸡肋,很难匹配中文。所以文章讨论UTF-8字符集,中文汉字的表示方法,然后说明lua如何匹配UTF-8中文汉字。 初识UTF-8 UTF-8是Unicode的一种实现,是一种变长字节编码方式。对于某一个字符的UTF-8编码,如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头。UTF-8最多可用到6个字节。 如表: 因此,UTF-8可以用来表示字符编码最多的有效位数是31位,即x代表的位。除掉那 ...
前面的文章记录了lua的编译和使用,这里再整理一下,侧重说明下lua json库的编译及使用,文章最后再谈下cjson使用中有可能遇到的excessively sparse array 问题及解决方法。 lua编译 lua的源代码安装过程挺简单的,以lua5.3为例 # wget http://www.lua.org/ftp/lua-5.3.2.tar.gz # tar -zxf lua-5.3.2.tar.gz # cd lua-5.3.2 # make linux # make install 注意了,lua没有 ./configure 这个命令,需要编辑配置可修改 Makefile,例 ...
早早就想写这篇文章,但这段时间忙于工作的事情,就不自觉地给了自己各种懒惰的理由。现在回头看下这个问题,总结下erlang 游戏开发经验。就当是,为我过去一段时间的erlang开发经历,画上一个小句号。 在写这篇文章前,我看过孔庆泉同学写过的Erlang 性能优化总结[2],字里行间有一点自己的体会,使得我心血来潮,好像重新做回了erlang开发的感觉。所以,现在回过头,整理下游戏开发对erlang的使用。 1. 架构设计 很多人都说Erlang天生分布式,归结原因是erlang分布式这块实现比较完善。节点间的通信是透明的,无论是节点内的进程,还是不同节点的进程,都可以使用 erlang:sen ...
许久没做erlang开发了,最近有网友问到erlang的问题,就抽时间看下。问题是这样的,模块有中文,将中文直接打印出来,shell下显示会出现乱码,但如果先将中文转成binary,就可以正常显示出来。 shell中文乱码问题 这里以一个简单的例子,说明下: -module(m). -compile(export_all). test() -> io:format("~ts~n", ["中国"]), io:format("~ts~n", [list_to_binary("中国")]).以R17 ...
linux提供了一个daemon函数,使得进程可以脱离控制台运行,实现了后台运行的效果。但是进程后台运行后,原本在终端控制台输出的数据就看不到了。那么,怎样才能找回这些数据? 这里,文章主题就围绕着 如何获得后台进程的控制台数据,其中的原理要从daemon说起。 daemon主要做两件事: 1、创建子进程,退出当前进程,并且以子进程创建新会话。这样,就算父进程退出,子进程也不会被关闭 2、将标准输入,标准输出,标准错误都重定向/dev/null daemon 实现大致如下: int daemonize(int nochdir, int noclose) { int fd; s ...
skynet 自带了一个控制台服务,可以很方便获取和调试 skynet 运行数据,而且可以热更新代码,所以,弄明白skynet控制台管理可以让你更好地使用skynet,甚至改进这个控制台服务,以满足不同业务需求。 这个服务默认不会启动,需要你手动启动它,如下: skynet.newservice("debug_console", 8000) 设计原因,调试控制台只监听本地地址 127.0.0.1 ,如果需要远程使用,需要先登录到本机,然后再连接。 使用时,通过 telnet 或 nc 登录调试控制台,启动后显示: $ nc 127.0.0.1 8000 Welcome ...
今天在VM10下装 centos 7,遇到的问题不少,其中一个是yum更新失败问题。这个问题是我本地网络受限导致的,无法连接 centos 的镜像地址。 显示错误如下: Loaded plugins: fastestmirror, langpacksCould not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates&infra=stock error was14: curl#7 - "Failed to connect to 2a02:249 ...
skynet是为多人在线游戏打造的轻量级服务端框架,使用c+lua实现。使用这套框架的一个好处就是,基本只需要lua,很少用到c做开发,一定程度上提高了开发效率。但skynet文档也相对较少,所以这里利用一点时间学习和总结skynet相关内容,文章这里就讲解下skynet服务的本质与缺陷,希望能有所帮助。 skynet服务的本质 或许我们对skynet服务有着太多的疑问: skynet服务究竟是什么,为什么有人说服务是一个lua虚拟机,服务与服务之间的通讯是怎样的,为什么服务的内存高居不下, 为什么拿skynet服务和erlang进程做比较?等等。。。而这一切的答案都在代码里面,让我们一步一步解 ...
Global site tag (gtag.js) - Google Analytics