Web编程异步模型的 Gearman 实现(残)

写了 PHP 原生的二段式异步模型的实现,我就想着用 Gearman 实现一个 callback 方式的异步。还没准备好怎么去写,就看到了靓文一篇《Gearman 心得》。 看过之后,甚感压力:好文!!于是,弃笔不写,洗洗睡罢了…… 补充一下,在“心得”文中仅仅说明了不阻塞的后台作业。对于异步获取数据并未说明。所以我这里罗嗦一下…… worker 如果用 php 来实现,并且不用《Web编程异步模型的PHP 原生实现》中的异步方式,是无法实现 php 的 client 的异步的。比较好的实现方式是 worker 不使用 php,用 python、perl 或者 c,实现一个线程池来执行 job。当然,私下觉得用 stackless python 可能是更好的选择。 2010年07月18日补充: 好吧,终于有人撰文,正好可以补充完整这个异步思路: 淺談coroutine與gevent 就他了,太棒了!

不要说你没机会上大学

经常听到有朋友问,中大的课程能能不能旁听,都说很想去学一下自己感兴趣的课程。我觉得,这是个好现象,我们终于开始认识到学习不是为了考试、不是为了找好工作、不是为了出人头地。终于,越来越多的人开始为了兴趣自发的进行学习。诚然,中国的大学自身还未能彻底改变老路子。像中大的博雅学院这样的非实用学院的开设,不也证明总是有人走在前面的吗? 好了,言归正传。 先推荐靓文一篇:网上免费上耶鲁? 世界名校网上课程 耶鲁:http://oyc.yale.edu/ 麻省理工:http://ocw.mit.edu/index.htm 斯坦福:http://itunes.stanford.edu/ 伯克利:http://webcast.berkeley.edu/courses.php 卡内基.梅隆:http://oli.web.cmu.edu/openlearning/ MIT 的 Open Course 的部分课程之前我是看过的。也看了 Berkeley 的课程,不过没下心去学。前几天路神分享了一个 Yale 的招生视频广告(That’s why I chose Yale),很是提神,当时不少群众纷纷表示:愿意去 Yale 感受世界级顶尖名校的氛围。即使没有时间、没有钱,只要能上网就可以上 Yale 的课程了。 不要说你没机会上大学!

关于Web编程异步模型的白日梦

早上刷牙,处于半睡状态。突然想起昨天晚上看到的那个 go-lang 的 MVC 框架,若使用 go func() 方式异步获取数据,应当是不错的。窃喜……梦醒…… 在地铁上被前前后后那些特种男女逼到车角,无奈。又想起早上那个白日梦,遂上网搜索了一番。得老赵的佳作一篇《F# 与ASP.NET(1):基于事件的异步模式与异步Action》。之前看过,由于对微软无爱,未能细品。今日一读,如醍醐灌顶,豁然开朗。 遂整理思路如下,以待后用。

《软件架构师应该知道的97件事》阅读随想

昨天新书到货《软件架构师应该知道的97件事》,吃完饭的养膘时间大致浏览了一遍,将一些阅读随想放在了推上。今天将这些内容整理于此…… 《软件架构师应当知道的97件事》如果用#97TESASK 作为标签,应该没人反对吧?

例行维护后引起的故障

类似的事情听过不是一次两次了,今天看到 robbin 在推上的留言。觉得很有意义,特别记录一下,时刻提醒自己。在日后架构设计和维护规范上应当通过合理的手段避免类似的事故发生。 robbin 原推如下: @robbinfan: 昨晚JE所在机房切换电源关机导致网站无法访问。早上恢复后因为数据库和缓存服务器都被清空,巨大流量(QPS将近400,并发连接到1000)直接冲击导致web服务被阻塞,现在正在逐步恢复中。

扯淡 erlang 的“适合”和“不适合”

现在在体系内大力推广erlang了。不过挺遗憾的是,推行 erlang 前并没有对这个语言自身进行深入的论证和研究,只是由核心人员写了一个简单得不能再简单的 demo,在项目里用了一个开源的 erlang 项目。从工程的角度来说,这是不靠谱的,为了让 erlang 的使用更加靠谱,所以在这里扯淡一下。资料来源于erlang官方和我的猜测,对不对由我,信不信由你。 先看来自 erlang FAQ的内容(自己随手翻译的,不一定准确,可看原文:http://www.erlang.org/faq/introduction.html#1.3):

生活中的 IPO

又是个很眼球的标题。不过本文并不是什么新鲜玩意,只是在学习了丁点 CMM 知识和零星项目管理常识后,结合亲身经历的一些总结和整理。记录在此。 炒股的童鞋看到 IPO 无疑眼前一亮 IPO(Initial Public Offering)——首次公开募股。只不过,此 IPO 非彼 IPO,这里真正的含义是 Input – Processing – Output,即,输入 – 处理 – 输出。

[翻译]在论文和文章中使用最好方式表达研究成果

Ivan Stojmenovic http://www.site.uottawa.ca/%7Eivan/presentstyle.pdf 这篇文档介绍了如何撰写研究性文章或硕士、博士论文。大部分介绍的内容同样适用于制作幻灯片(由于幻灯片制作有一些不同,相关的内容被放到由 Veljko Milutinovic 撰写的另外一篇文档中介绍,在我的网站上同现在这篇文档放在一起)。如果说本文介绍的方式可能有不适合你的文章的话,差别只是你所做的不是科研,而是开发、应用或者其他类型的工作。 一个成功的表达的要点是重复你的“故事”四次:标题中、摘要、简介(或第一章)以及正文。也就是说,使用容易理解的语言按照10 、100、1000 和 10000 个词(译注:原文指英文单词)的顺序描述你的工作。为什么呢?因为你将拥有四种不同类型的读者。在这些关注你的工作的人中,我估计有 80% 只会去看标题;15% 会阅读摘要;4% 会阅读简介;仅存的 1% 才会阅读全文。这是建立在你的工作是正确的基础上,否则最后一组会是 0%。如果你不相信,你只要对自己花在阅读他人工作上的时间(或计划的时间)进行统计即可。