??xml version="1.0" encoding="utf-8" standalone="yes"?>久久中文亚洲字幕,亚洲精品国产日韩,亚洲精品日韩一http://www.aygfsteel.com/uiiang/category/13398.html世h皆有悲哀Q只有你不明?/description>zh-cnFri, 02 Mar 2007 06:36:27 GMTFri, 02 Mar 2007 06:36:27 GMT60Install Ruby on Rails , Lighttpd,Sqlite3 and Mongrel under Ubuntuhttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78089.htmlMon, 30 Oct 2006 09:09:00 GMThttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78089.htmlhttp://www.aygfsteel.com/uiiang/comments/78089.htmlhttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78089.html#Feedback0http://www.aygfsteel.com/uiiang/comments/commentRss/78089.htmlhttp://www.aygfsteel.com/uiiang/services/trackbacks/78089.html

nothing but the script I used:
#install Mysql
apt-get install mysql-server

#install Ruby and relative
apt-get install irb libdbm-ruby1.8 libgdbm-ruby1.8 libmysql-ruby1.8 libmysqlclient14 libopenssl-ruby1.8 libruby1.8-dbg mysql-common ri ri1.8 ruby1.8-dev

#install rubygems
wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
tar zxfv rubygems-0.9.0.tgz
cd rubygems-0.9.0
ruby setup.rb
gem update –system

#install Rails and dependencies
gem install rails –include-dependencies

#before install Mongrel,
apt-get install 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

some useful link
http://mongrel.rubyforge.org/docs/lighttpd.html
http://fo64.com/articles/2005/10/20/rails-on-breezy
http://scottstuff.net/blog/articles/2006/07/23/typo-installer



2006-10-30 17:09 发表评论
]]>
Install Ruby Rails on Ubuntu Dapper Drakehttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78088.htmlMon, 30 Oct 2006 09:07:00 GMThttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78088.htmlhttp://www.aygfsteel.com/uiiang/comments/78088.htmlhttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78088.html#Feedback0http://www.aygfsteel.com/uiiang/comments/commentRss/78088.htmlhttp://www.aygfsteel.com/uiiang/services/trackbacks/78088.html转自:http://www.urbanpuddle.com/articles/2006/06/10/install-ruby-rails-on-ubuntu-dapper-drake

This is a small guide I wrote up to installing Ruby on Rails on Dapper Drake. It covers getting lighttpd running to support both rails and php which will be useful to anyone who likes to use phpmyadmin along with ruby on rails. It's similar to the article I wrote earlier for Arch Linux except modified for Ubuntu's Dapper Drake release.

1. Make sure the universe repository in /etc/apt/sources.list is uncommented:
deb http://us.archive.ubuntu.com/ubuntu dapper universe
deb-src http://us.archive.ubuntu.com/ubuntu dapper universe

2. Make sure you are up to date:
sudo apt-get update
sudo apt-get dist-upgrade

3. Install the ruby base packages:
sudo apt-get install ruby ri rdoc mysql-server libmysql-ruby

4. We need to grab the latest ruby gems from rubyforge. You may need to modify this command if a version after 0.90 is available.
sudo wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
tar -xvzf rubygems-0.9.0.tgz
cd rubygems-0.9.0
sudo ruby setup.rb

5. Now let's install Ruby on Rails!
sudo gem install rails --include-dependencies

6. We have Rails but we still need lighttpd and mysql. I've thrown in PHP too in case you want to manage your database with phpmyadmin like I do. Let's grab all the packages, shall we?
sudo apt-get install lighttpd php5-cgi php4-cgi php5-mysql php5-mysqli php4-mysql libfcgi-dev libfcgi-ruby1.8

7. Modify your /etc/lighttpd/lighttpd.conf file to set up your domains. Be careful because by default Ubuntu maps all the images so that they are taken from /usr/share/images instead of your/rails/root/public/images so if you're wondering why your rails app is working but your images aren't being displayed this is why. You can take out the offending code in your lighttpd.conf or just put your images in /usr/share/images.

