<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SpaLinux.com &#187; Ruby</title>
	<atom:link href="http://spalinux.com/category/ruby/feed" rel="self" type="application/rss+xml" />
	<link>http://spalinux.com</link>
	<description>Resources for Relaxing Linux System Administrators</description>
	<lastBuildDate>Mon, 26 Jul 2010 09:51:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>ติดตั้ง Ruby on Rails บน Fedora 11</title>
		<link>http://spalinux.com/2009/09/install_ruby_on_rails_on_fedora_11</link>
		<comments>http://spalinux.com/2009/09/install_ruby_on_rails_on_fedora_11#comments</comments>
		<pubDate>Sat, 19 Sep 2009 07:36:54 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=923</guid>
		<description><![CDATA[Ruby on Rails ช่วยทำให้การพัฒนา Web Application ด้วยภาษา Ruby ได้ง่ายขึ้น Rails เป็น web framework ประกอบด้วยส่วน (components) ต่างๆ ซึ่งสามารถนำไปสร้างเป็น Web Application ได้เลย เพียงแค่รันไม่กี่คำสั่งเท่านั้น ดาวน์โหลดไฟล์ rpm และติดตั้ง ไฟล์ RPM ที่ต้องใช้สำหรับติดตั้ง Ruby on Rails ruby-rdoc-1.8.6.287-8.fc11.x86_64.rpm rubygems-1.3.1-2.fc11.noarch.rpm rubygem-activesupport-2.3.2-1.fc11.noarch.rpm rubygem-actionpack-2.3.2-1.fc11.noarch.rpm rubygem-actionmailer-2.3.2-1.fc11.noarch.rpm rubygem-activerecord-2.3.2-1.fc11.noarch.rpm rubygem-activeresource-2.3.2-1.fc11.noarch.rpm rubygem-rake-0.8.4-1.fc11.noarch.rpm rubygem-rails-2.3.2-2.fc11.noarch.rpm rubygem-sqlite3-ruby-1.2.4-2.fc11.x86_64.rpm ใช้คำสั่ง rpm เพิ่มติดตั้ง packages ตามลำดับต่อไปนี้ [root@fc11-64a ~]# rpm -ivh ruby-rdoc-1.8.6.287-8.fc11.x86_64.rpm [root@fc11-64a ~]# rpm -ivh rubygems-1.3.1-2.fc11.noarch.rpm [...]]]></description>
			<content:encoded><![CDATA[<p>Ruby on Rails ช่วยทำให้การพัฒนา Web Application ด้วยภาษา Ruby ได้ง่ายขึ้น</p>
<p>Rails เป็น web framework ประกอบด้วยส่วน (components) ต่างๆ ซึ่งสามารถนำไปสร้างเป็น Web Application ได้เลย เพียงแค่รันไม่กี่คำสั่งเท่านั้น</p>
<p><span id="more-923"></span></p>
<h4>ดาวน์โหลดไฟล์ rpm และติดตั้ง</h4>
<p>ไฟล์ RPM ที่ต้องใช้สำหรับติดตั้ง Ruby on Rails</p>
<pre>ruby-rdoc-1.8.6.287-8.fc11.x86_64.rpm
rubygems-1.3.1-2.fc11.noarch.rpm
rubygem-activesupport-2.3.2-1.fc11.noarch.rpm
rubygem-actionpack-2.3.2-1.fc11.noarch.rpm
rubygem-actionmailer-2.3.2-1.fc11.noarch.rpm
rubygem-activerecord-2.3.2-1.fc11.noarch.rpm
rubygem-activeresource-2.3.2-1.fc11.noarch.rpm
rubygem-rake-0.8.4-1.fc11.noarch.rpm
rubygem-rails-2.3.2-2.fc11.noarch.rpm
rubygem-sqlite3-ruby-1.2.4-2.fc11.x86_64.rpm</pre>
<p>ใช้คำสั่ง rpm เพิ่มติดตั้ง packages ตามลำดับต่อไปนี้</p>
<pre>[root@fc11-64a ~]# <strong>rpm -ivh ruby-rdoc-1.8.6.287-8.fc11.x86_64.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygems-1.3.1-2.fc11.noarch.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygem-activesupport-2.3.2-1.fc11.noarch.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygem-actionpack-2.3.2-1.fc11.noarch.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygem-actionmailer-2.3.2-1.fc11.noarch.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygem-activerecord-2.3.2-1.fc11.noarch.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygem-activeresource-2.3.2-1.fc11.noarch.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygem-rake-0.8.4-1.fc11.noarch.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygem-rails-2.3.2-2.fc11.noarch.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -ivh rubygem-sqlite3-ruby-1.2.4-2.fc11.x86_64.rpm</strong></pre>
<h4>ทดสอบสร้าง Blog ด้วย Rails</h4>
<p>ตัวอย่างต่อไปนี้ แสดงวิธีการสร้าง Web Application ด้วย Rails</p>
<p>สร้างไดเร็คทอรีสำหรับเก็บ application</p>
<pre>[root@fc11-64a ~# <strong>cd /var/www/html/
</strong>[root@fc11-64a html]# <strong>mkdir rails
</strong>[root@fc11-64a html]# <strong>cd rails/</strong></pre>
<p>ใช้คำสั่ง rails เพื่อสร้าง application ขึ้นมา ในที่นี้ตั้งชื่อว่า blog</p>
<pre>[root@fc11-64a rails]# <strong>rails blog
</strong>      create
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  config/locales
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  script/performance
      create  test/fixtures
      create  test/functional
      create  test/integration
      create  test/performance
      create  test/unit
      create  vendor
      create  vendor/plugins
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  Rakefile
      create  README
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  config/database.yml
      create  config/routes.rb
      create  config/locales/en.yml
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_rails_defaults.rb
      create  config/initializers/session_store.rb
      create  config/environment.rb
      create  config/boot.rb
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/environments/test.rb
      create  script/about
      create  script/console
      create  script/dbconsole
      create  script/destroy
      create  script/generate
      create  script/runner
      create  script/server
      create  script/plugin
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  test/test_helper.rb
      create  test/performance/browsing_test.rb
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
No such file or directory - /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/bin/../lib/rails_generator/generators/applications/app/../../../../../html/favicon.ico</pre>
<p>คำสั่ง rails จะสร้างไดเร็คทอรีชื่อ blog สำหรับเก็บไฟล์ของ application ที่สร้างขึ้น พร้อมทั้งไดเร็คทอรีย่อยต่างๆ</p>
<pre>[root@fc11-64a rails]# <strong>ls -l
</strong>total 0
drwxr-xr-x 13 root root 156 2009-09-19 12:29 blog</pre>
<pre>[root@fc11-64a rails]# <strong>ls -l blog/
</strong>total 16
drwxr-xr-x 6 root root    63 2009-09-19 12:29 app
drwxr-xr-x 5 root root   128 2009-09-19 12:29 config
drwxr-xr-x 2 root root     6 2009-09-19 12:29 db
drwxr-xr-x 2 root root     6 2009-09-19 12:29 doc
drwxr-xr-x 3 root root    18 2009-09-19 12:29 lib
drwxr-xr-x 2 root root     6 2009-09-19 12:29 log
drwxr-xr-x 5 root root   135 2009-09-19 12:29 public
-rw-r--r-- 1 root root   307 2009-09-19 12:29 Rakefile
-rw-r--r-- 1 root root 10011 2009-09-19 12:29 README
drwxr-xr-x 3 root root   134 2009-09-19 12:29 script
drwxr-xr-x 7 root root   106 2009-09-19 12:29 test
drwxr-xr-x 6 root root    58 2009-09-19 12:29 tmp
drwxr-xr-x 3 root root    20 2009-09-19 12:29 vendor</pre>
<p>เข้าไปในไดเร็คทอรี blog แล้วรันคำสั่ง rake เพื่อสร้าง database สำหรับเก็บข้อมูลของ application blog</p>
<p>โดยดีฟอลต์จะใช้ฐานข้อมูล SQLite version 3 (sqlite3) ดูคอนฟิก database ได้ในไฟล์ &#8220;config/database.yml&#8221;</p>
<pre>[root@fc11-64a rails]# cd blog</pre>
<pre>[root@fc11-64a blog]# <strong>cat config/database.yml
</strong># SQLite version 3.x
#   gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000
...</pre>
<pre>[root@fc11-64a blog]# <strong>rake db:create
</strong>(in /var/www/html/rails/blog)</pre>
<p>ไฟล์ database ของ sqlite3 ที่ถูกสร้างขึ้นจะถูกเก็บไว้ใน &#8220;db/&#8221;</p>
<pre>[root@fc11-64a blog]# <strong>ls -l db/
</strong>total 0
-rw-r--r-- 1 root root 0 2009-09-19 12:35 development.sqlite3</pre>
<p>ใช้คำสั่ง script/generate เพื่อสร้าง controller และ view ของ application</p>
<pre>[root@fc11-64a blog]# <strong>script/generate controller home index
</strong>      exists  app/controllers/
      exists  app/helpers/
      create  app/views/home
      exists  test/functional/
      create  test/unit/helpers/
      create  app/controllers/home_controller.rb
      create  test/functional/home_controller_test.rb
      create  app/helpers/home_helper.rb
      create  test/unit/helpers/home_helper_test.rb
      create  app/views/home/index.html.erb</pre>
<p> รันคำสั่ง script/server เพื่อสตาร์ตเว็บเซิร์ฟเวอร์ของ application ที่สร้างขึ้น</p>
<p>หมายเหตุ</p>
<ul>
<li>โดยดีฟอลต์ Rails จะรันเว็บเซิร์ฟเวอร์ของตัวเองที่พอร์ต 3000 ไม่ได้ใช้ Apache</li>
<li>
<pre>คำสั่งรันเซิร์ฟเวอร์นี้ หน้าจอจะค้างที่ console เพื่อแสดงเหตุการณ์ (log) ต่างๆ เมื่อมีการเรียกใช้</pre>
</li>
</ul>
<pre>[root@fc11-64a blog]# <strong>script/server
</strong>=&gt; Booting WEBrick
=&gt; Rails 2.3.2 application starting on http://0.0.0.0:3000
=&gt; Call with -d to detach
=&gt; Ctrl-C to shutdown server
[2009-09-19 13:02:23] INFO  WEBrick 1.3.1
[2009-09-19 13:02:23] INFO  ruby 1.8.6 (2008-08-11) [x86_64-linux]
[2009-09-19 13:02:23] INFO  WEBrick::HTTPServer#start: pid=2351 port=3000</pre>
<p>ทดสอบใช้ Browser เรียกเข้ามาที่เครื่อง ระบุ IP และพอร์ต 3000</p>
<p><img title="Ruby on Rails - Welcome-aboard" src="http://spalinux.com/wp-content/uploads/2009/09/01-Welcome-aboard.png" alt="Ruby on Rails - Welcome-aboard" width="768" height="737" /><br />
ตัวอย่าง log ที่แสดงออกหน้าจอ console</p>
<pre>Processing ApplicationController#index (for 10.3.3.1 at 2009-09-19 13:02:42) [GET]</pre>
<pre>ActionController::RoutingError (No route matches "/javascripts/prototype.js" with {:method=&gt;:get}):
  /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
  /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
  /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
  /usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
  /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
  /usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
  /usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
  /usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
  /usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
  /usr/lib/ruby/1.8/webrick/server.rb:82:in `start'</pre>
<pre>Rendering rescues/layout (not_found)</pre>
<p>หากต้องการยกเลิก (stop) เว็บเซิร์ฟเวอร์ ให้กดปุ่ม [Ctrl-C] ที่ Console</p>
<pre><strong><span style="color: #0000ff;">[Ctrl-C]
</span></strong>^C
[2009-09-19 13:06:18] INFO  going to shutdown ...
[2009-09-19 13:06:18] INFO  WEBrick::HTTPServer#start done.
Exiting</pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2009/09/install_ruby_on_fedora_11">ติดตั้ง Ruby บน Fedora 11</a></li>
<li><a href="http://www.ruby-lang.org/" target="_blank">Ruby Programming Language</a></li>
<li><a href="http://guides.rubyonrails.org/getting_started.html" target="_blank">Getting Started with Rails</a></li>
<li><a href="http://mirrors.kernel.org/fedora/releases/11/Everything/x86_64/os/Packages" target="_blank">Fedora 11 Everything (x86_64)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/09/install_ruby_on_rails_on_fedora_11/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ติดตั้ง Ruby บน Fedora 11</title>
		<link>http://spalinux.com/2009/09/install_ruby_on_fedora_11</link>
		<comments>http://spalinux.com/2009/09/install_ruby_on_fedora_11#comments</comments>
		<pubDate>Sat, 19 Sep 2009 07:25:24 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=918</guid>
		<description><![CDATA[ทุกวันนี้สิ่งต่างๆ เกิดขึ้นมากมาย เหตุผลหนึ่งคือเพื่อช่วยให้เรามีชีวิต หรือการทำงานได้สะดวกสบายมากขึ้น ในโลกของการเขียนโปรแกรมก็เช่นเดียวกัน มีภาษาเกิดขึ้นใหม่ๆ รวมทั้งเทคนิค วิธีการพัฒนาโปรแกรม เพื่อช่วยให้โปรแกรมเมอร์สามารถพัฒนาโปรแกรม หรือเขียนโปรแกรมได้ง่าย รวดเร็วกว่าเดิม Ruby เป็นอีกภาษาหนึ่ง ที่คนสร้างเริ่มต้น นำข้อดีของภาษาต่างๆ มารวมกัน (สามารถอ่านรายละเอียดเพิ่มเติมได้ที่ About Ruby) ในที่นี้คงไม่อธิบายรายละเอียดของ Ruby แต่จะกล่าวถึงในแง่ของผู้ดูแลระบบ คือวิธีการติดตั้งโปรแกรมต่างๆ ที่จำเป็น เพื่อให้ผู้ใช้งานหรือโปรแกรมเมอร์สามารถพัฒนาโปรแกรมด้วย Ruby ได้ เช่นเดียวกับภาษาอื่นๆ เช่น Perl, PHP การเขียนโปรแกรมด้วย Ruby สามารถรันบน Text Console หรือจะรันผ่าน Web ก็ได้ บทความนี้ขอเริ่มด้วยวิธีการติดตั้ง ruby พื้นฐาน เพื่อรันผ่าน Console ดาวน์โหลดไฟล์ rpm และติดตั้ง Ruby แผ่นดีวีดีติดตั้ง Fedora 11 ไม่มีไฟล์ RPM สำหรับติดตั้ง ruby [...]]]></description>
			<content:encoded><![CDATA[<p>ทุกวันนี้สิ่งต่างๆ เกิดขึ้นมากมาย เหตุผลหนึ่งคือเพื่อช่วยให้เรามีชีวิต หรือการทำงานได้สะดวกสบายมากขึ้น</p>
<p>ในโลกของการเขียนโปรแกรมก็เช่นเดียวกัน มีภาษาเกิดขึ้นใหม่ๆ รวมทั้งเทคนิค วิธีการพัฒนาโปรแกรม เพื่อช่วยให้โปรแกรมเมอร์สามารถพัฒนาโปรแกรม หรือเขียนโปรแกรมได้ง่าย รวดเร็วกว่าเดิม</p>
<p>Ruby เป็นอีกภาษาหนึ่ง ที่คนสร้างเริ่มต้น นำข้อดีของภาษาต่างๆ มารวมกัน (สามารถอ่านรายละเอียดเพิ่มเติมได้ที่ About Ruby)</p>
<p>ในที่นี้คงไม่อธิบายรายละเอียดของ Ruby แต่จะกล่าวถึงในแง่ของผู้ดูแลระบบ คือวิธีการติดตั้งโปรแกรมต่างๆ ที่จำเป็น เพื่อให้ผู้ใช้งานหรือโปรแกรมเมอร์สามารถพัฒนาโปรแกรมด้วย Ruby ได้</p>
<p><span id="more-918"></span></p>
<p>เช่นเดียวกับภาษาอื่นๆ เช่น Perl, PHP การเขียนโปรแกรมด้วย Ruby สามารถรันบน Text Console หรือจะรันผ่าน Web ก็ได้</p>
<p>บทความนี้ขอเริ่มด้วยวิธีการติดตั้ง ruby พื้นฐาน เพื่อรันผ่าน Console</p>
<h4>ดาวน์โหลดไฟล์ rpm และติดตั้ง Ruby</h4>
<p>แผ่นดีวีดีติดตั้ง Fedora 11 ไม่มีไฟล์ RPM สำหรับติดตั้ง ruby อยู่เลย ต้องดาวน์โหลดไฟล์ RPM มาจาก &#8216;Fedora 11 Everything&#8221;</p>
<p>ไฟล์ RPM ที่ต้องใช้สำหรับติดตั้ง ruby พื้นฐาน</p>
<pre>ruby-libs-1.8.6.287-8.fc11.x86_64.rpm
ruby-1.8.6.287-8.fc11.x86_64.rpm
ruby-irb-1.8.6.287-8.fc11.x86_64.rpm</pre>
<p>ใช้คำสั่ง rpm เพิ่มติดตั้ง packages</p>
<pre>[root@fc11-64a ~]# <strong>rpm -i ruby-libs-1.8.6.287-8.fc11.x86_64.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -i ruby-1.8.6.287-8.fc11.x86_64.rpm
</strong>[root@fc11-64a ~]# <strong>rpm -i ruby-irb-1.8.6.287-8.fc11.x86_64.rpm</strong></pre>
<h4>ทดสอบการเขียนภาษา ruby</h4>
<p>วิธีการทดสอบการเขียนด้วยภาษา ruby สามารถทำได้ง่ายๆ คือรันคำสั่ง ruby แล้วพิมพ์คำสั่งต่างๆ ลงไป เมื่อเขียนเสร็จต้องการรันโปรแกรม ก็กด [Ctrl-D]</p>
<p>ตัวอย่างการเขียนเพื่อเก็บข้อความลงตัวแปรและแสดงผลออกหน้าจอ</p>
<pre>[root@fc11-64a ~]# <strong>ruby</strong>
say = "I love Ruby"
puts say
<strong><span style="color: #0000ff;">[Ctrl-D]
</span></strong>I love Ruby</pre>
<p>หลังจากกด [Ctrl-D] ผลของการรันโปรแกรมก็จะแสดงออกมา<br />
หรือจะเขียนเป็นไฟล์ แล้วใช้คำสั่ง ruby รันก็ได้ผลเช่นเดียวกัน</p>
<pre>[root@fc11-64a ~]# <strong>cat test.rb
</strong>say = "I love Ruby"
puts say</pre>
<pre>[root@fc11-64a ~]# <strong>ruby test.rb
</strong>I love Ruby</pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://www.ruby-lang.org/" target="_blank">Ruby Programming Language</a></li>
<li><a href="http://www.ruby-lang.org/en/about/" target="_blank">About Ruby</a></li>
<li><a href="http://mirrors.kernel.org/fedora/releases/11/Everything/x86_64/os/Packages" target="_blank">Fedora 11 Everything (x86_64)</a></li>
<li><a href="http://spalinux.com/2009/09/install_ruby_on_rails_on_fedora_11">ติดตั้ง Ruby on Rails บน Fedora 11</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/09/install_ruby_on_fedora_11/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
