近两个月没有更新博客了,为了证明shitou还活着,需要动动了..
其实这半年时间除了在忙工作的事情之外shitou一直在关注web game方面的资料,之前尝试的C2C, SNS,感觉这块在国内独立开发者是很难做起来的,尤其是国内环境的影响....(省略2万字)
好了,下面开始正题,关于Erlang OOP(面向对象)特性
其实Erlang本身就是Function Language, 所谓OOP特性什么的都不是Erlang所强调的重点,Erlang帮主Joe在Erlang程序设计 一书中也一字未提Erlang的OOP内容,最近在用Erlang开发游戏的Socket Server时遇到其中一个模块设计如果用OOP的概念来做的话会更合适,想起了之前在mochiweb的源码中关于http request的解析module就是用的OOP的设计思路,回头再次查看mochiweb的源码,又google一翻,终于得到了解决办法,下面show一个简单的例子:
%oo.erl -module(oo, [QS]). -export([get_qs/0]). new(Qs) -> instance(Qs). get_qs() -> QS. >A = oo:new("hello"). >A:get_qs().
2010-12-23 21:31:37, 784 reviews, comment
send to mailbox
由 John Resig 这个天才发起的 jQuery 项目推出了移动版本,叫做 jQueryMobile 。jQueryMobile 是针对手机浏览器推出的 Javascript 库,程序员能够使用一套相同的语法和库来适配主流移动设备的浏览器,比如:iPhone, Android, BlackBerry OS6.0 等手机内置的浏览器,更简单的说法就是程序员写一个 HTML + CSS + Javascript 的网页在不同的终端浏览器上获得的效果基本一致,运算结果和效率仅仅跟 CPU 速度和浏览器的渲染速度相关。
2010-10-29 22:24:17, 8274 reviews, comment
shitou's blog再次改版,完全是针对外观的改版,这次是第三次改版了,哈哈....
最近太忙,垃圾评论越来越多,没有时间维护了,前段时间试了下一些屏蔽垃圾评论的工具,效果不太明显,暂时放弃...
2010-10-16 22:48:06, 1227 reviews, comment
得到文件的mime-types类型,目前一种是通过判断文件的后缀,另一种就是通过文件的内容来判断,当然前一种如果你故意修改文件后缀的话就不能做为真实的依据了,后一种才是最可靠的,ruby目前的一个gem mime-types就是通过判断文件后缀的方法,不太可靠,所以我们可以使用linux系统的工具来判断:
#file -Ib readme.txt
text/plain; charset=us-ascii
#file -Ib ~/Music/PureMusic/Serenade.mp3
audio/mpeg; charset=binary
#mv ~/Music/PureMusic/Serenade.mp3 ~/Music/PureMusic/Serenade.txt
#file -Ib ~/Music/PureMusic/Serenade.txt
你可以用上面同样的方法测试下ruby mime-types, 就挂了
MIME::Types.type_for '~/Music/Pure Music/Serenade.txt'
2010-09-28 19:51:31, 4685 reviews, comment
我们再一次一起来凸墙
现在在国外有VPS的同学越来越多了,下面就給各位同学说下怎样用SSH凸墙的吧,首先在翻之前各位同学要明白GFW采用的和谐手段有哪些,这里石头就不多说了,自己去这里先补补,有些同学问我在国外自己搞个squid怎样,这样是不行的,想想为什么吧,
下面我们开始吧
#ssh -Nf -D 192.168.1.8:8082 root@1.2.3.4
上面的命令会开启一个监听8082端口的隧道服务,要注意的是上面的命令是在你本地执行的,不是在远程的VPS上,192.168.1.8是本地的监听的IP地址,如果不指定默认为127.0.0.1,这样如果你的LAN内其他同学要使用你的凸墙代理的话就不行了,所以需要指定上自己的IP地址;
8082是本地的监听端口,后面和前面的参数具体就不说了
然后在你的Firefox上设置网络代理为socketv5,注意不能其他的(如HTTP, FTP什么的代理)不要设置
然后再在Firefox的地址栏里输入about:config,把network.proxy.socks_remote_dns设为true,然后就大功告成了
上面的设置方法在IE上是不行的,这个可能和DNS查询有关,就是即使设置了代理IE可能仍旧会查询本地的DNS服务器,而不是通过代理服务器查询,这也是为什么Firefox我们需要设置etwork.proxy.socks_remote_dns的原因,现在又多了一个理由让我们彻底抛弃IE了
其实SSH的隧道模式还有很多其他的用途,比如服务之间的加密转发,有兴趣的同学可以去Google一下
SSH Tunnel Made Easy
Oreilly SSH Tunnel
2010-09-28 01:43:13, 5659 reviews, comment
发现了一个Google的开源工具,prettify, 一个网页的中语法高亮显示工具,和syntaxhighlighted相比,prettify更只能,不用手工指定当前要使用的使用,prettify可以自动判断要使用那种高亮方式,而且支持的语言更多,有兴趣的同学可以试试,
点这里
2010-09-20 21:18:56, 3890 reviews, comment
少年,不点下广告吗!
all by shitou
blog comments powered by Disqus