shitou's blog 

  • Home
  • About
  • Feed
  • 十人族
  • MIX BOY
  • 塌客
23
Dec

Erlang OOP

近两个月没有更新博客了,为了证明shitou还活着,需要动动了..


前段时间刚换了工作,一直在忙,还有在和两个朋友业余时间开发一款SNS的WEB Game, 纸牌类的,架构就是JavaScript + Flash Socket + Erlang + MongoDB, 更多关于游戏的内容这里就不多透露了,上线时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().

Erlang的OOP功能算是Erlang的一个隐藏特性了,毕竟Erlang是一个函数编程语言,可能老乔(Joe)也不想提这方面的东西吧,关于更多的OOP特性,可以参考这篇文章PDF, 还可以看下mochiweb的源码.

Tags: Erlang,MongoDB

2010-12-23 21:31:37, 784 reviews, comment

send to mailbox

Your email:

29
Oct

jQueryMobile

由 John Resig 这个天才发起的 jQuery 项目推出了移动版本,叫做 jQueryMobile 。jQueryMobile 是针对手机浏览器推出的 Javascript 库,程序员能够使用一套相同的语法和库来适配主流移动设备的浏览器,比如:iPhone, Android, BlackBerry OS6.0 等手机内置的浏览器,更简单的说法就是程序员写一个 HTML + CSS + Javascript 的网页在不同的终端浏览器上获得的效果基本一致,运算结果和效率仅仅跟 CPU 速度和浏览器的渲染速度相关。

 

 

jQueryMobile

 

 

Testing Mobile JavaScript
View more presentations from jeresig.
以上内容部分转自: http://www.ifanr.com/24297
Tags: jquery

2010-10-29 22:24:17, 8274 reviews, comment

send to mailbox

Your email:

16
Oct

shitou's blog改版V3

shitou's blog再次改版,完全是针对外观的改版,这次是第三次改版了,哈哈....

 

最近太忙,垃圾评论越来越多,没有时间维护了,前段时间试了下一些屏蔽垃圾评论的工具,效果不太明显,暂时放弃...

 

 

Tags: blog

2010-10-16 22:48:06, 1227 reviews, comment

send to mailbox

Your email:

28
Sep

Ruby mime-types

得到文件的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

audio/mpeg; charset=binary

 

你可以用上面同样的方法测试下ruby mime-types, 就挂了

MIME::Types.type_for '~/Music/Pure Music/Serenade.txt'

 

Tags:

2010-09-28 19:51:31, 4685 reviews, comment

send to mailbox

Your email:

28
Sep

用SSH tunnel凸墙

我们再一次一起来凸墙

现在在国外有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什么的代理)不要设置

 

http://www.ccok.me/photo/image/65/medium/Screen_shot_2010-09-28_at_3.41.01_PM.png

 

然后再在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

 

 

Tags: SSH

2010-09-28 01:43:13, 5659 reviews, comment

send to mailbox

Your email:

20
Sep

Google的语法高亮工具包

发现了一个Google的开源工具,prettify, 一个网页的中语法高亮显示工具,和syntaxhighlighted相比,prettify更只能,不用手工指定当前要使用的使用,prettify可以自动判断要使用那种高亮方式,而且支持的语言更多,有兴趣的同学可以试试,

 

点这里

 

Tags:

2010-09-20 21:18:56, 3890 reviews, comment

send to mailbox

Your email:

上一页 1 2 3 4 5 ... 34 35 下一页

Tags

json Impactjs Canvas fun gen_server superfly PS3 Webgame HTML5 jquery SSH tenerer MooseFS gearman-ruby Gearman MongoDB MochiChat TCP U-ka saegusa IN db command Mai Kuraki Norah Jones log iPhoneException ACG Mac Safari objective-c CouchDB LVS AJAX debian 推荐 AMQP google mail bug gettext Erlang 北京 iptables 架构 tips mysql backup function 我看 postfix 监控 SEO cache Etag memcache thread 进程 线程 无锡 yield file column mixboy xml rss gems ruby shitou shell lighttpd 安全 csrf 公司 nginx linux 模块 apache webserver 朋友 大学 生活 尼古拉斯凯奇 movie 文件同步 笑笑 歌词 auto complete plugin rails music ubuntu blog

Category

  • HTML5[3]
  • iPhone[17]
  • Erlang[11]
  • google[13]
  • 生活[45]
  • 音乐[13]
  • 电影[11]
  • linux[29]
  • web server[6]
  • mail server[3]
  • cluster[1]
  • system manage[9]
  • ruby[20]
  • ruby on rails[28]
  • 开源[4]

Episode

  • MongoDB
  • MochiChat
  • iPhoneException
  • shell
  • thread
  • memcache


Popular Posts

  • 准备开始学习Erlang了(恶狼, 二郎..)
  • Ruby遍历MemCached的key
  • 服务器监控小脚本
  • MySQL Innodb备份
  • [转载]5个有用的ruby gems

Recommended Posts

  • Tri-survive - HTML5 Game
  • Cut the rope - HTML5版
  • json_formatter
  • 在gen_server中spawn新的进程
  • Superfly - Wildflowers
  • 继续凸墙 for Mac OS
  • MongoDB Beijing 2011
  • MongoDB删除map_reduce生成的tmp collection
  • Mai Kuraki - Future Kiss
  • Erlang OOP
  • 用SSH tunnel凸墙
  • Google的语法高亮工具包
  • 大量数据的批量操作
  • 再次被和谐-_-
  • 十人族: 上线了

Friends' blogs

  • levy
  • sphance
  • andreas
  • yangkunlun
  • {:dev=>:wxianfeng}
  • bheye
  • joeydarko

Login

   注册

留言 查看留言

留言

   取消

留言 查看留言


Statistics

  • 访问次数: 316248
  • 今天访问: 43
  • 日志: 213
  • 评论: 4967
  • 音乐: 9
  • 用户: 1758


少年,不点下广告吗!

 

all by shitou

blog comments powered by Disqus

close