Sep
22
2008
如果你看过了上一篇关于用Amazon EC2作为Ruby on Rails的server的文章的话,这里还有一些补充。
EC2onrails是包含一个AMI和gem的RoR Deployment解决方案。现成的系统和gem让你的deploy非常简单。不过,AMI里面的Apache是你想用的么?各项配置是否正如你所愿?如果不是的话,我们有没有别的选择呢?
答案是肯定的。还有不少方法可以帮助你快速的deploy ROR application:
首先说heroku.com 专门针对ror的一揽子解决方案,你可以在线上创建rails app,在线编辑,部署。因为Heroku本来就是跑在Amazon EC2上的。所以你的Rails app自然也跑在上边了。不过heroku是个商业网站,虽然现在beta阶段我们可以上去随便编辑和部署(简单的,多服务器的肯定不会让你免费来),以后的收费可不好说,另外要使用额外的资源,清提交申请并乖乖奉上银子。建议初学者学习rails的时候玩玩。可以省下setup生产环境的时间。
rightscale.com也是大名鼎鼎(有用的功能也收钱),不过上去试用了一番,实在用不惯,直接放弃研究了。清各位看官自行探索
说说免费的拉,Elastic Rails是一个plugin (plugin 有plugin的好处)。因为有下面的视频短篇,我就不多说了。我最喜欢screencast了。简单明了:
http://s3.amazonaws.com/rc_files/elastic-rails.html
需要指出的是它的网站一直上不去,不知道是不是墙的问题
Capazon 与上面类似:
http://soylentfoo.jnewland.com/articles/2007/04/30/capazon-0-2-released-capistrano-2-0-compatible
Rubber:
http://github.com/wr0ngway/rubber/wikis/faq
具体用哪一种方案请各取所需
2 comments | tags: ec2, rails | posted in 编程开发, Ruby
Aug
6
2008
暂时只停一个中间站就是武清。自然要体验一下,以后不开车了。这个省钱省时间。

新建的武清车站

车厢满员。乘客可以得到一瓶免费矿泉水

最高时速351km/h:

期间250km/h的时速运行了一段时间然后才开始300km/h以上的飙车。全程29~31分钟的路程,从武清到北京南之用了19分钟不到--而且进了北京城就减速了。感觉上是2块钱坐一分钟,还没过瘾呢就到了。sigh~~~~~~
新建的北京南站很新很气派,就是还没建完就急急忙忙通车了。搞的大批换乘的旅客没有地铁没有办法在站内换乘公交。只能一股脑的走到外面的公交站。
北京南站内部:

停靠的双子星:

