刚刚围观
http://wiki.nginx.org/NginxModules, 有两个信息值得关注, 第一个是SCGI已经是最新Nginx的内置模块了, 第二个是
uWSGI这个东西, 之前没有看到过, 今后在部署Django的时候可能会用到的好东西.
uWSGI 是快速的 (纯C编写), 健壮的, 开发者友好的 WSGI 服务器. 但是不像apache下的mod_wsgi, 依然需要手动运行 uWSGI 服务器配合 uWSGI 的服务器 module 才可以使用.
对于Nginx来说, 现在比较通用的方法还是fastcgi来同时支持wsgi和PHP. 由于PHP社区对于SCGI的支持有限, 所以这种简单高效的方法在生产环境中只能暂时对python有效.
post on 2010-07-10 06:44
最近在玩一个游戏World of Goo,2D游戏的魅力在此得到了升华。制作小组叫做2D boy,看来他们早就看透了。
大多数我玩过的最爱游戏几乎都是2D的,或者斜四十五度角的。原来我以为上大学是我停止玩游戏的分水岭,现在看来很多游戏的3D化才是我不再玩游戏的原因。像现在被翻拍成电视的仙剑三,当年作为RPG fans的我居然完全不知道剧情,看了游戏截图才知道因为这是一款3D RPG,同样轩辕剑四也是,再也无法找到云和山的彼端那时的感觉。
不过3D中也有几个不错的作品,比如FF7,MGS。总之3D技术应该拿去拍电影,不是用来做游戏,可玩性真不高。FF7和MGS都可以列为电影作品。
最近有update了一下现有的移动平台上的技术框架:
iphone上
cocos2d似乎正被越来越多的人喜爱,另外一个免费的3d框架乌龙茶
oolongengine似乎也是一个不错的选择,非常显著的特点就是支持著名开源3D软件blender的格式,由于估计不太可能用到所以就大胆的推荐一下。我真的开始讨厌3D游戏了……最后还有跨平台的orge,平台移植的救命稻草,就不多介绍了。
同时也想到android平台,这叫做吃着碗里的想着锅里的,居然还真没几个。毕竟是Java做游戏大家都没有经验,只有一个叫做
rokon的2D游戏框架。其他的文章似乎都是不用引擎直接上去OpenGL蛮干的做法。我认为Sprite还是游戏中十分必要的元素,故不推荐。
post on 2010-07-9 11:19
传说Erlang有这样一种特异功能, 可以在不重启服务器的情况下更新代码.
大家知道在Erlang内部有很多的微线程, 当新的erlang代码部署到服务器以后, 旧的微线程会继续执行直到结束, 新的代码就会无缝的部署到服务器上, 没有任何当机时间.
其实在apache上也有apachectl restart safe这样的用法, 尤其是在有nginx这样的load balancer情况下, 我们是可以分别重启后端的服务器.
在tornadoweb的推荐配置中,使用了nginx做load balancer. 我们只要修改tornadoweb的服务器,使得重启的过程优雅一点。当然由于tornandoweb的主要用途在于长连接的应用,所以这一点有一些问题,可以用超时来判断长连接应用。另外实际应用中牵涉到DB scheme的升级,这也是需要考虑到的问题。
post on 2010-06-28 23:17
今天下午在python活动中和大家分享了Tornadoweb的一些话题,这个由friendfeed团队开发的单线程web服务器显示出了惊人的魅力。一直以来社区中就有对于这类独特应用编程思想的讨论,但是很少有应用级别的产品推出,这次tonadoweb给我们一个性能不错的答案。
期间向大家介绍了tornadoweb包含的一些组件,最后给大家演示了长连接输出。如果使用长连接输出javascript,可以实现由服务器端定时向web推送信息的功能,当时认为这个功能可以做chat,现在看更加适合更新股票信息。
随意观看Tornadoweb的自带的例子,发现了一个更为经典的长连接chat demo,采取的方式是让所有的chat客户端都请求页面等待,但是页面仅会在有新消息到来时响应请求。这个demo的思路很是开阔,实现了即时的push通知。
Tornadoweb作为一个不用依赖stackless python以及greenlet的框架,让我们领略了异步编程的魅力,确实值得我们学习研究。
post on 2010-06-27 22:58
上周末在新单位遇到一位号称做音乐软件的老外,之后的ardunio作品展示让我们大饱眼福。跟他聊起具体实现,偶尔提到了OSC。
花了一点时间来了解了一下什么是OSC(
OpenSoundControl)
首先在潜意识里向大家普及一下用途,关于如何把家里的MIDI乐器和电脑连接起来。
在电脑这玩意出现之前,各种乐器(电子琴,电吉他)都是通过模拟的方式工作的,不带电的(钢琴,吉他,小提琴)也是通过麦克风来加入工作。
当电脑开始介入这些工作,一切乐器也开始有了电子接口,比如MIDI键盘,电子鼓。工作方式也是通过一些MIDI cable将这些设备串联起来。这就是那个圆圆的MIDI接口有IN和OUT之分。
OSC给我们提出了网络时代的解决方案,某些乐器即将或者已经拥有网卡接口或者无线网卡。在以网络为基础的家庭/工作环境中,用网络将这些设备连接起来,听起来再合理不过了。OSC就是为此而设计的协议,遵循该协议实现的软件,硬件将有机会协同工作。
最后,即使只有一台电脑的环境,OSC也相当的有价值。我们无须为创建一个虚拟乐器控制设备修改MIDI设备驱动程序,基于UDP实现的OSC编程是相对简单的,OSC已经有了众多语言的库实现,包括python,ruby等等。
post on 2010-04-30 01:55