- 博客(96)
- 收藏
- 关注
批量下载railscasts上视频的ruby脚本
Railscasts上面的视频已经出到117集了,很早就想把它们下载下来,但是一直苦于网速太慢。现在网络有了点儿改进,趁机写个ruby脚本把所有视频全部搞定。基本想法就是解析它的RSS,找到视频的地址,然后下载,简单得很。 require 'net/http'require 'rss/2.0'content = ''open('http://feeds.feedburner.com/...
2008-07-14 12:00:20 255
梦回唐朝
唐朝乐队出新专辑了。看到这条新闻的时候心里不禁波动了一下,10年过去了,又听到了这个熟悉的名字---唐朝。想想看第一次听唐朝的歌还是在初中的时候,揣着好长时间才节省下来的10块钱,兴冲冲的去买正版的《梦回唐朝》磁带,之后晚上小心翼翼的塞到随身听里面团在被窝里悄悄的听。现在想想真是好久之前的事情了。 现在,唐朝出新专辑了。我真有一种说不出的感觉,就好像青春期暗恋了很久的一个女孩子在消失了许久后突...
2008-06-29 19:36:56 491
Flex中实现跨域web service调用时crossdomain.xml的issue
玩过Flex或者Flash的同学都知道,如果想要在Flash里面跨域获取数据,就必须在对方server上配置crossdomain.xml。具体来说,比如你的Flash在domain A下面,而你想要访问domain B暴露的web service,那么domain B的server根目录下必须要有一个crossdomain.xml文件来配置说你有这个权限。这个是Flash Player的安全限制...
2008-06-23 10:48:34 186
你知道正则表达式的形式化定义吗?
正则表达式想必大家都用过,确实是很好很强大的东东。但是正则表达式的形式化定义各位知道吗?最近无聊看一本编译方面的书时,里面正好讲到了这个,还是挺有意思的。发出来和大家分享。 首先,正则表达式是一种符号表示法,是为了用有限的描述来详细说明(可能)无限的语言。也就是说正则表达式是针对某个特定语言的,可以说每个正则表达式都定义了一种语言。每个正则表达式代表一个字符集。在正则表达式中,需要定义如下几个概念...
2008-03-05 16:25:54 504
在Leopard上使用NetBeans Ruby IDE
本来像NetBeans这样到东东,应该是装上就可以用到。但是在Leopard上就是有些问题出在gem上面。Leopard上默认的gem目录是系统目录,而NetBeans管理gem的时候需要写权限,于是就会报错了。典型的情况就是安装ruby-debug-ide的时候。为了解决这个问题,我们可以为NetBeans设置自己的GEM_HOME,也就是它把gem安装到哪里。假设你是使用dmg安装的N...
2008-01-17 10:57:41 110
在Leopard上手动安装RMagick
这几天刚刚给自己的小白安装了Leopard,开始迫不及待的把开发环境搬到上面去。Leopard已经自带了完整的ruby-1.8.6和rails-1.2.3,我的项目是用rails-1.2.6的,另外还有一些gem要安装,所以二话不说,马上开始。[code="bash"]# 更新gems,从0.9.4到1.0.1sudo gem update --system# 安装rails-1....
2008-01-17 10:44:01 149
使用ruby生成zip文件
首先安装rubyzip:gem install rubyzip《Ruby Cookbook》里面简要地介绍了如何使用rubyzip读写zip文件,代码如下:[code="ruby"]# 写ziprequire 'rubygems'require 'zip/zipfilesystem'Zip::ZipFile.open('zipfile.zip', Zip::...
2007-10-23 17:28:28 1103 1
关于苹果的老总、苹果的粉丝和苹果的产品
Ok,我知道,这里更应该写技术博客,我在这里说这些无聊的话没什么意思,但是这几天老罗好像心血来潮似的连续发表关于苹果的言论,字里行间都透露着一种让人不舒服的得意心理。那种感觉就好像全世界只有他看清了事实的真相、其它人都是笨蛋一样。虽然老罗一贯是这样的口吻(我没敢说嘴脸,呵呵),但是这次着实让我不爽,因为关于苹果的事情怎么看都是比较专业的话题,老罗虽然自称卖过电脑(好像是在天津吧),但是也不会专业到...
2007-10-21 12:52:33 222
在habtm上使用polymorphic关联
我们知道,在rails中,habtm和polymorphic都是非常好的东东,特别是后者,可以说是rails的ORM中非常强大的功能。《Agile Web Development with Rails》虽然详细讲述了habtm和polymorphic关联,也讲了如何把模型类映射为连接表,但是并没有讲如何把habtm和polymorphic一起使用做一个介绍。这里我就来简单说一下。还是出自真...
2007-10-05 15:19:02 156
尝试在rails中调用MySql的stored procedure,不过最终放弃了。
手头一个项目有这样一个需求,数据库中有一张学生表students,其中每个学生都有自己的生源地(come_from),用户希望能够随机的选择一些学生出来,但是要保证每个生源地的学生都有。我的开发环境是RoR + MySql,简单考虑了一下后,第一个能想到的方法是在rails中生成随机数,然后用offset来得到随机的学生。但是这样做比较麻烦,性能也会很差,因为首先要知道每个生源地下有多少学...
2007-10-03 17:00:27 125
我的第一关rake文件
早就想找个机会写写rake文件,但是接触到的项目都不怎么需要,所以一直也没有去学习一下。这两天一个项目需要把客户给的很多excel文件导入到数据库中(我用的好似MySQL),到网上找了一些工具,感觉都不好,因为客户的excel格式比较乱(特别是日期的格式,竟然是中文数字和阿拉伯数字都有的...),所以就想干脆仔细写一个算了。这是正好想到可以顺便学习一下rake,于是就动手啦。网上关于rak...
2007-09-23 17:10:06 199
修改DataGrid得默认scroll行为
用过Ext的人也许都会注意到,DataGrid的scroll行为只在当前DataGrid中有效。比如,一个带有纵向滚动条的DataGrid,如果我们把鼠标停留在DataGrid上并滚动滚轴,DataGrid中的条目就会随之滚动起来,一直到最后一条为止。这个时候,如果继续滚动,则不会有任何响应。整个网页也不会跟着滚动。在很多情况下,这样做是正确的,其目的是防止整个网页的滚动。因为当在DataGrid...
2007-09-17 15:41:19 529
ferret啊,为你欢喜为你忧。
非常非常奇怪的问题。一开始在mac下面用standard rails bundle + ferret/acts_as_ferret,一切正常。后来想引入rmagick,于是使用rmagick bundle + ferrect/acts_as_ferret,结果报错,server启动不起来。mail list上去问,没人搭理咱。索性换到windows上,顺便开始测试网页的浏览器兼容性。把代码...
2007-08-09 18:05:33 169
在Mac上安装RMagick?别以为有了Locomotive就万事大吉啦~
我或多或少算是一个Mac fan,但是对于这件事,我不得不说自己还是有一些失望的。在Mac上做开发已经有一段时间了,整体感觉就是Mac对developer的支持不是很好。也许Mac的目标主要就是家庭用户,但是作为Mac fan兼,当然是希望它能适合我么developer的口味。这次的问题是在Mac上安装RMagick,网上有很多文章详细说明了如何手动安装,我这里就不重复了,而且手动安装也问...
2007-08-02 09:30:48 132
在controller里面怎么escape html内容?
在view里面可以用h来escape html内容。那在controller里面呢?我的需求是把一些数据用json格式发送到前台,这些数据是用户之前输入的。
2007-07-24 10:24:54 143
ActiveRecord中表关联的一个问题,belongs_to和has_many不是一一对应的情况。
一个挺有意思的问题,想了半天没有解决办法。情景是这样的:系统中有两种category,system_category和user_category,所有属性都一样,只是一个是系统分类,一个是用户自己的分类。比如javaeye就是有这样的机制。用户发文时可以同时选择system_category和user_category。假如数据库的设计是system_category和user_categ...
2007-07-19 18:15:50 202
Rails routes mapping的一个奇怪的问题。顺便讨论一下如何做RESTful的paginate。
大家可以试验一下,在我的开发环境中会出现这个问题,不知道是不是只有我有问题。做法如下:[list][*]随便建立一个Rails工程;[*]随便生成一个scaffold_resource,比如map.resources :articles;[*]在routes.rb中加入如下代码,添加自己的routes mapping:[code="ruby"]map.articles_pa...
2007-07-18 09:33:25 123
[讨论]部署Rails的最佳方案是什么?
从来没真正部署过一个production级别的rails应用,但是9月份很可能要部署一个,所以最近也开始关注Rails的部署问题。这里算是抛砖引玉吧,还请各位有经验的同志热烈讨论,我想很多人也都对这方面很感兴趣。Robbin之前的帖子里面讨论过如何选择Rails的部署方案,也挺详细的,我估计硬件和操作系统方面大家分歧应该不大,总归是linux,服务器越强劲,内存越大越好。所以问题就到了软件...
2007-07-06 13:46:00 149
Rails中使用REST,登录相关的问题,如何获得当前正在处理的url?
如果整个routes是使用传统的mvc方式实现的话,我们可以简单地记录一下当前的controller和action的名字,等到登录成功之后就可以redirect过去。但是如果使用REST,则就不能简单地记录controller和action,例如/articles/1;edit这样的url就比较特别。另外一个问题是,除了要记录url外,还要记录使用什么HTTP Method,是GET, P...
2007-07-03 16:39:07 138
Eclipse 3.3携Europa正式发布了
刚刚逛了一圈论坛,竟然没人提到这么个消息,难道Eclipse真的没落啦?Europa的事儿咱就不说了,之前有一位仁兄已经讲得很清楚了。今天上午到Eclipse主页上溜达了一下,发现3.3在昨天发布了,应该算是一个不小的新闻哦。记得前一阵子总有人说Eclipse发布的速度变慢了,跟不上NetBeans,看来这次发布算是小小地安抚了一下Eclipse的粉丝们啊。主页上明显的一个变动是提...
2007-07-01 12:57:18 242
在apple上使用ruby的郁闷事儿
安装了那个Locomotive,还有iTerm,还有Textmate,以为就万事大吉了。然后运行gem安装ferret,没想到竟然报错说无法make。到命令行下试了一下,果然不能使用gcc啊,make啊这样的东东。Mac不是Unix-based灭?于是去google了一下,发现要装个xcode才能搞定这些东东,敢情apple把这些东西都给踢掉了啊。在去看看xcode,倒还是免费的,不过安装...
2007-06-23 19:49:17 126
在ubuntu下安装ruby需要注意的事情
这里说的是通过apt-get安装ruby,自己编译的情况就免了。首先,在安装ruby本身时一定要把ruby和ruby-dev全安装了。现在的版本是1.8,因此应该执行如下命令[code]sudo apt-get install ruby1.8 ruby1.8-dev rubygems[/code]这是因为许多plugin或者gems都要依赖dev下面的东东,比如ferret...
2007-06-23 19:41:19 195
基于model动态地ComboBox为生成options
在使用RoR创建form时,很多时候需要基于model之间的关系创建ComboBox。RoR提供了很多方便的helper方法帮助我们完成一个 form的创建。例如,如果想要为article创建一个form,并且要为article选择category时,可以使用如下方法:[code="ruby"] url, :html => { :method => method }) do |f| %>...
2007-06-17 16:17:59 151
Linux下面的ftp客户端还是lftp好啊~
本来一直都是用Windows的,虽然早就想全面转移到Linux上面来,但是一直比较懒,而且对Linux也不熟,所以一直都没有真正实现。昨天中了一个比较恶心的病毒,忙于杀毒之余,一气之下就决定全面转到Linux上来了。再加上另外一台是apple的本本,看来真是快要告别Windows了,哈哈。花了好长时间才把文件都备份到了ftp服务器上(服务器是Windows的desktop),然后安装Ubunt...
2007-06-15 12:55:12 346
关于REST的一点想法,欢迎大家讨论。
这阵子正打算用Rails做个东东,所以开始系统地学习起了Rails。巧合的是,大概两周前,dlee邀请我加入Fielding博士关于REST的那篇论文的翻译团队。可以说Rails和REST这两个最热门的词汇几乎同时挤入了我的生活。随着我对Rails的学习和对[Fielding]的翻译,我也开始对REST产生了一些不太成熟的想法,写在这里与大家分享,同时也起到抛砖引玉的作用,欢迎大家讨论。先复习...
2007-04-11 22:07:17 224
Meta-Programming in Ruby: 动态生成class,并添加attribute和method。
Ruby的动态语言特性和强大的meta-programming模型一直是让我这种Java程序员唏嘘感慨。看着RoR可以实现那么多魔术般的事情而不费吹灰之力,我着实想好好学学Ruby的meta-programming。可惜这方面资料好像比较少(至少我是没有找到什么好的,JavaEye这里讨论的也不多),我只能硬着头皮自己慢慢摸索。这篇文章只能算是一个最简单的入门,给大家展示一下Ruby中的meta-...
2006-12-17 16:10:05 204
如何使用Eclipse中对Web Browser的支持
代码很简单:try { IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport(); IWebBrowser browser = support.createBrowser("Some_ID"); browser.openURL(new URL(("http://www.ecl...
2006-11-27 04:32:00 1049
小试org.eclipse.jface.dialogs.TitleAreaDialog
Platform: Eclipse 3.2Dialog是SWT和JFace的一个重要的组成部分,我们在开发Plug-in或RCP的时候也经常会用到它们。这篇随笔不会介绍 SWT的Dialog,因为我想很多人都已经非常熟悉它了。在这里,我要讨论的是JFace的Dialog,或者更进一步说是JFace的 TitleAreaDialog。什么是TitleAreaDialog呢?想想我们常常用到的New ...
2006-10-05 21:37:00 151
如何在SWT中使鼠标的状态变成忙碌
Platform: Eclipse 3.2Eclipse Plug-in开发离不开与用户的交互,我们往往把用户的鼠标点击之类动作所调用的代码包装成一个Action。例如,如果用户点击了一个Menu Item,那么绑定到这个Menu Item上的Action就会运行,这一切都很直观。但是有的时候,用户触发的操作可能需要很长时间才能完成,比如连接数据库,在这种情况下,就必须把鼠标的状态改为忙碌,这样就...
2006-10-05 15:55:00 155
如何在Eclipse PDE的Error Log View中显示自己的Log
Platform: Eclipse 3.2开发任何软件都不得不处理Exception和Log,Eclipse Plug-in也是如此。不过幸运的是,Eclipse PDE提供了记录及显示Exception和Log的机制:Error Log View。作为Eclipse SDK的一部分,PDE的普及率很高,所以除非你是要做RCP,不然的话用Error Log View处理Exception和Log应...
2006-10-05 15:36:00 94
小试org.eclipse.jface.dialogs.TitleAreaDialog
Platform: Eclipse 3.2Dialog是SWT和JFace的一个重要的组成部分,我们在开发Plug-in或RCP的时候也经常会用到它们。这篇随笔不会介绍 SWT的Dialog,因为我想很多人都已经非常熟悉它了。在这里,我要讨论的是JFace的Dialog,或者更进一步说是JFace的 TitleAreaDialog。什么是TitleAreaDialog呢?想想我们常常用到的New ...
2006-10-05 13:37:00 236
如何在SWT中使鼠标的状态变成忙碌
Platform: Eclipse 3.2Eclipse Plug-in开发离不开与用户的交互,我们往往把用户的鼠标点击之类动作所调用的代码包装成一个Action。例如,如果用户点击了一个Menu Item,那么绑定到这个Menu Item上的Action就会运行,这一切都很直观。但是有的时候,用户触发的操作可能需要很长时间才能完成,比如连接数据库,在这种情况下,就必须把鼠标的状态改为忙碌,这样就...
2006-10-05 07:55:00 165
如何在Eclipse PDE的Error Log View中显示自己的Log
Platform: Eclipse 3.2开发任何软件都不得不处理Exception和Log,Eclipse Plug-in也是如此。不过幸运的是,Eclipse PDE提供了记录及显示Exception和Log的机制:Error Log View。作为Eclipse SDK的一部分,PDE的普及率很高,所以除非你是要做RCP,不然的话用Error Log View处理Exception和Log应...
2006-10-05 07:36:00 238
如何在自己编写的Plugin中使用第三方jar
开发Eclipse Plugin的过程中,难免要用到其它的Framework或Lib,如果自己不做配置,那么Eclipse不会自动把这些jar文件作为Plugin运行的classpath,因此Plugin运行的时候就会出错。怎么办呢?假设我们使用的第三方jar文件都放置在Plugin根目录的lib目录下。那么首先要做的是把这些jar文件包含到Plugin的build中,打开plugin.xml文件...
2006-09-08 17:44:00 140
如何在程序中设置Hibernate Configuration的Property
我们在使用Hibernate时一般都会编写一个hibernate.cfg.xml文件,并在其中配置一些连接数据库的属性。这在很多情况下都是非常合适的,但是如果需要动态获得数据库链接信息,这种方法就不行了。假设我们要根据用户的输入信息连接响应的数据库,该怎么办呢?我们都知道,Hibernate的SessionFactory是通过Configuration获得的,hibernate.cfg.xml文件...
2006-09-08 11:36:00 146
如何在自己编写的Plugin中使用第三方jar
开发Eclipse Plugin的过程中,难免要用到其它的Framework或Lib,如果自己不做配置,那么Eclipse不会自动把这些jar文件作为Plugin运行的classpath,因此Plugin运行的时候就会出错。怎么办呢?假设我们使用的第三方jar文件都放置在Plugin根目录的lib目录下。那么首先要做的是把这些jar文件包含到Plugin的build中,打开plugin.xml文件...
2006-09-08 09:44:00 218
如何在程序中设置Hibernate Configuration的Property
我们在使用Hibernate时一般都会编写一个hibernate.cfg.xml文件,并在其中配置一些连接数据库的属性。这在很多情况下都是非常合适的,但是如果需要动态获得数据库链接信息,这种方法就不行了。假设我们要根据用户的输入信息连接响应的数据库,该怎么办呢?我们都知道,Hibernate的SessionFactory是通过Configuration获得的,hibernate.cfg.xml文件...
2006-09-08 03:36:00 185
在线IM工具,我们能够信任你吗?
随着Web 2.0浪潮的兴起,很多传统的C/S结构的应用开始飞快地出现在互联网上。编写文档有Writely,看RSS有抓虾。这不,一个叫meebo的在线IM工具又映入了大家的眼帘,并赢得一片喝彩。meebo现在支持四种IM工具的在线聊天:AIM或ICQ、Yahoo!Messenger、Jabber或GTalk、MSN。乍一看这已经是很不错的功能了。如果你不在使用自己的电脑,而当前的电脑上又没有这些...
2006-08-31 17:43:00 182
在线IM工具,我们能够信任你吗?
随着Web 2.0浪潮的兴起,很多传统的C/S结构的应用开始飞快地出现在互联网上。编写文档有Writely,看RSS有抓虾。这不,一个叫meebo的在线IM工具又映入了大家的眼帘,并赢得一片喝彩。meebo现在支持四种IM工具的在线聊天:AIM或ICQ、Yahoo!Messenger、Jabber或GTalk、MSN。乍一看这已经是很不错的功能了。如果你不在使用自己的电脑,而当前的电脑上又没有这些...
2006-08-31 09:43:00 143
Comet: Low Latency Data for the Browser
翻译自Alex Russell的Blog文章:Comet: Low Latency Datafor the Browser历史深处的一种古老的web technology正在慢慢复兴。已经多年未被触及的浏览器特性又一次登上了web开发的舞台,为UI带来了更好的响应。Server正在学习如何应付一种新的行事方法。并且,我说的不是Ajax。像Jot Live和Meebo这样的新兴服务使用了一种新...
2006-08-24 11:46:00 80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人