8. Time to enable some modules for lighttpd. There are others that you may need but they should be enabled in your lighttpd.conf. Personally, I'm not a fan of enabling modules two different ways but I'm sure this will get cleaned up eventually.
sudo /usr/sbin/lighty-enable-mod fastcgi
sudo /usr/sbin/lighty-enable-mod proxy
sudo /etc/init.d/lighttpd force-reload

9. Let's make sure that there are no errors by stopping lighttpd and then starting it manually:
sudo /etc/init.d/lighttpd stop
sudo lighttpd -f /etc/lighttpd/lighttpd.conf

If you have errors there make sure you take a look and try to address them! The output you see will be your best bet in getting help from somebody on one of the forums.

10. Install some basic gems you might need to run your rails app:
sudo gem install actionmailer
sudo gem install activesupport
sudo gem install actionpack
sudo gem install actionwebservice

And now you should have a new, shiny, ready to go Ubuntu Dapper Drake server just waiting for your PHP or Ruby on Rails applications!

2006-10-30 17:07 发表评论
]]>
A Guide to Testing the Railshttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78032.htmlMon, 30 Oct 2006 06:00:00 GMThttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78032.htmlhttp://www.aygfsteel.com/uiiang/comments/78032.htmlhttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78032.html#Feedback0http://www.aygfsteel.com/uiiang/comments/commentRss/78032.htmlhttp://www.aygfsteel.com/uiiang/services/trackbacks/78032.html阅读全文

2006-10-30 14:00 发表评论
]]>
Capistrano: Automating Application Deploymenthttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78033.htmlMon, 30 Oct 2006 06:00:00 GMThttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78033.htmlhttp://www.aygfsteel.com/uiiang/comments/78033.htmlhttp://www.aygfsteel.com/uiiang/archive/2006/10/30/78033.html#Feedback0http://www.aygfsteel.com/uiiang/comments/commentRss/78033.htmlhttp://www.aygfsteel.com/uiiang/services/trackbacks/78033.html阅读全文

2006-10-30 14:00 发表评论
]]>
Rubyhttp://www.aygfsteel.com/uiiang/archive/2006/07/24/59860.htmlMon, 24 Jul 2006 09:39:00 GMThttp://www.aygfsteel.com/uiiang/archive/2006/07/24/59860.htmlhttp://www.aygfsteel.com/uiiang/comments/59860.htmlhttp://www.aygfsteel.com/uiiang/archive/2006/07/24/59860.html#Feedback1http://www.aygfsteel.com/uiiang/comments/commentRss/59860.htmlhttp://www.aygfsteel.com/uiiang/services/trackbacks/59860.htmlRuby是何方神?

Ruby是一U功能强大的面向对象的脚本语a,她可以您方便快捷地q行面向对象~程.Ruby使文本处理和pȝ理变得单,与Perl非常怼.一句话Q简单明了,扩展性强Q移植性好.

Ruby的几大亮?

  • 语法?
  • 垃圾回收
  • 可移植?
  • 动态蝲?
  • 完全免费
  • 正则表达?

走向世界的Ruby

松本行弘"Matz"(Matsumoto Yukihiro)是Ruby语言的发明hQ他?993qv便开始着手Ruby的研发工作。他一直想发明一U语aQ你既能进行高效开发又能n受编E的快乐?993q??4日Ruby诞生了,1995q?2月Matz推出了Ruby的第一个版本Ruby 0.95。不久Ruby便凭借其独特的魅力横扫日本,怿在不久的来QRuby走向世界?/p>

# 下蝲

