- 博客(31)
- 收藏
- 关注
原创 几个不错的Erlang视频
老外用Mochiweb Erlang做的一个在线便签的例子http://v.youku.com/v_show/id_XMTM0MTk4ODA0.htmlECUG 2010大会http://v.ku6.com/special/index_3859073.html
2010-11-27 10:44:00 2550
原创 win7 cmd 无法输入中文解决办法
<br />突然发现win7的控制台下不能输中文了,而另外一台机器上则可以,对比了一下两台机器的配置,原来是默认输入语言的问题。<br />下面这个配置不能输中文<br /><br /> <br />这个可以<br />
2010-11-26 09:47:00 3407 2
转载 BT雷人的程序语言
<br /><br />转自:http://coolshell.cn/articles/1142.html<br />这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样。编程语言方面,看过本站《6个变态的C语言Hello World程序》的朋友们一定对BT和另类不会陌生,但那都是些小儿科,真正的BT和另类要是从语言级上来完成。让我们来看看其中一个比较另类的语言BrainFuck。看到这个程序语言的名字,请不要以为这是一个搞笑的语言,这是一个“严肃事情”,请大家用“最虔诚的态度”来阅读本文。
2010-11-24 15:47:00 493
转载 “主要的编程范型”及其语言特性关系
<br />转自:http://blog.csdn.net/aimingoo/archive/2009/10/10/4648284.aspx<br />主要的编程范型”(The principal programming paradigms)这幅图,其实出现得不算早,作者在2007年完成了该图的1.0版,到2008年更新至v1.08版本。本次提供的是翻译成中文的版本(老实说,笔者翻译水平相当有限,若有不当之处,请各位尽量指出,必尽快补正)。<br />这幅图的原作者Peter Van Roy,是《Con
2010-11-24 12:44:00 535
转载 从表达式到函数:表面的简洁
<br /> <br />一、把大象装进冰箱===== 在命令式语言(当然我们可以确指为C、Delphi、Java或C#等等)中,初学者的第一个疑难便是这样的代码(*注1): X=X+1 为什么?因为在数学概念中,上述等式是不能成立的。这种表达式是计算机的思维逻辑:当它运算上述表达式(或语句)时,X被作为暂存单元——例如冰箱。为了让冰箱产生变化,比如解决“把大象装进冰箱”这样的问题,我们需要如下三步: 把冰箱门打开,把大象放进去,把冰箱门关上 (图
2010-11-24 11:39:00 558
转载 Haskell与Python中的一些概念,若有所悟
<br />转自:http://blog.csdn.net/tangboyun/archive/2010/04/03/5447688.aspx 首先,必须声明的是,下面所写的内容,只是我个人的一些体验和感悟,受限于个人的水平,肯定会有所纰漏甚至是误导。<br /><br /> 2天前,我在Why learning Haskell/Python makes you a worse programmer链接了一幅Language Fans的搞笑图片,如上。那时,并没有细想,只是觉得单纯的好玩。今天在
2010-11-24 10:08:00 1675
转载 Win7双启动引导修复
问题一:原系统xp,在C盘。ghost安装win7到D盘。显然,D盘的win7没有引导,需要手动修复。修复方法【内为注释】:1. 进入C盘xp,运行cmd进入xp命令行模式。输入 d: cd d:/windows/system32 bcdboot d:/windows /l zh-cn /s c: 运行上述命令后,在C盘根目录生成了/boot文件夹和bootmgr文件。 【D盘下已经具备了一个完整的win7,唯一欠缺的是系统盘内的引导
2010-11-22 19:50:00 832
原创 安全测试工具
<br /> <br />1.IE扩展<br />TamperIE<br />IEWatch<br />2.Firefox扩展<br />LiveHTTP Headers<br />Tamper Data<br />Modify Headers<br />3.HTTP/S代理工具<br />Paros 代理<br />OWASP WebScarab<br />Fiddler<br />Burp Intruder<br />Watchfire PowerTools<br />4.命令行工具<br />Curl
2010-11-22 19:47:00 533
原创 How to Change Domain Name? ejabberd
<br /> <br />Error<br />Changing the domain name in the configuration file and in ejabberd's startup command do not work.<br />Explanation<br />Because ejabberd uses Mnesia as its internal database, and because this system stores the Erlang node name into
2010-11-22 19:42:00 992
原创 erlang负载均衡
<br /> <br />The BIF statistics(run_queue) is used for estimating future loads. It returns the length of the queue of ready to run processes in the Erlang runtime system.<br /> <br />1.先在$HOME目录建立.hosts.erlang文件,内容如下ST36:~ # cat .hosts.erlang 'ST36'.
2010-11-22 19:37:00 1052
原创 目录结构
<br /> <br />project/<br />Emakefile<br />src/<br />ebin/<br />include/<br />Emakefile的内容为:<br />{‘src/*’,[debug_info,{i,"include"},{outdir,"ebin"}]}.<br />就这一句就行了,然后在 erlang 的命令行中用 make:all()或者用erl -make. 就万事大吉。<br />注意:如果修改了Emakefile文件,再次编译时并不会将上次编译的beam
2010-11-22 19:30:00 367
原创 Eunit学习笔记
<br /> <br />首先将eunit.hrl包含进文件<br />-include_lib("eunit/include/eunit.hrl").<br />文件中以_test()结尾的函数为实际的测试函数(eunit会依次执行这些函数),以_test_()结尾的函数为测试生成函数,用来生成实际的测试函数,通常测试生成函数会返回一个描述测试函数的列表。<br /> <br />禁用eunit:<br />Erlc -DNOTEST my_module.erl<br />-define(NOTEST,t
2010-11-22 19:25:00 566
原创 wxErlang
<br />This should display an empty frame:1> wx:new().{wx_ref,0,wx,[]}2> Frame = wxFrame:new(wx:null(), 0, "myFrame").{wx_ref,36,wxFrame,[]}3> wxFrame:show(Frame).true<br /> <br />wxErlang不能用distel调试
2010-11-22 19:19:00 685
转载 配置文件.profile,.login,.bash_profile和.bashrc的区别
<br />1./etc/profile和用户主目录下的配置文件<br />用户登陆到shell时,shell会执行一系列初始化动作,其中就包括读取配置文件,然后根据配置文件设置环境信息。这样用户就可以很方便地在环境中加入自定义信息,如设置环境变量。事实上,登陆shell会读两配置个文件,/etc/profile文件和用户主目录下的配置文件,这两个文件的区别是:<br />/etc/profile文件:为系统的每个用户设置环境信息,对所有用户的登陆shell都有效;<br />用户主目录下的配置文件:为当前
2010-11-22 19:18:00 505
转载 配置开发支持高并发TCP连接的Linux应用程序全攻略
<br /> <br />1、修改用户进程可打开文件数限制<br /> <br />在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:<br />[speng@as4 ~]$ ulimit -n<br />1024<br />这表示当前用户的每个
2010-11-22 19:09:00 387
原创 远程结点启动与执行
master结点启动命令:高亮部份只支持IP,参数 -kernel start_boot_server true boot_server_slaves '[{10,0,0,253},{10,0,0,252}]' 是让主节点成为引导服务器,从节点的beam程序都将从主节点传送。 参数-rsh ssh是为了让主节点远程启动从节点(slave)必须的 erl -kernel start_boot_server true boot_server_slaves '[{172,16,209,99},{172,16,2
2010-11-22 18:54:00 443
原创 Socket错误
<br /> <br /> 4 start() -> 5 {ok,Listen} = gen_tcp:listen(40000,[binary]), 6 io:format("Lisen socket is:~p~n",[Listen]), 7 Pid = spawn(fun() -> par_connect(Listen) end). <br />为什么在命令行运行就出错?<br /># erl -noshel
2010-11-22 18:37:00 544
原创 {reuseaddr, true}选项的使用
<br /> <br />Most common use of {reuseaddr, true} option is to handle reacquisition <br />of a socket by a server in the following scenario: <br /> <br />1. A listening server is started. <br />2. It receives a connection request, and spawns a child proces
2010-11-22 18:31:00 930
原创 Eaddrinuse 错误
<br /> <br />在Tsung进行并发测试的时候,Tsung的报告中可能出现error_connect_eaddrinuse错误,用netstat -antp 可以看到大量处于TIME_WAIT状态的链接,处于TIME_WAIT状态的链接需要等待2MSL才能关闭,很快系统就没有Socket可用了。可以通过修改内核参数来解决。<br />vi /etc/sysctl.conf<br />编辑文件,加入以下内容:<br />net.ipv4.tcp_syncookies = 1<br />net.ipv
2010-11-22 13:09:00 4381
原创 Tsung压力源集群
<br /> 5 <!-- Client side setup --> 6 <clients> 7 <client host="ST99" maxusers="80000" cpu="2" ></client> 8 <client host="ST97" maxusers="80000" cpu="2" ></client> 9 <client host="ST96" maxusers="80000" c
2010-11-22 13:06:00 1115
原创 从SERVER返回数据中提取数据
<br /> <br />例如SERVER返回如下内容:<br /> 1 <html> 2 <head> 3 <title>Welcome to nginx!</title> 4 </head> 5 <body bgcolor="white" text="black"> 6 <center><h1>Welcome!</h1></center> 7 </body> 8 </h
2010-11-22 12:57:00 360
原创 每个CPU跑一个VM
<br /> <br /> <br />修改hosts文件,增加<br />本机IP 机器名<br /> <br /> <br /> <br /> <br />这样就可以在一台多核机器上跑多个Erlang虚拟机,每个CPU一个虚拟机。<br /> <br /> <br /> <br /> <br />
2010-11-22 12:49:00 431
原创 Tsung安装指南
<br /><br />1. 所需要软件包<br />unixODBC-2.2.14.tar.gz<br />otp_src_R13B02-1.tar.gz<br />tsung-1.3.1.tar.gz<br />Template-Toolkit-2.22.tar.gz<br />2. 安装UnixODBC<br />#tar zxvfunixODBC-2.2.14.tar.gz<br />#cd unixODBC-2.2.14<br />#./configure–prefix=/usr/loca
2010-11-22 12:37:00 486
原创 启动哪种shell
<br /><br />How does Emacs know which shell to start? First, it looks at the variableshell-file-name. Then it looks for a Unix environment variable named ESHELL. Finally it looks for an environment variable named SHELL. If you want to run another particula
2010-11-21 22:34:00 513
原创 Emacs颜色
<br />安装color-theme<br /><br />好用的主题:<br />Comidia<br />Late Night<br />Midnight<br />Arjen
2010-11-21 22:30:00 474
原创 Distel 读Erlang源码
<br />首先编译一下源码<br />然后用emacs打开一个源码文件,C-c C-z 打开一个erlang node<br />在打开的node中用code:add_pathz(源码ebin)将源码的ebin目录加入erlang的beam path中。然后就可以使用 M. 和M,跳转了。
2010-11-21 22:28:00 533
原创 windows下配置emacs
<br />emacs 23.2.1<br />ecb-2.40.zip<br />cedet-1.0pre7.tar.gz<br /><br />将上面两个压缩包解压到emacs的site-lisp目录<br />在.emacs中加入<br /><br />(require 'cedet)<br />(require 'ecb)<br /><br />好用编程字体 monaco<br /><br />ecb 默认是用鼠标中键展开节点。<br />可以改成左键单击:<br /
2010-11-21 22:22:00 861
原创 Emacs小记
<br />1.显示行号<br /> 输入(global-linum-mode t)<br />然后再在这行上C-x C-e<br /><br />2.转到指定行<br />M-g g<br />3.在控制台下 F10 或Esc-`可以调出主菜单<br />C-x k 关闭buffer<br /><br />4.建立tags文件<br />find ./ -regextype posix-egrep -regex '.*.(cpp|h)' -print |xargs eta
2010-11-21 22:19:00 391
原创 Vim搜索日记
<br />:%s//<Edward/>/[&]/g<br />将全文的Edward单词前后加上中括号,&代表匹配到的内容,/<匹配单词开头,/>匹配单词结尾<br />:g/^/s*$/d 删除空行
2010-11-21 22:14:00 366
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人