三 26
2008年三月26日,星期三,下午 12:12 | 分类:
default |
给我留言(2 条留言) |
写在前面: 这《IM集成开发》那篇博客,主要是翻译了rubyfleebie.com里面的两篇文章,以及对一些资料的整理。不过在IM集成开发上,还有一篇补充需要整理一下。原文的标题叫“使用XMPP4R进行IM集成开发时需要避免的两个错误”。 错误一:在Rails下运行XMPP4R 作者提到,不要将XMPP4R放到你的vender目录中,不要指望在你的Rails项目中也运行着XMPP服务。因为web服务是无状态的,在一个请求结束后,web服务会和客户端断开。而XMPP服务的原理不是这样,所以你应该建立一个独立的项目,比如叫做listener,来完成XMPP的工作。 不过要注意不要犯下面的错误。 错误二:在listener中写入商业逻辑 Rails才是你真正的核心,而这个listener的工作只需要很简单: 1、接受input 2、将消息发给Rails应用 3、将Rails应用的相应结果返回给IM客户端 以上是作者的总结,供大家参考。 下面的文章是关于如何建立一个Jabber服务器的 简单架设Jabber 局域网即时通讯服务器 这篇讲的很全面,不过是linux下的,个人感觉练习的话windows下的很简单。 TwitterBot by Ruby 如何使用Ruby来实现Twitter的机器人 How to Build a Twitter Agent 如何搭建Twitter代理 不过,我更加关心的是如何实现QQ的IM集成,遗憾的是个人尝试了下并为成功,如果谁有具体的实现方法,请与我联系。下面是我整理的资料,能力有限,所以贴在这里,供大家交流吧。 QQTransport for wildfire (让QQ也能在Jabber上使用) 为OpenFire和Spark增加QQTransport–Openfire篇(二) 这篇文章的作者说,他是在LumaQQ的基础上加工的,不过能力有限,对java环境也基本忘光光,虽然按照他的指引,我还是没有成功,不过还是感谢他的工作,让我知道了如何入手。 讲一下外包开发的想法。 一定是要有预付的,之前会讨论网站的详细功能,一定要有成文的功能说明。预付,意味着我们开始正式的开发,这个会包括网站开发文档,代码实现,在正式交付前,需要结清余下的款项。更具体的还需要另定。比如上线后的维护,服务器的扩充,人员的培训等等。在尾款结清前,我们有权保留部分代码。不过作为项目的制作者,我们更乐于参与上线后的维护工作,以增长经验。 期望每一次都是快乐的合作。 不过,对于项目想法不成熟的,我们并不想指出谁对谁错,我们只看成熟的开发文档。我们期望自己的作品在各个方面是优秀的。 不过: 1、用4000块就像做土豆网的免谈 2、当程序员为“饭店跑堂”的免谈 3、当程序员为“免费搓澡”的免谈 4、大型门户网站或行业门户网站投资少于2万的免谈 5、要求用asp制作大型门户网站或行业门户网站的免谈 6、非Rails项目,而且又不能用php已有cms系统完成的,谢谢,我们不接。
(阅读更多精彩内容...)
三 20
2008年三月20日,星期四,下午 11:11 | 分类:
default |
给我留言 |
写在前面: 那天同事GT我说Rails出了新书,中文版,《Ruby on Rails电子商务实战》 ,并且把英文版迅速发给了我,说:书很好,讲TDD了,你快看,我已经买了。 一、《Beginning Ruby On Rails E-Commerce》 这本书的英文版是在06年的时候出版的,在书中标注的开发环境,对于现在来说,有一些老。不过对于主流的Rails1.2.6以下版本开发的项目来说,不会产生太大的问题。 书中(英文)的开发环境 不过,随着Rails2.0.2的发布,新的项目自然会用新版本开发。并且一些功能已经改进。比如第七章说到的“Tagging Support”,就会带来版本的困扰,这个我在开发笔记:rails分页和acts_as_taggable插件的应用中已经做了个笔记。 这本书是Rails2.0下的牺牲品吗?绝不 ,这本书的价值,在于里面讲到的TDD下的Rails开发。这是这本书的精华,也使它不同于Rails普及书会面临的淘汰问题。 二、一定要重视TDD开发 在本书英文版的前言部分,作者提到了本书的目的: 本书的阅读群,是使用Rails制作过一个以上项目,并且期望在以后的开发中,通过使用TDD开发来改进代码质量的程序员的。 这正适合我这样的程序员。最近的经历告诉我,如果想和外国的团队开发项目,或者加入到成熟的项目开发中 ,掌握TDD或者BDD是一项必须技能。这重要的不在乎技巧,而是观念。 记得当初在Django下开发deyeb的第二个版本时,就被迫的拿着测试驱动开发去理解。那个时候根本不明白这是什么意思,而两年后的现在,却十分想认真的再去理解一下书中的精髓。而这本书正好是按照先测试,后开发的“规矩” ,完成一个项目的。这也使得这本书不局限在Rails的具体版本,而教人知识的层次了。 三、 《Ruby on Rails电子商务实战》 中文版我还没读到,所以抓来GT(GT就是google talk的意思,好玩)我的那个人,写了一下感想,毕竟他已经认真读完前三章了。 买了Ruby on Rails电子商务实战。刚入手就迫不及待的翻看起来。这本书和其他的Rails都是一个流派,本着实用为目的,没有多余的废话,上来就直接做应用,而且介绍的技术都是现实中大家肯定会用到的,一些相关的知识点也都给了详细介绍的URL。从第二章开始作者就有意的给读者介绍一些优秀的编码思路,也就是本书的核心TDD测试驱动开发。说实话,这本书的代码,因为是基于Rails1.2之下的,尤其现在已经是Rails2了。所以好多代码已经被废弃了,例如书中常用到的 assert_tag 在rails中已经废弃了。如果你完全按照书上的例子打,肯定过不去,好在译者已经给大家写了注释和修改的方法。所以,虽然本书不是基于rails2来写,但是有了译者的补充和完善,代码仍然不过时。书中介绍的一些技巧和方法,在实战中也肯定让读者少走不少弯路,比如如何给Rails应用增加Textile功能,如何试用Rails的上传插件FileColumn。虽然Rails进过不断的进步,在安全,多语言支持应用程序部署和性能优化上都有了更好的标准和方法。但是本书后在这方面的章节仍然值得一读。 总体来说,读过《敏捷开发2》,和《Ruby for Rails》再来看这本书,会对Rails开发者在实战中有莫大的帮助。 这是中文译者的博客:activescaffold.com.cn 写在后面: 最近又在给人做网站。又看了很多电影,并且在没什么新片看的时候,下载吴宇森的经典片《夺面双雄》 (英文:face/off)看。昨天还温习了一边《虎胆龙威4》,感觉那些程序员死得很窝囊,难道50年才出一个NEO吗? 镐头书要出新版了,《Pro Active Record: Databases with Ruby and Rails》上架了,唉,时间不等人啊。最近觉得资料分享的网站很有意思,比如http://www.scribd.com/这个站点,大家有什么想法吗?
(阅读更多精彩内容...)
三 12
2008年三月12日,星期三,下午 8:08 | 分类:
default |
给我留言 |
《Flex3基础训练》视频介绍: Lynda.com 出品的 Adobe Flex 3 基础教程,由 Adobe 公司认证讲师 David Gassner 主讲。 Adobe Flex 3 是用于构建和维护在所有主要浏览器、桌面和操作系统一致地部署极具表现力的 Web 应用程序高效率开放源码框架,开发人员可以使用 Adobe Flex 3 软件来显著促进开发。若要创建引人入胜的跨平台丰富 Internet 应用程序,必须懂得强大的 Flex 3 的应用。在本教程中,讲师 David Gassner 从最基本 Flex 方案及其相关编程语言入手,循序渐进,逐渐深入,带领学员应用 Flex 3 自己动手创作、设计、定制及发布动态网页和桌面部署。 这个页面可以找到电驴下载的连接。 在土豆试了一下,代码能看清吗?唉。再想别的办法吧。目的是要增加博客的收视率。 本来很想把mov转换成swf的部分上传到服务器,但是发现这个工作太艰巨和漫长,虽然只想放第十一章以后的内容,但是转换完的文件依旧很大,因为有代码,所以不想把画面质量降低,而且画面降低了文件大小也没小到哪去。唉。 视频讲的很清楚了,看完之后会去写一下代码。高手朋友欢迎来此指导。 ps:谁有高级的Flex开发视频,欢迎发一下。
(阅读更多精彩内容...)
三 09
2008年三月9日,星期日,下午 1:01 | 分类:
default |
给我留言 |
1、昨天看了一直很想看的《secret window》(中译:秘窗),改编自史蒂芬 金的小说。虽然从来没看过金的小说,但是却买了他的自传。他的序三有句话很有意思:作家是人,编辑是神,查克是上帝。 电影的另一个吸引,是德普, 这是一个没有包装的德普,不过还是能看到他海盗船长的身影,摇摇晃晃,迷迷糊糊。难道生活中他就是这样吗? 德普是一个为了角色不惜一切的人,甚至不屑影片投资人砸桌子。不过这里,他只要演他自己就行了,甚至装扮都是一样:帽子,黑边大眼镜,宽松的衣服,一个成熟并且成功了的文艺青年。 这似乎也是史蒂芬 金的理想状态。看书,看书,写东西。影片在开头,一个特效的长镜头掠过MS Word的镜头,倒让我更觉得恐怖。windows难道不恐怖吗? 玛利亚 贝罗,刚看完《奥斯汀书友会》 ,没想到这里又看见她,虽然是女一号,但是戏并不多,因为这部片子就是拍德普的。动作,语言,表情,装可爱,冷峻,狂躁,残忍。 这个故事看下来不觉得太多意外,可能这种心理悬疑的故事套路已经乱熟在脑袋里了。比如国产的《门》,人最害怕的是自己,在中国的传统里,更要加上“不怕活人怕死人”的东西。 但是人并不愿意承认自己内心的恐惧,所以就会乐于转放到别人身上。上面这个角色,用《独自等待》里的台词:“是你丫脑袋里编出来的”。 电话是最让人恐惧的东西。我现在看到陌生的号码都会挂掉,除非第二次打来,否则觉得不会考虑是不是熟人。第二次打来的,也多有推销的,这证明人家的坚持,或者领导的强硬要求。 迷惑 惊愕 释然 最大的敌人和最好的朋友,就是自己。 最后问一句:下面这个人是《越狱第三季》 里的susan吗? 只有两场戏,十句台词的小角色,连演员表都查不到她。
(阅读更多精彩内容...)
三 07
2008年三月7日,星期五,上午 11:11 | 分类:
default |
给我留言 |
写在前面 : 这篇文章准备了挺长时间,因为在IM集成开发上是个新手,所以需要看狠多资料来理解各种概念,还在在自己的机器上做一下试验。下面就是对一些资料的笔记总结。 非常感谢分享自己开发经验的朋友。 第一部分:XMPP,第二部分:XMPP4R,第三部分:如何实现IM集成开发的探讨。本篇主体来自rubyfleebie.com几篇非常好的文章。 第一部分:XMPP 1、twiter带来了什么? twitter已经红了很长时间,而且国内国外的跟风网站和fans已经出来许多,前一篇博客里提到的Twitterverse.com,就是一个fans站。如果你之前和我一样对twitter了解很少,可以看看下面的连接,是对twitter的解释。 link:http://baike.baidu.com/view/843376.htm twitter的亮点,以及效仿网站 的主要技术,就是IM功能集成到项目中。比如9fav.com,向qq里发去一条网址,就会自动加到个人的网址收藏夹中。 2、XMPP 现在该是XMPP登场了。XMPP是eXtensible Messaging and Presence Protocol(可扩展消息处理现场协议)的缩写,使用该协议,可以以XML格式进行消息传递。 link:http://baike.baidu.com/view/189676.htm XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。Jabber的开源,使得你可以使用Jabber客户端,如Pidgin,Spark,Google talk(其实Gtalk不是Jabber客户端),Gajim,登陆Jabber服务器,或者登陆你自己搭建的服务器(下一篇文章将介绍)。常听别人说可以把多个聊天软件集成到一起吧。其实原理就是使用Jabber客户端,登陆到Jabber服务器,Jabber服务器可以与其他的聊天服务器进行沟通,比如MSN,Gtalk,AIM等,这样你就可以在自己的Jabber客户端中与他们进行联系了。Server-to-server是Jabber架构的重要功能! 下图是我连接自己的机器(我自己建的Jabber服务器),然后集成了msn和gtalk的用户过来后的界面。 在这里,列出了公开的Jabber服务器,大家可以登陆试试看。 3、XML的意义:Streams 和 Stanzas 在开始的部分,介绍一下原文的另一款中文翻译,这篇文章对于快速的学习IM集成开发有很大的帮助,学习的朋友建议看一下。 下面是对那篇翻译的引用,作者:IceskYsl 在Jabber的消息交换过程中,有两种概念比较重要的是Streams 和 Stanzas。 Streams 是Jabber客户端和其服务器之间的联通、交换消息的容器(例如GoogleTalk和gmail.com ),以 XML格式的<stream>开始,以</stream>结束。而两者之间交换的各种消息都是其他格式的XML节点(被称为 stanzas),都被包含在这个容器中,当联通的两端任何一方退出登录的时候,就发送</stream>给另外一方。比如我关闭 GoogleTalk客户端,其就会发送</stream>给gmail.com通知结束会话。 PS:这里需要强调的是stream不会出现在用户A和用户B之间,而仅仅存在于您使用的客户端和其对应的服务器端之间。 Stanzas节点包含的的就是用户A和用户B直接需要交换的消息,一般常用的有3个格式的,分别为: Message Presence IQ Message类的Stanzas用来在两个用户间交换消息,比如用户A(iceskysl@someserver.com/home)给用户B(1sters@someotherserver.com/home)发送一条消息“1sters… are you there?”,其包装以后的格式类似于: <stream> <message to=’1sters@someotherserver.com/home’> <body>1sters… are you there?</body> </message> … … [...]
(阅读更多精彩内容...)
三 07
2008年三月7日,星期五,上午 10:10 | 分类:
default |
给我留言 |
这个标题很有编程的味道啊。当初听到他的歌,还是公司的一个家伙 siqibailie 的要给大家放,放的是《啥也不是》。编曲很有意思,开头和结束都用了化成灰都能听出来的《超级玛丽》的曲子。 那阵子写程序的时候,总爱听一帮黑人的R&B,RAP,听了这位兄台的歌,哇靠,这个亲切啊。而且歌词相当的生猛,让人豁然发现,俺们东北这嘎达,也是R&B的摇篮啊! 如果你不介意,我将贴贴他的歌词,不喜勿看! 《穷家子弟》,演唱:三块石 扒开眼睛起被窝看表已经十点多 哈欠一个连一个 头发乱地象鸡窝 今儿还得那么过?没班没有课? 就这么半死不拉活地浑浑噩噩 兴奋地上趟厕所 把各个捣吃利索 对个镜子劈个分头 恩 还算是个三等帅哥 揣好毕业证身份证还得出去学摸 学摸饿不死地工作 一出门碰俩大盖帽给俺造一楞 不是咱犯啥事怕他查俺暂住证 听说整不好就给扔旮旯子筛两年沙子再往家遣送 不知有没有那严重 先做做思想活动 喵悄地走 我履着电线杆儿 发现这上面的招聘信息一篇又一篇 端盘子刷碗当门童当保安呢 还有要男公关 拉倒吧咱体格太干巴 求职者聚堆的地方还是招聘会 那人乌殃地挤挤插插好象多国部队 可我说各位本硕博地兄弟姐妹 你们找活都困难我这熊色不白费 唉 我就奇了怪了 研究生都歇菜了 整地象超级女生似的刷刷全淘汰了 你们这帮用人单位是不大母牛不下崽儿——牛B坏了? 瞅瞅俺这毕业证 就是个卡戳地纸壳子还有啥用 给谁看谁不吊 要是擦鼻涕开腚 还拉拉巴巴刚刚硬 真是血招没有就这祟命 真想脑瓜插根笤帚迷子把自己卖掉 可打了八五折了还是没人要 这帮老油条是当面一套背后一套 没准给俺倒卖好几手还帮人数钞票 欠一屁股疾患是越来越多兜里子儿越来越少 肚子呜嗷乱叫咋也添不饱 可老天爷舍不得饿死瞎家雀 终于有公司让我面试咋就那么巧 俺学过计算机 天生就得IT 你T俺一身脚印子也没关系 [...]
(阅读更多精彩内容...)
三 02
2008年三月2日,星期日,下午 1:01 | 分类:
default |
给我留言 |
写在前面: 终于忙完了手头的杂事,开始专心的看看Rails文章。看的第一篇竟然是Flex相关的,难道这个博客真的要专门讨论Flex和Rails吗? 之前翻译和整理的三篇文章,在Flex和Rails上实现发布/订阅的消息通信 ,在Rails中使用Flash Remoting中文教程 ,Flex与Rails的性感结合,晒一下,下面是整个二月份积攒的一些东西,整理发布一下。 我发现儿子越来越好玩了。而且今天给博客换了皮肤,3月份来了,蛮新鲜的。 1、Flex Builder 3 正式发售 link:http://www.adobe.com/products/flex/ 2、在Flash Player中运行Ruby代码 08年2月26日InfoWorld.com报道:Adobe的一个研究项目正致力于在Flash Player中运行其他语言的代码。该项目中,像C和C++,Java,Python,Ruby这这样的编程语言都可以编译到ActionScript中。这样可以使这些语言编写的组件,加载一些大型项目中,实现代码的跨应用平台。 比如,目前的FlashPaper就可以读取PDF文档并进行展示。 目前,所有的代码都使用ActiobScript或低一级别的byte code编写,在Flash Player中,所有的都被编译成SWF byte code,它叫做ActionScript byte code。 link:http://www.infoworld.com/article/08/02/26/adobe-player_1.html 3、验证Ruby的正则表达式 如果你需要验证一下自己写的Ruby正则是否正确,可以用下面这个网站验证一下。我觉得重要的是这个网站下面的一些提示。 link:http://www.rubular.com/ 4、新增了两个网站连接 都是关于Flex开发的博客,本篇文章写的时候一直在看 http://blog.vixiom.com/ 和这两个博客。 The Official Flex User Group for Orange County, California. Link:http://www.ocflex.com/ Ted On Flex link:http://www.onflex.org/ 5、谁在使用Rails工作 我注册了,所以目前统计在中国有92个Rails开发人员,而且大多都 “Available for hire”。呵呵。我也是 link:http://www.workingwithrails.com/ 6、Rails Engines 引自:全日志博客 [...]
(阅读更多精彩内容...)
二 24
2008年二月24日,星期日,下午 9:09 | 分类:
default |
评论关闭 |
写在前面 80届奥斯卡要发小金人了,一大帮人要走红地毯了。这两年看了太多太多电影,所以对这届奥斯卡无比的关注。不过我不喜欢去想哪个电影和演员最好。我会给每一个看过的片子和喜欢的演员有一个评价。 我是一个喜欢电影的程序员。 所以我做了一些网站,注册了这些演员的域名。目前放出来9个网站,感觉还算满意。 x203.cn 这是一个系列网站的管理系统的计划。每个域名的网站,除了各自的不同的google co-op代码和统计代码,其他均由系统统一生成和互相关联,这样,所有的网站之间,都会产生不规则的关联。 这种想法来自曾经工作过的deyeb项目。 Link:x203.cn google co-op x203.cn下面的系列网站,都有一个搜索功能,采用的是google的co-op。 google 的 co-op,可以使你在自己的网站上,实现google搜索,并且通过对搜索结果的定义,实现个性化的搜索。 比如,在co-op中,你可以定义搜索结果的来源:结果仅来自一些指定的网站,也可以将指定网站的搜索结果提前。当然,你还可以邀请别人和你一起管理。 你还可以把不喜欢的网站结果排除在外。 对于众多的搜索结果,你可以定义些提炼关键字,引导你的用户去点击,以得到更加精准的结果。 这并不是一篇详细介绍co-op的文章,而且提到这个也有点晚了。co-op告诉我们的,是google如何实现的搜索个性化的。这种个性化,可以引导你的客户,更加关注你的信息,屏蔽其他的信息,在搜索中对客户进行暗示。 http://johnnydepp.org.cn/ 这个全明星搜索中,结果更加偏向“电影 小说 dvd 下载 交友 图片”这些关键字,大家可以去试验一下。 个性化搜索与社会化搜索 说到社会化搜索和个性化搜索,我并没有多少发言权。在一萌工作的一年,才知道了这些。并且在不断的设计和讲解中,自己也加深了理解。 上面提到的co-op,是个人倾向的搜索设计,而将这些倾向结合在一个概率系统里,就会是一种社会化体现,类似digg,书签网站所产生的效果。大家通过对各自搜索的定义,产生一个社区的效果,而社区会将这个结果反应给大众。于是大众就会得到更加准确的消息。这也是deyeb项目追求的目标。 离开这个项目已经半年多了,至今仍觉得在这个项目工作,收益很多。尤其在给别人不断讲解的过程中,自己也体会更深。 ps:我更新了谁是里克栏目,算是听取大家的劝告吧。 人最大的敌人就是自己。 感谢订阅了博客的朋友,我写的不好,但是写的时候,我是很认真的。技术上,是一个Rails程序员的学习笔记,其他,是一个30岁男人 de 只言片语。说不定什么时候不写程序了,就去写恐怖小说吧。
(阅读更多精彩内容...)
二 20
2008年二月20日,星期三,下午 1:01 | 分类:
default |
给我留言(2 条留言) |
写在前面: 看标题,包含了本篇的两个意思,一个是要介绍一些网站,一个是要关注Mashup。 对于2.0时代的互联网,时间是很紧迫的,而各种应用,虽然看着很简单,但是很好玩。原因在于,大家还是重视博客了,重视开放api和Mashup了,所以,原来给人做网站的我,被逼迫的开始2.0了。 foodbuzz.com foodbuzz.com是一个美食网站,介绍各种食品,餐馆,食谱,还有用户点评功能,加上google地图的使用,使网站比较2.0 不过首先发现这个网站,是因为它是一个Rails网站,在4rails.cn上还有它的招聘信息的转载:Web Developer/Software Engineer (Ruby on Rails) Link:foodbuzz.com mr6.cc web2.0的核心是传播?从前人们习惯阅读,现在人们习惯分享。 这是一个分享知识的专业网站,从中,“别有用心”的人会发现自己想要的。 Link:mr6.cc emilychang.com 又是一个分享个人收藏和资讯的网站,主人一是漂亮,二是专业,网站里可以找到很多新鲜的东西。比如标题提到的那个网站:Twitterverse.com 。 Twitterverse is a project by Ideacodes. While we’re fans of Twitter, we’re not officially affiliated with them in any way. We use the data that is made available in Twitter’s public timeline. All content is subject [...]
(阅读更多精彩内容...)
二 15
2008年二月15日,星期五,下午 12:12 | 分类:
default |
给我留言 |
写在前面: 昨天晚上,准确的说是夜里,看了这部电影:《东方的承诺》(Eastern Promises)。一部很独特的片子所以决定在写Active Merchant插件前写点关于这个电影的文字。 ◎译 名 巨塔杀机/东方的承诺 ◎片 名 Eastern Promises ◎年 代 2007 ◎国 家 英国/加拿大/美国 ◎类 别 剧情/神秘/惊悚 ◎导 演 大卫·柯南伯格 David Cronenberg ◎主 演 Josef Altin … Ekrem Mina E. Mina … Azim Aleksandar Mikic … Soyka Sarah-Jeanne Labrosse … Tatiana Lalita Ahmed … Customer Badi Uzzaman … Chemist 娜奥米·沃茨 Naomi Watts … Anna Do a Croll … Nurse (as Dona Croll) Raza Jaffrey … Doctor [...]
(阅读更多精彩内容...)