www.appflying.com,iPhone and iPad, top Apps, drop price.
04

使用find_each提升批量发送效率

写在前面:

过去的两年一直从事sns的开发,目前已经正式上限运营了,所以工作也稍微的调整一下。没有了大量的新功能的开发,开始对新版本的Rails进行笔记,并且翻译一些文章。整个十月,如果没有大的变化,会有很多时间更新我的railser.cn了。

认领一下博客:QQREADERFFAB13389FAE8315

在开发的时候会碰到全表检索,逐条发送或根据返回更新状态(当然这里讲的是真的无法用批量操作的时候)。在2。3等后续版本里,提供了find_each方法。默认会逐条操作id升序排列的前1000条。

 
User.find_each do |user|
 
NewsLetter.weekly_deliver(user)
 
end
 

这里还可以增加两个参数,扩大应用的纪录集。1000的确有点小,10000或许有点大。对于邮件发送,更新订阅状态,生成动态,更新动态订阅和好友动态等操作,这个方法的确不错。

 
User.find_each(:batch_size => 5000, :start => 2000) do |user|
 
NewsLetter.weekly_deliver(user)
 
end
 

参考:http://guides.rubyonrails.org/active_record_querying.html

04

Rails 中的try方法

在Rails2.3 等后续版本中可使用try方法,避免 nil 对象调用方法。

比如

user = User.find_by_id(0)

user.name

必然会引起异常了,所以用try方法加以避免

user.try(:name)

01

阅川工作室 Riverwatcher Studio 计划在 (北京) 地区招聘 ROR工程师两名

分类:others | 给我留言 |
程序师技术要求:
招聘具有Ruby on Rails 背景的工程师。
工程师要求 半年到两年左右的RoR项目经验
如果您有以下的背景将会被优先考虑:
PHP经验。
iphone开发经验。
计算机专业本科。
XHTML, JavaScript and AJAX technology。
UNIX such as Linux。
MVC 和其他设计模式。
可以将您的背景资料和简历发送到
charles@riverwatcher.com
另外,我们将会比较看重工程师的智慧,诚实,解决问题的能力,对可能出现问题的估计和提前准备,对于运用新技术的渴望,和良好的工作道德。
了解更多信息也可以发送邮件到: charles@riverwatcher.com
公司网站:www.riverwatcher.com
29

网银钱包不能用了,郁闷

分类:default | 给我留言 |

刚才打电话给网银,确认一下,没想到网银钱包别的银行也不能加钱。测试起来好麻烦阿。

27

打开新表单,并弹出thickbox提示框

在处理支付的时候,需要新打开支付页面完成流程,同时要在原页面提示后续处理链接。

这里用thickbox来显示,但是直接点击按钮打开thickbox后,无法弹出新窗口的,所以在提交按钮上加入了

onclick="tb_show('请选择下一步操作', '<%= process_payment_path(:oid=>@oid) %>', '');"

一个解决办法,有更好请大家指点。

05

hash.invert的用法

对于多数的model的select列表,我都会用model属性+方法的形式,做一个列表,然后在form里显示。

很常见的,比如。

在form里,这样调用

在一些list的地方,也会把这个值作为一个显示

调用的时候:

这里,做笔记的目的是告诉自己,invert命令很简洁,之前,呵呵,我会用map的方法把每一个item都处理一遍,写代码的朋友一定知道,那样是很常见的思路,但是很不ruby。

16

磁疗产品网站开发,php转到rails上,值吗?

客户要定制开发一套在线销售的功能,针对大批量的处理,目前php的站说不行,可是我也在犹豫是不是用Rails开发, Rails开发和维护成本很高,客户有比较xq,很难能把事情做完美。可是除了Rails,php又不是特别熟,尤其还要在dede上再加工。

客户站点:www.tjfkc.com,主要做电子烟,远红外线和磁疗产品的生产加工。目前看是典型的讲php程序过渡到Rails上的案例。

在线订单和实时客户跟进的设计,是Rails重点解决的问题。

先写到这里,另外问一句,电子烟真的能戒烟吗??我很好奇。

http://www.tjfkc.com/html/jingpin/20100407/173.html

25

Rails如何不加载某插件?

在用paperclip的时候,碰到一个问题:

在windows上用的插件和linux或mac上的不同,但是两个又在同一个版本库里,同步到别的环境时,要区别调用,所以,需要针对linux做一个设置。因为插件很多,不可能一一指定,所以google到了这个。。(PS:书上或许有,可是总不用也不记得了)

