比如要算360天之后的日期: require ‘rubygems’ require ‘date’ require ‘active_support’ puts Date.today.advance(:days => 360).to_s .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, “Courier New”, courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode [...]
昨天配置好了用GIT以及Capistrano在Bluehost上发布Rails应用的自动发布,感觉还不错,一点点记录如下: 1. Bluehost上的Rails是用的fcgi,不是Mongrel。所以要在.htaccess里面加上fcgi的handler: AddHandler fcgid-script .fcgi 以及 RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] 2. 正如这篇文章里所说,如果在Windows下开发,别忘了改首行: dispatch.fcgi和dispatch.rb(在publice目录下)的首行。 因为BlueHost下是虚拟的unix系统,所以要改成#!/usr/bin/ruby (如果在windows下开发的程序,用户常会忘了把首行改成unix下ruby的路径) 3. 如何在Bluehost上安装GIT?答案在这里。 注意的是因为Bluehost的防火墙的原因,GitHub的URL无法访问,比如 git://github.com/bsag/tracks.git 就是无法访问的,不过可以把git改成http就ok了。 http://github.com/bsag/tracks.git 4. Capistrano基本上按照官网的文档一步一步走就OK了。要注意的是: 如果你在windows下开发而git又没有放到path里面的话,走到 cap deploy:update 这一部可能出现错误。在GIT Bash里面进行就不会出错了。另外,在deploy.rb里面要多写如下一些: set :branch, "master" #因为GITHub的原因 namespace :deploy do desc "This is here to overide the original :restart" task :restart, :roles => :app do # [...]
从快享转载: 查看某文件夹下文件的个数 ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某文件夹下文件的个数,包括子文件夹里的。 ls -lR|grep "^-"|wc -l 查看某文件夹下文件夹的个数,包括子文件夹里的。 ls -lR|grep "^d"|wc -l 说明: ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等) grep "^-" 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d wc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于 一行信息对应一个文件,所以也就是文件的个数。
最近发现一个开源的GTD Web应用,名字叫Tracks,用Ruby on Rails开发的。很感兴趣,于是想掺和一下。发现从1.7开始,这个项目的版本控制工具从SVN转到了Git,心想有点意思。于是查了一下相关的资料,算是有点了解了。 自从Rails从SVN转向了Git之后,Git仿佛成了Rails社区的一个风尚。Git是所谓的分布式版本控制系统,每一个人的本地都维护了一个完整的repository,以及分支。这样就可以在本地自由地建立分支,提交,而不用担心影响到其他人的工作。等本地的工作完成的差不多了,再提交到统一的主干中。更多原理见Why Git is Better than X 不过这东西嘛,见仁见智咯。如果集中开发,模块划分的好,CVS一样用起来没什么问题。 另外值得一提的就是GitHub了。InfoQ上有一篇文章介绍GitHub。使用流程基本是这样: 1. 看到一个好项目,fork出来。比如我看到bsag / tracks,就fork一份出来,相当于在我名下建立一个副本,即cowoo/tracks。 2. 安装了Git 的Windows版本之后,就可以把项目Clone到本地。 git clone git@github.com:cowoo/tracks.git 3. 进行一些修改,可以在本地Stage,Commit,建立分支等。 4. 提交到我在Github上的Clone。 git push master origin 5. 如果我觉得某个feature开发的不错,可以要求bsag把我的这个feature合并到主分支里面去。点那个”pull request”就可以了。不过俺还没有尝试过。 初次使用笔记。
订了不少Blog的RSS,但是怎么消费是一个问题。在Google Reader里加一个星标?感觉还是不够,那样只是有一个模糊的印象。那就写下来吧,边写边思考,也是不错的形式。 昨天ReadWriteWeb上有一个关于Ping.fm的报道,没仔细看。今天看到台湾的Mr6也在Blog上写了,发现不错。越来越多的SN确实是个让人头疼的问题,Ping.fm也算解决了问题,自然有人愿意使用。这也是中文社区的一个机会。 Zapproved这个网站帮助人们把结构化的问卷送到人们的信箱,算是Email的一个创新。最近各家在Email上的动作不小。Gmail不停的往Labs里面加东西,Yahoo准备开放Email插件。再加上一年之前看到的Xobni。大家以为没什么可做的Email领域其实还有很多可以挖掘的地方啊。比如腾讯最近的明信片服务就很可爱。 最近还看到一堆主机或者自称云计算的服务提供商,准备整理整理放到Cloud那个页面中去。
本来以前就部署过,不过每次相隔时间都比较长,于是每次都Google一遍,实在太浪费时间,还是自己记下来比较好。 主要参考的是Radiant这个用rails写的内容管理系统的wiki文章,讲如何在Bluehost上部署Radiant。我觉得关键有这么几点: 1. 修改.htaccess文件 把Handler那几行改成: # General Apache options AddHandler fcgid-script .fcgi # AddHandler cgi-script .cgi # Options +FollowSymLinks +ExecFCGI 2.修改dispatch.fcgi 加上这么几句: ENV['RAILS_ENV'] = ‘production’ ENV["GEM_HOME"]= "/home/[USER_NAME]/ruby/gems" ENV["GEM_PATH"]= "/home/[USER_NAME]/ruby/gems:/usr/lib/ruby/gems/1.8" 不过我觉得后面两句应该用处不大,是跟他前面的相呼应的,如果你用到一些自己安装的gems,就应该follow这篇文章。 3. 修改文件夹权限 我是把public,tmp和log三个文件夹的权限都变成了755。cd到rails应用根目录下,比如说rails/yourapp: chmod -R 755 public chmod -R 755 tmp chmod -R 755 log 4. 建立符号链接 把rails/yourapp/public链接到public_html里面的一个子目录: ln -s ~/radiant_app_folder_name/public ~/public_html/website_name 但是我这么弄了之后还是不行,后来找到Rails Google Group里面的讨论也有点用。正好我是要把应用作为账户的根目录使用,于是 [...]