如何取得Ruby

  • 您可以从各个镜像站点下蝲E_?a >ruby 1.8.1?
  • 您还可以下蝲下一个稳定版本的预览?a href="ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.2-preview1.tar.gz">ruby 1.8.2 preview1?
  • 我们用tar.gz把当?a href="ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz">CVSE_版快?/a>(Fri Jul 30 04:00:51 JST 2004)保存下来。这是在1.8pdE_版的基础上打了补丁的版本。若您需要比最l版本还要稳定的版本的话Q就请下载用?
  • 每天晚上Q我们都会用tar.gz把当时的CVS最新版快照(Fri Jul 30 04:00:25 JST 2004)保存下来。因Z存快照时没有作Q何修改,所以可能会有一些问题。请您斟酌用?
  • 我们使用tar.gz把当前的1.6pd快照(Fri Jul 30 04:01:11 JST 2004)保存下来。该最新版本修正了1.6pd最l版本的所有错误。若您暂时无法升U到1.8pdQ却又想修正1.6最l版本的错误Ӟp使用该版本?
  • 请参?a >CVS指南来了解用匿名CVS获得最新源码的Ҏ?

可下载项?/h3>

FTP镜像站点

HTTP镜像站点

Rsync镜像站点

  • rsync://sunsite.dk/ftp/mirrors/ruby/ (业w)
  • rsync://rsync.idaemons.org/ftp/mirror/ftp.ruby-lang.org/ruby/ (日本)
  • rsync://gd.tuwien.ac.at/languages/ruby/ (澛_利亚)
  • rsync://mirror.cs.mun.ca/ruby/ (加拿?

# 下蝲Q文?/span>

