`
文章列表
Railscasts 上面的视频已经出到117集了,很早就想把它们下载下来,但是一直苦于网速太慢。现在网络有了点儿改进,趁机写个ruby脚本把所有视频全部搞定。基本想法就是解析它的RSS,找到视频的地址,然后下载,简单得很。   require 'net/http' require 'rss/2.0' content = '' open('http://feeds.feedburner.com/railscasts') { |s| content = s.read } rss = RSS::Parser.parse(content, false) casts = rss.channel.it ...
唐朝乐队出新专辑了。看到这条新闻的时候心里不禁波动了一下,10年过去了,又听到了这个熟悉的名字---唐朝。想想看第一次听唐朝的歌还是在初中的时候,揣着好长时间才节省下来的10块钱,兴冲冲的去买正版的《梦回唐朝》 ...
玩过Flex或者Flash的同学都知道,如果想要在Flash里面跨域获取数据,就必须在对方server上配置crossdomain.xml。具体来说,比如你的Flash在domain A下面,而你想要访问domain B暴露的web service,那么domain B的server根目录下必须要有一个crossdo ...
正则表达式想必大家都用过,确实是很好很强大的东东。但是正则表达式的形式化定义各位知道吗?最近无聊看一本编译方面的书时,里面正好讲到了这个,还是挺有意思的。发出来和大家分享。 首先,正则表达式是一种符号表示法,是为了用有限的描述来详细说明(可能)无限的语言。也就是说正则表达式是针对某个特定语言的,可以说每个正则表达式都定义了一种语言。每个正则表达式代表一个字符集。在正则表达式中,需要定义如下几个概念:符号:对语言字母表中的每个符号a,正则表达式a表示仅包含字符串a的语言。或:对于给定的两个正则表达式M和N,可以利用或操作(|)连接为一个新的正则表达式:M|N。若一个字符串属于语言M或语言N,那么此 ...
本来像NetBeans这样到东东,应该是装上就可以用到。但是在Leopard上就是有些问题出在gem上面。Leopard上默认的gem目录是系统目录,而NetBeans管理gem的时候需要写权限,于是就会报错了。典型的情况就是安装ruby-debug-ide的时候。 为了解决这个问题,我们可以为NetBeans设置自己的GEM_HOME,也就是它把gem安装到哪里。假设你是使用dmg安装的NetBeans,那么应该装在/Applications/NetBeans目录下,这样可以打开下面到文件。 sudo vim /Applications/NetBeans/NetBeans\ 6.0.ap ...
这几天刚刚给自己的小白安装了Leopard,开始迫不及待的把开发环境搬到上面去。Leopard已经自带了完整的ruby-1.8.6和rails-1.2.3,我的项目是用rails-1.2.6的,另外还有一些gem要安装,所以二话不说,马上开始。 # 更新gems,从0.9.4到1.0.1 sudo gem update --system # 安装rails-1.2.6 sudo gem install rails -v 1.2.6 # 安装rails-2.0.2 sudo gem install rails # 安装其他package sudo gem install ferr ...
首先安装rubyzip: gem install rubyzip 《Ruby Cookbook》里面简要地介绍了如何使用rubyzip读写zip文件,代码如下: # 写zip require 'rubygems' require 'zip/zipfilesystem' Zip::ZipFile.open('zipfile.zip', Zip::ZipFile::CREATE) do |zip| zip.file.open('file1', 'w') { |f| f << 'This is file 1.' } zip.dir.mkdir('sub_dir ...
Ok,我知道,这里更应该写技术博客,我在这里说这些无聊的话没什么意思,但是这几天老罗好像心血来潮似的连续发表关于苹果的言论,字里行间都透露着一种让人不舒服的得意心理。那种感觉就好像全世界只有他看清了事实的真相、其它人都是笨蛋一样。虽然老罗一贯是这样的口吻(我没敢说嘴脸,呵呵),但是这次着实让我不爽,因为关于苹果的事情怎么看都是比较专业的话题,老罗虽然自称卖过电脑(好像是在天津吧),但是也不会专业到精辟点评苹果的程度。 老罗已经写下了苹果的老总、苹果的粉丝,还要打算写苹果的产品。趁他还没写出来,我在这里说说自己的想法,权当自娱自乐。我知道,我知道,这里更应该写技术博客,但是我也比较为难,因为已经 ...
我们知道,在rails中,habtm和polymorphic都是非常好的东东,特别是后者,可以说是rails的ORM中非常强大的功能。《Agile Web Development with Rails》虽然详细讲述了habtm和polymorphic关联,也讲了如何把模型类映射为连接表,但是并没有讲如 ...
手头一个项目有这样一个需求,数据库中有一张学生表students,其中每个学生都有自己的生源地(come_from),用户希望能够随机的选择一些学生出来,但是要保证每个生源地的学生都有。 我的开发环境是RoR + MySql,简单考虑了一下后,第一个能想到的方法是在rails中生成随机数,然后用offset来得到随机的学生。但是这样做比较麻烦,性能也会很差,因为首先要知道每个生源地下有多少学生,不然的话,生成的随机数可能会过大。 排除了这个选择,于是考虑是否可以在sql级别实现。去查了查MySql的manual,发现有个然数RAND()可以用来生成0到1之间的随机浮点数,感觉可以用这个来做, ...
早就想找个机会写写rake文件,但是接触到的项目都不怎么需要,所以一直也没有去学习一下。这两天一个项目需要把客户给的很多excel文件导入到数据库中(我用的好似MySQL),到网上找了一些工具,感觉都不好,因为客户的excel格式比较乱(特别是日期的格式,竟然是中文数字和阿拉伯数字都有的...),所以就想干脆仔细写一个算了。这是正好想到可以顺便学习一下rake,于是就动手啦。 网上关于rake的文章有不少。如果想快速上手,那么Rails Envy的Ruby on Rails Rake Tutorial是绝佳的入门教程;如果想从更高的角度理解rake,那么当然要看Martin Fowler大大的 ...
用过Ext的人也许都会注意到,DataGrid的scroll行为只在当前DataGrid中有效。比如,一个带有纵向滚动条的DataGrid,如果我们把鼠标停留在DataGrid上并滚动滚轴,DataGrid中的条目就会随之滚动起来,一直到最后一条为止。这个时候,如果继续滚动,则不会有任何响应。整个网页也不会跟着滚动。在很多情况下,这样做是正确的,其目的是防止整个网页的滚动。因为当在DataGrid中滚动到最后一行时,用户很可能不希望整个网页随着鼠标滚轴滚动。 但是在有些情况下这一行为并不适用。例如在我的一个项目中,页面上并不会指定DataGrid的高度,而是让数据自动把整个DataGrid撑起 ...
非常非常奇怪的问题。一开始在mac下面用standard rails bundle + ferret/acts_as_ferret,一切正常。后来想引入rmagick,于是使用rmagick bundle + ferrect/acts_as_ferret,结果报错,server启动不起来。mail list上去问,没人搭理咱。 索性换到windows上,顺便开始测试网页的浏览器兼容性。把代码commit到svn,然后找台新装的windows xp sp2,安装ruby、rails、ferret、rmagick,然后checkout代码。启动server,报错说no such file to l ...
我或多或少算是一个Mac fan,但是对于这件事,我不得不说自己还是有一些失望的。在Mac上做开发已经有一段时间了,整体感觉就是Mac对developer的支持不是很好。也许Mac的目标主要就是家庭用户,但是作为Mac fan兼,当然是希望它 ...
在view里面可以用h来escape html内容。那在controller里面呢?我的需求是把一些数据用json格式发送到前台,这些数据是用户之前输入的。
Global site tag (gtag.js) - Google Analytics