8 comments | tags: 40D, DSLR, highway, rails, Train | posted in 轮子物语, 活在北京
Aug
5
2008
用那个主机host你的应用?
前文题到了ssh tunnel方式提供自己的server到local开发环境的连接以方便开发和调试。不过这个方法需要服务器上的ssh配置支持client端指定端口。相信大部分人用的虚拟主机都不会支持的--大家都共享一个ip.要是每个人都指定端口难免冲突或者乱套。除非虚拟主机提供商提供(或者加钱购买)独立固定的ip才有可能(只是可能)。如果谁知道那里有便宜的虚拟主机提供商能提供的话,请告诉我一声,不身感激。
要是有一个自己的box那就好多了。自己是root自然干什么都没问题。可惜这样的主机价钱就不一样了。在若干个月之前,我们还有一个好的选择,就是joyent.com的针对facebook app应用的免费计划!只要你有facebook app并且转台处于active and in-use状态就可以通过申请这也个计划得到一个原本价值75$/m的主机。自己有root权限。不限流量,1/32的cpu quota。免费期是一年。相信对大多诗人都够用了--一年以后,要么你的app失败了,要么早就要升级扩展了。这么好的计划人们自然趋之若骛。结果就是后来的条款越来越苛刻--主大欺客嘛。新的条款增加了facebook应用的活动用户数量要求:至少50个活动用户;还有30天未登录就会被取消帐户。这个50个active user成了一个比较高的门槛,要知道active user的计算方法可不是有50个人add了你的app就行的。
难道走投无路了么?也不是。两个方法可以work:
No.1 麻烦一点儿,每次更改都deploy到自己的rails虚拟主机上,不用ssh tunnel。优点是简单,所有的rails主机都可以用。缺点是共享主机性能不佳会拖后腿,而且很快就要面临升级。
No.2 现买joyent的最便宜的主机,快速把自己的app弄好,然后发动自己所有的facebook朋友成为你的active user.(在家靠父母,出门靠朋友),说不准成立个facebook app developer群,大家互相访问好了。然后就可以转免费1年的计划了。这样可以达到keep住免费的主机的最低要求,不过不是长久之计。关键还是要作出好东东来吸引大量的用户。此方法只适合新的facebook app developer度过最开始的没钱时期,app发展起来了马上就会面临扩容问题。当然,joyent提供的扩容方式还是足够你的要求。再说,真的到那时,你已经有一个不过的demo可以用来说服你的投资人了。
no comments | tags: facebook, facebook app, facebooker, free hosting, hosting, rails, rfacebook, ruby on rails, web2.0 | posted in 编程开发, Ruby
Jul
28
2008
上一篇说了不少虚的,现在作点儿实在的:
Step.1 Facebook注册一个App.
作为facebook的用户,在也面最下方的developer连接可以进入开发者的portal. 这需要你加入developer app(这本身也是facebook的一个app).之后你就可以创建facebook app了。你需要指定的最基本的信息包括application name, callback url和canvas page url. 尤其是后者,可以看作是facebook给你分配的地址,不可重复。由于facebook已经有了超过26000个app,好名基本都有人用了,因此想要找一个长度合适有好记又有意义的canvas url药费一下脑筋了。
注册好的app也可以更改属性,并不是一成不变的。过程简单不贴图了。总之你的app有了自己的key和secret. 这两个是facebook识别app的重要依据。
Step.2 本地开发环境安装rfacebook和rfacebook plugin (前提是你有一个work的rails环境哦,别告诉我还没有。翻翻我之前的帖子)
sudo gem install rfacebook
rails yourappname
cd yourappname
script/plugin install svn://rubyforge.org/var/svn/rfacebook/trunk/rfacebook/plugins/rfacebook
Step.3 配置facebook app信息
生成facebook.yml文件:
rake facebook:setup
将facebook.yml按照facebook app的信息进行填写
注意facebook.yml每段都有tunnel:
tunnel:
username: yourLoginName
host: www.yourexternaldomain.com
port: 1234
local_port: 5678
这是用来提供你自己的电脑和虚拟主机服务器之间的链路的。要知道facebook把对你app的访问请求转到我们自己的虚拟主机上,要是开发的时候任何一点变化都要deploy到服务器上才能生效的话,怕是要累死了。所以tunnel提供了使用ssh来使得服务器到本地开发环境的链路。这样可以认为facebook把访问请求转到了local的机器上。
怎么用这个tunnel配置呢?看例子
tunnel:
username: foobar < ----- ssh user id
host: www.mysite.com < ----- server adderss
port: 8888
local_port: 3000
配只好之后就rake之:
rake facebook:tunnel:start
(待续)
1 comment | tags: facebook, facebook app, rails, rfacebook, Ruby, ruby on rails, web2.0 | posted in 编程开发, 电脑网络, Ruby
Jul
28
2008
facebook为app提供了很庞大的用户群体和不错的API支持(至少对ruby on Rails来说是如此),对于想把Web2.0作为创业方向的同学来说,可以节省积累用户的时间。
要学习facebook app的基础知识的同学请参看这里,已经对facebook熟悉的同学请跳过:
[连接丢失,抱歉]
看完之后你至少应该知道Facebook App有三种和facebook耦合的方式(external,Iflame,FBML),这就ok了.
前面说过用Ruby开发facebook app有不错的支持,是因为这个东东: “rfacebook” 什么?这么大名鼎鼎的东西不知道?那你得看看这个
http://rfacebook.rubyforge.org/
不看也行,你知道rfacebook提供了facebook api的ruby接口就行了。新版的rfacebook还连同一个rails plugin一起release,大大方便了使用rails的同学
网上能找到不少有关RoR开发Facebook App的教程。比如一下这些,建议大家都看看:
http://www.liverail.net/articles/2007/6/29/tutorial-on-developing-a-facebook-platform-application-with-ruby-on-rails
http://giantrobots.thoughtbot.com/2007/6/14/fist-in-your-facebook
看过上面的教程相信大家有了更多认识;更相信大家有一个印象,就是这些教程太老了(没办法,谁让rails更新的这么快呢),通过这些教程理解要点还可以,跟着作是没什么希望的。反正我是看到rhtml的后缀就没法再忍受往下看了。网上爬了个遍也没看到有更新的教程。那就自己摸索这来吧。(待续)
1 comment | tags: api, facebook, facebook app, rails, rfacebook, RoR, Ruby, web2.0 | posted in 编程开发, Ruby
Jul
17
2008
Ubuntu 8.04 with 3D desktop.
Ruby 1.8.6 + Rails 2.1
IDE: Gedit customized like textmate (How-to)
3D桌面很方便(尤其是向我这种没钱买n个显示器的人),使用Cube,左边是cheetsheet作参考,右面是firefox随时查资料。cube的翻转比较容易保持思维的连贯性。不像之前只能tab翻来翻去最后发现自己都忘记做到哪里了。
说道cheetsheet,网上不少哦,不过质量到不一定高。而且个人认为cheetsheet这种东西最好是自己整理,查起来才得心应手。
1 comment | tags: rails, RoR, textmate, ubuntu | posted in 编程开发, 电脑网络, Ruby
Apr
17
2008
Pls follow the instructions from http://grigio.org/pimp_my_gedit_was_textmate_linux
Add-on by Deep Blue (Linux newbie may need this if you are using Ubuntu):
How to install liberation fonts on Ubuntu
commands:
——————————————————-
echo “deb http://ppa.launchpad.net/corenominal/ubuntu gutsy main” | sudo tee -a /etc/apt/sources.list
echo “deb-src http://ppa.launchpad.net/corenominal/ubuntu gutsy main” | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install ttf-liberation
——————————————————-
My customized Gedit screen snapshot:

