`
文章列表
访问地址:~!@#$%^&*(   期待大家反馈意见,我的目标是易用,高效。   --- 目前不能用  
在Rails应用,难免有耗时的操作(如站内信群发,邮件群发),如果直接放在控制器的action方法让http请求去调用处理的话,前台浏览器会一直loading直到任务完成,有可能不小心就关掉了浏览器,导致结果不可知。   而tobi的Delayed Job这个rails插件则轻轻几个类,若干行代码就解决了这个问题。   它将耗时任务先保存到数据库中名为delayed_jobs这张表中,然后我们rake jobs:work & 来启动一个后台进程去扫描未完成的任务而去执行它们。   很不错的插件,项目地址:http://github.com/tobi/delayed_job ...
由于最近的一个报表统计项目要部署在linux服务器上,而80端口已经被业务系统占用,我就将报表系统部署在4000商品上,来代理 后端的4001和4002的两个mongrel进程,我的配置如下:   写道 user root; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_ti ...
讲得很不错,实践性很强。 以下的内容还没有翻译好,我会迭代地把它翻译好。     Asynchronous - Use asynchronous communication when possible. Synchronous calls tie the availability of the two services together. If one has a failure or is slow the other one is affected. Swim Lanes – Create fault isolated “swim lanes” of hardware b ...
2009-8-14下午JavaEye登录更新了,加了图片验证码,以下代码搞不定了   我得改用JavaEye开放的api了,改天研究一下。 # require "火星魔法 Balabala..." require 'rubygems' require 'mechanize' 100000000.times do agent = WWW::Mechanize.new agent.max_history = 1 agent.user_agent_alias = 'Windows IE 7' page = agent.get("h ...
css/UnigramCorpusReader.cpp: In member function 'virtual int css::UnigramCorpusReader::open(const char*, const char*)': css/UnigramCorpusReader.cpp:89: error: 'strncmp' was not declared in this scope make[2]: *** [UnigramCorpusReader.lo] 错误 1 make[2]:正在离开目录 `/home/qichunren/download/mmseg-0.7.3/src' ...
在我最近的工作中,由于要做数据统计,与时间区间打交道非常多,如统计这个月的销售量之类的。 Message.find(:all, :conditions => {:created_at => Time.now.beginning_of_month..Time.end_of_month}) 对于爱美的程序员来说,这看起来不养眼,也不符合DRY精神。写成这种形式感觉 怎么样呢: Message.in(:this_month) # 在一个named_scope中 来看看是如何做到这么DSLful的吧! 在config/initializer目录中创建timeranges.rb文件,如下: ...
原文:http://railstips.org/2009/5/11/class-and-instance-methods-in-ruby ----------------------------------------------------- 类方法在从一个类直接调用的,而实例方法是从一个类的实例来调用 的。这儿给一个简短的例子来说说具体一些情况。 class Foo ...
Rails官方博客写道他们在UserVoice上建立了一个讨论Rails功能的论坛版块http://rails.uservoice.com/pages/10012-rails,开发者们对Rails3提出了很多重要的特性(Feature)。有的功能已经启动或者完成了,有的还有计划当中。 看看大家最快心的Rails中的功能特性和改进的地方吧,根据UserVoice上的数据,目前开发者们最为关注的特性改进的前面排名如下。这些改进很让我们期待啊。 排在第一的是  提高性能,这个计划已经启动了(Started)。大家在http://github.com/rails/rails/tree/3-0-uns ...
如果我们的Rails应用里能够全部Restful,那很cool,但是现实不是这样。如 网站中的“关于我们”, “联系我们”, “帮助”等静态的controller/action 对于这样的静态资源,(":controller/:action"这种老形式的路由我们会删除掉)我们一般是在routes.rb中这样配置的: map.about_index 'about', :controller => 'about', :action => 'index' map.about_privacy 'about/privacy', :controller => ...
在2009年的Railsconf大会上,Hongli Lai和Ninh Bui of Phusion(开发Passenger的家伙)为了展示Ruby语言的强大,能运行3D游戏,他们构建了一个Wolfenstein游戏的山寨版,用的是Gosu游戏开发库。 Zed Shaw 在游戏中扮演BOSS   体验方法: 项目地址:http://github.com/FooBarWidget/rubystein/tree/master Git拖下来:git clone git://github.com/FooBarWidget/rubystein.git (没有Git也可以直接在项目主页中下载) 在运 ...
这个游戏是由ryanb(就是制作railscasts的牛牛)编写的。 项目主页:http://github.com/ryanb/ruby-warrior/tree/master git拖下来: git clone git://github.com/ryanb/ruby-warrior.git 也可以直接打开项目主页,点击下载按钮下载解压即可. 这个游戏以一种有趣交互的方式来教你使用Ruby语言和人工智能。 在游戏中你扮演一个勇士去攀登高塔得到顶层的珍贵的红宝石。 在塔中每一层也就是每一关,你需要编写一个Ruby脚本来指导主角如何到达楼梯处然后进入下一关。 这是Ruby勇士,play ...
有时候,使用数据库中自带的“auto increment”可能不能满足需求,这个时候如果是真的需要一个唯一的可以跨数据库应用的主键时,我们得使用UUID(Universally Unique IDentifier)来做这事。 由UUID生成的主键是唯一的,如12f186e6-687e-11ad-843e-001b632783f1这个随机字符串。 创建表(Model) create_table :posts, :id => false do |t| t.string :uuid, :limit => 36, :primary => true end Mode ...
我见过很多这样的情况 A君写个程序,然后报错了,出不了想要的结果,向B君求助, A: “我的程序起不来了” B 一下子当然不知道A君说的是什么 情况,然后就问“报什么错?提示信息是什么?” A就说是什么 是什么。 然后B又进一步问一些情况。 A: *** B: *** 直到问题解决。 以上这种情况我经常遇到,很郁闷,在这个过程中,一般B说的话(打的字)比A多很多。 搞得A像个老大爷一样。 对于A这样的人,感觉他很是缺少交流过程中的很重要的一点“换位思考”,就是当他在问这个问题的时候,他应该站在对方的角度上想想对方B能听得懂他在讲什么指什么吗。 所以当我们遇到程序调试时,不要一开口就是程 ...
应用场景:一个组(Group)有多张图片(GroupPicture),图片上传处理我用的是paperclip插件。我在上传和删除图片时,顺便在Group中更新一下Group的空间使用情况,我使用Group的after_save和before_destroy。 上代码: # RAILS_GEM_VERSION = '2.2.2' class GroupPicture < ActiveRecord::Base belongs_to :group has_attached_file :picture, :styles => {:thumb => " ...
Global site tag (gtag.js) - Google Analytics