之前一直在蹭着 Weston 的虚拟主机,这次到期了,干脆就换一个 VPS 了。
只是放一个博客,考虑价格,选了 Digital Ocean 这家,5刀一个月,价格还不错。花了点时间折腾了一下软件和 WordPress,就是访问速度有点慢……
之前一直在蹭着 Weston 的虚拟主机,这次到期了,干脆就换一个 VPS 了。
只是放一个博客,考虑价格,选了 Digital Ocean 这家,5刀一个月,价格还不错。花了点时间折腾了一下软件和 WordPress,就是访问速度有点慢……
博客两年没收拾了,自己也很久没收拾了。需要改变一下,所以,我回来了。
最近传闻 Google 即将退出自己的 SNS 平台,以和 Facebook 抗衡。撇开传言的真假,来看看 Google 目前有什么
现在把这些互相用线连起来,然后一起方到 http://google.com/profile 页面里,你能看到什么?LinkedIn ?应该不止。再用 OpenSocial 胶一下,Orkut 可以靠边站了
P.S. 好久没写博客,懒,以后尽量更新
前几天在看 screencasts,发现一好插件:Hirb 。这是个扩展命令行的插件,可以以更加易读的形式展现方法返回的内容(比如以 mysql 输出的形式展现 ActiveRecord 实例)
|
1 |
gem install cldwalker-hirb --source http://gems.github.com/ |
|
1 2 3 |
# Append the following lines into ~/.irbrc require 'rubygems' require 'hirb' Hirb::View.enable |

睡觉之前,习惯性的打开 google reader 看看国外有没有最新的 feed。空白的列表,唯有推荐中小字一行:里克的自习室,关注Ruby和Rails学习与开发 。
发现里克。
发现了一位创业者,一个普通的程序员,一个与生活做斗争的坚强的父亲。我无法描绘出心里的感受,所能做的,只是默默的记下这些,在心底祝福。
里克,一切都会好的!
清明时节。
雨。
纷纷路上行人,
欲断魂。
借问酒家何处?
有牧童,
遥指杏花村。
在 PC 上安装 iDeneb 1.4 – Leopard 10.5.6,显卡 9600GT 512MB,调整分辨率、刷新率都会导致蓝屏,其原因在于 leopard 默认输出至主输出端口(出现这个问题的显卡都有两个输出端口),而蓝屏实际上就是第二个显示屏的内容。
解决办法:把显示器插在主输出端口上,一般靠近金手指的为主输出。
更新了 safari 4 以后 microsoft messenger:mac 出现一个奇怪的问题,每次发送一条消息以后,输入框都会失去焦点,就是说没办法连续输入第二条消息,只能tab一下或者是点击一下。很 suck 的 bug!
在 apple 和 microsft mac 论坛都查了一下,都是更新 safari 4 以后引起的,还不确定是因为 webkit 的关系,还是 security update 的关系。回到 safari 3.2 可以解决问题,但是,谁舍得?作为一个优秀的浏览器,即使是 beta 版本也给所有 mac 用户带来震撼的体验,我想没什么人会舍得降级。
那么,就等待 ms 或者 apple 发布 bug fix 补丁吧,相当的无奈
Paperclip 是 Rails 的一个处理 attachment 的插件,相对于以往的 FileColumn 在灵活性和效率上更胜一筹,而且代码也比较好看。这个视频 简单的介绍了 Paperclip 的使用方法。
默认的设置,URL 的占位符中与模型本身相关的只有 id,但是一些情况下,你可能会更希望以其他形式来组织你的附件目录 – 比如以 SKU 来代替数据库记录的 id。这里我们暂不讨论这种做法的好坏,双方面的,好处是目录结构更具有维护性,坏处是万一以后升级数据库,SKU 加个前缀什么的……
Here we go!
使用 paperclip 需要在 model 中调用 has_attached_file 方法,检查文档,有一些简单的使用样例,但是没有我们需要的。通过方法描述我们知道这个方法建立了一个 Paperclip::Attachment 对象,我们继续看文档。对象的方法很少,首先思考:应为我们需要配置的是 attachment 的 url 规则,那么应当是对应整个类而不是单个实力,因此我们只关注 Peperclip::Attachment 的类方法,只有两个。default_options 没有描述,而且展开代码发现并不是我们需要的。
# Paperclip::Attchment.interpolation
A hash of procs that are run during the interpolation of a path or url. A variable of the format :name will be replaced with the return value of the proc named “:name”. Each lambda takes the attachment and the current style as arguments. This hash can be added to with your own proc if necessary.
这正是我们需要的,接下来的扩展就非常方便了:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# app/models/product.rb class Product < ActiveRecord::Base has_attached_file :photo, :style => { :thumb => '64x64>' }, :url => '/images/products/:to_param.:extension' def to_param return self.sku end end # config/initializers/paperclip.rb Paperclip::Attachment.interpolations.merge!( :to_param => lambda { |attachment, style| attachment.instance.to_param } ) |
在这里不直接使用 :sku 作为占位符而使用 :to_param 是为了在其他模型中更加的灵活。
一个多月之前,Rails 2.2.2 发布了,同时,官方紧接着发表声明,称 Rails 2.3 正在开发中。看到这个消息,一边感叹于 Rails Core Team 进度之紧凑,同时开始做一件很有意思的事情:在接下来的事件里,每天都检查一次 http://github.com/rails/rails/tree/master 上的所有 commit。除了常规的性能优化调整、更独立的代码结构之外,的一系列提交揭示了 Rails 的下一步:
可以看出,高扩展性会是 Rails 2.3 的卖点之一,同时,开发团队似乎有想法把 Rails 设计的更加“热插拔”,通过引入 middleware,在将来会有更多的选择;而与 Merb 的整合,则可以借鉴其中优秀的设计思想,在更高的版本中加以实现和整合。
于此同时,Ruby 1.9.1 也在紧密开发之中,不过道路并不平坦,RC1 的发布延迟到 09 年的 1 月份。正如 Robbin 所说,09 年的 Rails 很灿烂