2 comments | tags: gedit, linux, rails, Ruby, textmate, ubuntu | posted in 编程开发, Ruby
Apr
11
2008
x86 架构下Ruby/Rails开发环境比较及安装方法
[Ruby/Rails Development Environment comparison and setup instructions on x86 platform]
Original posted on www.tzhang.com/blog/
Apr 11, 2008
Version 1.0
方案选择:
1. OSX + Textmate
2. Linux + Netbeans
3. Windows + e texteditor + cgywin
优缺点比较:
1. 缺点:
a) OSX在非Mac机器上安装对显卡的要求很高,兼容性并不好。多系统启动支持也不好,需要用户有较高的操作系统知识和排错技能以及很出众的耐心和时间:(
b) OSX安装在非Apple机器上理论上说是非法的;textmate也是收费软件且价格不菲
优点:想使用最优秀的ruby/rails 编辑器textmate的话,只能这么办哦
2. 缺点:
a) NetBeans IDE比不上textmate;只能将就着用
优点:
a) Linux下全部软件都是开源免费的,包括NetBeans
b) Linux下可以方便的安装使用众多Rails相关的开源软件及库
3. 缺点:
a) Windows环境在ruby/rails的世界里绝对算是少数派
b) e texteditor也是收费软件
优点:
a) Windows简单易用,方便没有Linux/UNIX经验的人使用,setup过程简单
b) e texteditor 使用起来十分接近textmate
安装方法:
——————————————————————————————————–
方案一
OSX
N/A yet
——————————————————————————————————-
方案二
Linux + NetBeans + ruby 1.8.6 + rubygem 1.0.1 + rails 2.0.2 + mysql 5
a) 安装Ubuntu Linux
b) 安装Ruby (初学者在Ubuntu下推荐用apt-get安装1.8.5版本)
sudo apt-get install ruby
c) 安装RubyGem
Download RubyGem code
url: http://rubyforge.org/frs/?group_id=126
Untar
tar –xzvf rubygems-1.1.0.tgz
Setup
Sudo ruby setup.rb
验证安装
gem –v
which gem
d) 安装rails
安装
sudo gem update –system
sudo gem install rails –y
验证安装
rails -v
e) 安装Netbeans
下载安装文件:
url: http://dlc.sun.com.edgesuite.net/netbeans/6.0/final/
安装
把下载的Bin文件拖入终端即可
运行
/$installDir/bin/netbeans
f) 安装MySQL
sudo apt-get install mysql-common mysql-clients
g) 安装完成,记得在NetBeans里面更改默认的Ruby解释器
———————————————————————————————-
方案三
Windows + e texteditor + cgywin + console2
a) 安装e texteditor
url: http://www.e-texteditor.com/download/e_beta_setup.exe
安装
注意安装途中可能报错,那是个别文件不符合windows命名规则的原因,不用管,ignore掉然后继续就好了,影响不大。
b) 安装cgywin
初次运行e texteditor就会提示安装cgywin,直接选automatic install就好了,e texteditor会自动下载cgywin
c) 安装console2
下载console2
url: http://sourceforge.net/projects/console/
解压即可
配置console和cgywin
选add tab, 在shell里面输入:
c:\cygwin\bin\bash –login –i
将该tab移到最上方,以后每次启动console2都会自动启动该shell
d) 安装RubyGem
Download RubyGem code
url: http://rubyforge.org/frs/?group_id=126
Untar
tar –xzvf rubygems-1.1.0.tgz
Setup
Sudo ruby setup.rb
验证安装
gem –v
which gem
如果出现错误,使用:
unset RUBYOPT
e) 安装rails
安装
sudo gem update –system
sudo gem install rails –include-dependencies
验证安装
rails -v
f) 测试安装
rails blog
cd blog
e .
你将会看到e texteditor 自动启动并将当前目录的项目打开。
====================================================================
updated 2008-04-16
Install sqlite3 and mongrel:
#before install Mongrel,
apt-get install build-essential #we need it to compile mongrel and Sqlite3
#intall Mongrel
gem install mongrel –include-dependencies
#install Sqlite3
apt-get install sqlite3 swig libsqlite3-ruby libsqlite3-dev
gem install sqlite3-ruby #compile this need libsqlite.h
#install Lighttpd
apt-get install lighttpd
===============================================
UPDATED 2008-05-27:
在Linux下有更好的IDE选择了,Gedit可以加几个插件和主题,就可以比较完美的模仿textmate了,具体请看这个帖子
http://www.tzhang.com/blog/2008/04/17/textmate-like-gedit
no comments | tags: linux, mysql, rails, Ruby, textmate, x86 | posted in Blog, 编程开发, 电脑网络, Ruby