Ruby 1.6 参考手?日语?
下蝲发行?/a>
下蝲最新版
Ruby 1.4 参考手?p?
下蝲
Ruby 1.4 参考手?日语?
下蝲
Ruby教程(日语?
下蝲
Ruby用户指南(日语?
下蝲

# Ruby教程

Ruby安装Ҏ分类

大体说来QRuby的安装方法可分ؓ两类?/p>

W一U方法,自己~译源代码然后开始安装。在UNIXpdOS(Linux、NetBSD、FreeBSD、Solaris、HP-UX以及Windows中的Cygwin{等)q_上采用这U方式安装时Q操作方法大同小异且便快捗在Windows环境中,~译环境的不同会带来功能上的差异(请参考「不同的Microsoft Windows~译环境所引v的差异??/p>

另一U方法就是用针对不同^台开发的各种便利的安装工兗若您“不想编译”或者想使用软g包来安装Ruby的相兌Y件的话,我们推荐您用这U方法。Linux环境下可以用RPM或debQ若是FreeBSD的话则可以用ports/packages{。但是,您必L有root权限才能使用软g包进行安装。若您想安装到自qȝ录里的话Q就必须自己~译源代码?/p>

Windows上的安装Ҏ有点Ҏ。在cygwin、mswin32或mingwq三U不同的~译环境下,使用的安装方法也不一栗若您ƈ不熟悉UNIX的话Q我们徏议您使用mingw或mswin32?/p>

此外在您~译源代码时Q您可以使用CVS以获得最新版的源代码?/p>

q里我们只介l了一些典型的安装ҎQ实际上QRubyq可以支持很多其他的q_。而且Ruby每天都会得到改进Q因此本文g中的某些描述可能已经与实际情冉|所不同。若您发现我们的描述有误或与实际情况不符的话Q请您指正。同时若您有其他q_上的相关信息的话Q也h补。如您所见,我们采用的是专hl护制度。当您想帮我们补充资料的时候,请参考「RWiki的RD」?/p>

目录

按^台分cȝ安装指南

(字母序)

  • Alpha Machine
  • Borland C++ (从源代码开?
  • BTRON .汉?
  • Cygwin (binary)
  • Cygwin (从源代码开?
  • Debian GNU/Linux
  • EWS4800
  • FreeBSD
  • HP-UX
  • Kondara MNU/Linux
  • MacOS X
  • mingw32 (binary)
  • mingw32 (从源代码开?
  • MS-DOS
  • mswin32 (binary)
  • mswin32 (从源代码开?
  • NetBSD
  • OS/2
  • Vine Linux
  • RPMpdLinuxq_
  • UNIXq_
  • 用CVS保持更新

Windows用户提示

开发环?/a>

  • emacs + ruby-mode
  • xyzzy + ruby-mode
  • irb
  • irbsh
  • ReFe
  • Copal
  • RDE
  • RubyWin


2006-07-24 17:39 发表评论
]]>
Ruby 基础http://www.aygfsteel.com/uiiang/archive/2006/07/24/59859.htmlMon, 24 Jul 2006 09:36:00 GMThttp://www.aygfsteel.com/uiiang/archive/2006/07/24/59859.htmlhttp://www.aygfsteel.com/uiiang/comments/59859.htmlhttp://www.aygfsteel.com/uiiang/archive/2006/07/24/59859.html#Feedback0http://www.aygfsteel.com/uiiang/comments/commentRss/59859.htmlhttp://www.aygfsteel.com/uiiang/services/trackbacks/59859.html Ruby 基础

作者:Ralf Wirdemann, Thomas Baustert
www.b-simple.de
2006.2.14

1.1 在线文档和书c?/font>

    语言资料上,如果要找核心和标准API的文档可以去 www.ruby-lang.orgQ深步进阶我们推荐下面的书籍Q?/span>

Dave Thomas: Programming Ruby, Second Edition, Pragmatic Bookshelf, 2005
Ruby书籍中的标准著作Q极h荐h倹{?/span>
Hal Fulton: The Ruby Way, Sams, 2001
q部书不仅仅有Ruby语言的最新状况,q提供了一百个案例Q很有意思?/span>

1.2 引言

    Ruby 是一个纯_的面向对象的动态型语言。Ruby E序不是被编译成二进制格?如Java)Q而是直接׃个解释器来处理。这门语a?995q由松本行弘QMatsumoto YukihiroQ发布,除了 Smalltalk、Python {语a以外QPerl 对它的媄响是首当其冲的?/span>
    Ruby 里的一切都是对象,它没有原始类?如Java)。除了面对对象,Rubyq提供了垃圾回收、异常、正则表辑ּQؓq代器和Ҏ作参数的“代码块”,q行期的cL展,U程及更多的东西。Ruby 语言易懂易用Q原因在于它单、语法干净?/span>

1.3 Ruby E序

    Ruby E序保存在以 .rb l尾的文仉。程序内容包含类、模块、或者只是简单的Ruby代码。下面是地球人都知道?Hello World E序Q?/span>

# hello.rb                        
puts "Hello World!"               

    如果q个代码是以 hello.rb 的文件名保存的,那么可以q样调用Q?/span>

> ruby hello.rb                   
> Hello World!                    

    在Windows下允许您以文件关联的方式在IE中执行;?Linux/Unix 下您可按照自已的操作pȝ情况使用 Shebang行:

#!/usr/local/bin/ruby             
puts "Hello World!"               
                                  
#!/usr/bin/env ruby               
puts "Hello World!"               

    随后直接执行q个E序Q?/span>

> chmod 744 hello.rb              
> ./hello.rb                      

    Ruby 的语句可以以分号l尾Q但不是必须?Ruby 是一个面向行的语aQ也是_一个语句不需要以分号l尾Q解释器能够明白下一行是q一步的语句。下面前几个语句的输出相同,最后一个是错误的:

puts "Hello World!";              

puts "Hello World!"               
puts "Hello " \                   
   "World!";                      
puts "Hello" +                    
   "World!";                      
puts "Hello"   # 语句xl束     
   + "World!"; # 无法被解释的新语?/span>

    多个语句可以用分号隔开写到一行里面,q不是很地道的写法,因ؓ会媄响阅ȝ畅?/span>

# 可行Q但不漂?                
a = 42; b = 15; c = a + b        

#q样比较?                     
a = 42                           
b = 15                           
c = a + b                        

    Ruby 以两个空g为羃q的方式Q不用Tab键)Q这是个推荐习惯q且应该可能地得到遵@Q?/span>

# 非常的~进                   
while line = file.readline       
  if !comment_line(line)         
    lines.add(line)              
  end                            
end                              

# oh?oh?您这是和外星人学的吧 
while line = file.readline       
    if !comment_line(line)       
        lines.add(line)          
    end                          
end                              

    Ruby 提供了全pd的标准类型,如数字、字W串、正则表辑ּ、数l、哈?Hash)Q等{。所有这些元素通过cd模块的方式以备用,无需在程序(文gQ中l定Q它们来自于核心库ƈ在整个程序中自动生效?/span>
    另外一些是以其它类和模块构成系列的标准库方式以备用的Q例?Date、Logger、Test::Unit {等。一旦要自行开发就必须在每个程序里通过关键?require 来明绑定。于是在 require 后加上或有或无结?.rb)的文件名?/span>

require "date"  # date.rb 用到 Datec             ?
require "my_class" # my_class.rb 用到MyClassc    ?
require "my_module" # my_module.rb 用到 MyModule模块

    Ҏ处文件名的处理不是按l对路径QRuby 会在所有的标准目录下寻找这个文Ӟ它们被包含在全局变量$: 里面Q您可以在命令行?ruby -e "puts $:" 或其它方式得到这些\径。一个装载了cd模块的程序里的所有名字都可以通过全局变量 $" 输出?/span>

1.4 注释

    ?Ruby 中注释行是以Q号开始的Q注释可出现在句首或句尾?/span>

# 下面q行是被注释掉的           
# a = b - c                      
a = b + c # 注释到行          ?

    一个注释块开始于 =begin l束?=endQ这几个关键字必d行首Q不能有I格?/span>

=begin                           
  def my_method                  
    ...                          
  end                            
=end                             

1.5 数字

    Ruby支持整数和QҎ。Ruby 里面没有原始cdQ都是数字对象。整C??0ơ幂到正2?0ơ幂 (?4位机器上从负2?2ơ幂到正2?2ơ幂) 被定义成FixNumcd 出此范围的整数被定义成BigNumcdQ类型的划归与{换是自动完成的,一个数字的长度最l由d来判定?br />
value = 42 # FixNum                               
big_value = 123456789012345678901234567890 # BigNum

    数字可以?6q制?q制或?q制的数字系l来表示Q?br />
# 42                             
0x2A                             
0052                             
b101010                          

    有相应的数学q算W以供用,数字的增减用q算W?+= ?-= 来实玎ͼ C ?Java ?++ ?-- ?Ruby 里是没有的?br />
a = 2                            
b = 3                            
c = a + b    # 5                 
c = a - b    # -1                
c = a / b    # 0                 
c = 2.0 / b  # 0.666666666666667 
c = a * b    # 6                 
c = a**b     # 2*2*2 = 8         
a += 1       # a = 3             
a -= 1       # a = 2             
a++          # Ruby里非法       ?

    FixNum与BigNum l承于基c?IntegerQ以下是可用的函敎ͼ是与??.14?l合的:

1.upto(3) { [i] puts i }    # 1 2 3             
3.downto(3) { [i] puts i }  # 3 2 1             
0.step(10,2) { [i] puts i } # 0 2 4 6 8 10      
3.times { puts *42* }       # 42 42 42          

    点数在 Ruby 里是?Float cL表示的。像其它语言一PRuby 里的点也有h误差。ؓ了计精??合?Q徏议?Ruby 标准库里?BigDecimal c,相对?FloatQ这个类描述了更Z富的点数ƈ且避开了卷折误差?br />
1.6 字符?
 
    ?Ruby 里,字符串被攄在两个单引号或双引号之间。引号常会出现在另一个引号里面:
 
str = "Hello"          # Hello
str = "Hello 'Thomas'" # Hello 'Thomas'
str = 'Hello'          # Hello
str = 'Hello "Thomas"' # Hello "Thomas"
 
    字符串可以通过 %q ?%Q 产生Q这是ؓ了避免当一个字W串内出现过多的引号或其它符h会出现这h那样的错误?q 产生一个被包含在单引号中的字符Ԍ%Q 产生一个被包含在双引号中的字符Ԍ文本以分隔符为界来限定,分隔W可以是除字母与数字以外的所有符受?

%q{a string}
%q(a string)
%Q$a string$
 
    %Q 可以替换 #{Ausdruck}q样的表辑ּQ?q不能Q?
 
表格1.1 字符串中带双引号的逃脱W?
\a 响铃
\b 退?
\e 逃脱
\f 换页
\n 换行
\r 回R
\s I格
\t Tab
\v 垂直表格跳位
\nnn 八进?
\xnn 十六q制 
\cx Control-x
\C-x     Control-x
\M-x     Meta-x
\M-\C-x  Meta-Control-x
\x       x
#{code}  code


puts %q{result: #{42.0/3} EUR}     # result: #{42.0/3} EUR
puts %Q{result: #{42.0/3} EUR}     # result: 14.0 EUR
 
    在花括号、圆括号、角括号的情况下字符串是括号括v来的部分Q其它则是到那个W号再次出现为止。字W串也可多行昄QRuby 在此q不清除起始I格W?
 
s = %Q@ein String über mehrere 
 Zeile mit "" und '' und durch
  einen Klammeraffen begrenzt@
puts s
=>
ein String über mehrere 
 Zeile mit "" und '' und durch
  einen Klammeraffen begrenzt
puts s.inspect
=>
"ein String \374ber mehrere\n Zeile mit \"\" und '' ...
...und durch \n  einen Klammeraffen begrenzt"
 
     一个表辑ּ的结果可以通过#{Ausdruck}插入C个字W串中,然而这只有在双引号之间有效?
 
"Ergebnis #{42*7/100} %" # Ergebnis       #{2.94} %
"Die Anwort ist: #{answer(x)}"            # Die Anwort ist: 42
 
    如C与Java所惯用的,ҎW号由斜杠逃脱Q表1.1列D了所有的ҎW号Q?
 
"Ein Slash: \\"              # Ein Slash: \
"Er rief: \"Ralf!\""         # Er rief: "Ralf!"
'War\'s okey?'               # War\'s okey?
"Neue\nZeile"                # Neue
                             #Zeile
'Neue\nZeile'                # Neue\nZeile
 
    两个字符串的内容可以?== Ҏ来比较,与之相对照的?equal? Q它用来判断是否是同一个字W串实例Q参?.15.5节)Q?
 
s1 = "Thomas"
s2 = "Thomas"
s3 = "Ralf"
s1 == s2 # => true
s1 == s3 # => false
s1.equal? s1 => true
s1.equal? s2 => false
s1.equal? s3 => false
 
    字符串可以用+?lt;<q两个方法连接。?* 可实现多重篏加?
 
"Thomas" + "/Ralf"    # Thomas/Ralf
s = "Thomas" 
s << " und Ralf"      # Thomas und Ralf
"Ralf " * 2           # Ralf Ralf
 
 
    字符串类提供了大量的ҎQ让你随心所Ԍ下面是几个例子;
 
s = "Thomas und Ralf"
s[3]                  # 109
s[3].chr              # m
s[7,3]                # und
s[0..6]               # Thomas
 
"Thomas und Ralf".delete("a")         # Thoms und Rlf
"Thomas und Ralf".delete("aou")       # Thms nd Rlf

"Thomas und Ralf".gsub("und", "oder") # Thomas oder Ralf
"Thomas und Ralf".gsub(/[aou]/, "$")  # Th$m$s $nd R$lf
 
"Thomas und Ralf".index('a')          # 4
"Thomas und Ralf".index('a',5)        # 12
 
"Thomas und Ralf".split               # ["Thomas", "und", "Ralf"]
 
    为字W串转换成整数和点数提供两U途径Q安全一些的是用核心方?Integer ?Float, 它们在出错的时候抛出异? 另一U是 String cȝҎ to_i ?to_fQ限制较??

"42".to_i            # => 42
nil.to_i             # => 0
"42x".to_i           # => 42
Integer("42")        # => 42
Integer(nil)         # => 0
Integer("42x")       # => 参数错误


2006-07-24 17:36 发表评论
]]>
վ֩ģ壺 | ƽ| ˫| | | ױ| | Ϻӿ| ˮ| | | ʯɽ| | | | Ӧ| | | | | | | | ɽ| | ɳ| ƽ| | ɽ| | | ƾ| | ľ| Ҿ| | | | Ԫ| ʡ| ˮ|