config.plugins = [ :all ]
config.plugins -= [ "paperclip-win" ]

ok,继续写代码去!

02

在mac上配制Rails开发环境

拿到mac后最重要的就是先把Rails开发环境装好。apple介绍上写的是,mac mini装的是server版本,这样开发环境应该是已经装好的。可我的不是,没有Rails环境,只有ruby 1.8.7。这样也好,体验一下配制开发环境的过程。

1、gem 安装Rails

这个没有问题,默认已经安装了2.2.2,只要再装上需要的几个版本就可以

2、装xcode

问题来了,rake的时候出错,按照ubuntu的经验,估计是缺少编译环境,ubuntu上是装了ruby-dev。

装上xcode,问题解决。(本人绝对新人,欢迎朋友们指教,更多资料大家google吧)

3、装MacPort

这是一个奇怪的感觉,没有apt-get感觉不太习惯,所以装上MacPort,继续装ImageMagick,这个竟然用了一个多小时,具体安装方法参考:http://rmagick.rubyforge.org/install-osx.html

4、重点来了,mysql,apache,php环境

其实本想一个个装一下,但是看到了mamp,就试验一下,没想到很容易就搞定了。。

参考: http://www.mamp.info/en/downloads/index.html

可是,问题没结束,gem install mysql的时候出现了问题,因为mysql是俗话讲的集成,免安装过来的,不是默认配制,所以,需要重新编译一下mamp的mysql部分,才能正常gem安装mysql驱动。

重点在:gem install -v=2.7 mysql -- --with-mysql-config=/Applications/MAMP/Library/bin/mysql_config

注意红色的部分,因为最新的2.8.1会提示“Virtual timer expired”。建议大家不要轻易升级gem,实在要升级,一定本地环境完全模拟一遍,包括各个gem版本,建议用rvm的朋友一定要多留意,rvm很好,一定要早入手熟悉。

具体参考:http://boonedocks.net/mike/archives/175-MAMP-and-the-Ruby-MySQL-Gem.html

进行到这里感觉很幸福,发现分享自己的经验原来可以帮人解决那么多问题,也节省时间。这也是我写这个笔记,分享经历的动力。

5、终于到textmate了

macx.cn的软件栏目里有下载,总算见到textmate的样子了,之前netbeans也只是模仿一点点样子而已。

更多的textmate使用见仁见智吧,不多说,目前很痴迷mac,好玩的东西都要用一下。

写到这,环境基本ok了,开始Rails的工作吧。

01

mac使用普通键盘的几个快捷键

mac的键盘都是专用的,上面有三个功能键,比windows下常见的ctrl和alt,多处一个中国结的键,呵呵,暂且这么叫吧。就是下图上的几个:

mac short cut key

他们对应的,Option就是alt键,Command就是win键,那个经常在网吧被人扣掉的很讨厌的按键。

当然,在我第一次进入mac时还是头晕,没搞明白键盘的多数按键,尤其是在键盘检测之前。所以,还是先看看偏好设置里的每一个项目吧。

键盘的按键在检测完之后,会出现下面的几个应用了。

win+alt:切换输入法

win+tab:切换任务窗口

ctrl+tab:浏览器内标签切换

win+shift+3:屏幕截图,自动保存到桌面

win+shift+4:指定区域截图,跟qq截图一样。很爽,再也不用依赖qq了。

其实我前几天把ctrl和win键的功能给对换了,比较适合正常的习惯,不过刚才换了回来,希望能更接近真实的mac专用键盘的感觉吧。

mac keyboard

另外,mac上的文件重命名很有意思,竟然是选中后,按enter,也就是会车键。这跟windows完全不一样。

好了。写道这里,继续研究下编程的事情。

  • 信息发布
macbook pro



关于 里克
里克:本名李玮,全职SOHO开发,技术咨询
邮件:hi@liwei.me
QQ:5175486
MSN:liwei78@live.com
05年开办公司,从事企业网站开发及维护,后从事社会化搜索引擎研发,08年底至今从事sns开发。近期专注Rails3,工作笔记整理及iphone开发学习。

狂爱Fm系列游戏。喜欢研究电影。关注IT新闻。写原创剧本和使用the movies拍摄短片,剪辑能力极强。美剧迷。狂热的英超曼城球迷。32岁的东北人。