June 8, 2008

ノートパソコンにUbuntuをインストール




 自宅サーバを立てたいなという年に1回は起こる動機によって、前愛機である"Libretto L5/080TNKW"が借り出された。
 これまでは自作タワーPCにUbuntuで立てていたけど、騒音と電気代の関係であまり長続きしなかった。ノートパソコンであればその点大丈夫。
 その手順を簡単にメモ。



  1. インストーラーを準備する。Ubuntu 8.04 LTS Serverを選択。このバージョンのUbuntuだと、無線LANインターフェースをデフォルトで認識してくれるのでとても助かる。
  2. Librettoでインストーラーを立ち上げる。パーティションは、10GB(/)、500MB(swap)、7GB(/home)、隠しパーティションにWindowsXPのリカバリーデータを残しておく。
  3. 普通にインストール。SSHサーバは必ずインストールしよう。
  4. 再起動後に下記メッセージが出て起動不能。

    The kernel requires the following features not present on the CPU 0:6
    Unable to boot - please use a kernel appropriate for your CPU

  5. ここのサイトを参考に、linux-genericパッケージをインストールする。LibrettoはCrusoeなのでこんなバグにハマってしまうのだろう。
  6. NTFSを別途マウントしたい場合は、ここのサイトを参考に /etc/fstab を書き換えよう。


 最近はノートパソコンへのLinux導入がうまくサポートされてきたので、一昔のような苦労をしなくて良くなった。そんな一昔前の苦労があってこそ、今の楽に思える状況があるんだろうなとも思うけど。




▼ 2008/9/18 追記




リンク先にあるgeneric kernelのinstallationもメモっておく。

1)CD bootしてResuce Blocken Systemを選択。
2)ウィザードを進めていくと、Resuceするドライブを選択する画面になるので、root file systemを選択。/dev/hda1とかかな。
3)Execute a shell in the installer environment
4)Internet connectoinとDNS resolvingを確認するかsetupする
5)# chroot /target
6)# aptitude update
7)# aptitude install linux-generic
8)reboot, Ctrl+Alt+Del
9)boot直後にESCを押してgrubメニューでlinux genericを選択しbootする
10)/boot/grub/menu.lstを編集し、linux genericでdefault bootするようにする。
11)ついでに、Librettoの隠しパーティションを起動できるようにしておく
> > http://hogeo.jp/blog/memo/2008/07/libretto_l5.html

June 2, 2008

Ruby入門:ERBによるHTML内でのRuby実行


rupauk's scrapbook ~ programming notes by striatic



 前回の続きで、RubyによるWeb API開発環境を整える準備です。

 HTMLにRubyを組み込む場合、通常では /usr/local/bin/ruby インタプリタを呼び出して、Rubyのコードを読ませて、結果的にHTMLを出力するでしょう。
 その場合の大きな問題点があって、HTMLのコードをひとつひとつprint文の連続になってしまうことです。HTMLのタグをいちいちprintしまくるなんて、汚すぎて見れたものじゃないです。

 PHPのようにHTMLで <?php ・・・ ?> とくくって、HTMLの中にコードを組み込む形にしないと、ほんとしんどい。

 ソリューションとしては、eRubyかERBを使用するということです。私の使っているサーバはeRubyが利用可能な状態ではなさそうなので、ERBに頼ることにしました。
 手順としては以下の通り。


  1. rubyのパスを確認する
  2. erb.cgiを用意する。
    ここからerb-cgi.txtをダウンロードしてerb.cgiとしましょう。chmod +x erb.cgi などとすることを忘れずに。

  3. .htaccessで、特定の拡張子(rhtmlなど)は、用意したerb.cgiに読ませるようにする。環境によって適宜読み替えてください。

    AddHandler rubypage .rhtml

    Action rubypage /cgi-bin/erb.cgi

  4. ERBで読ませるサンプルコードを書きましょう。

    <html>

    <body>

    Hello <%= "Ruby" %> World!

    </body>

    </html>


  5. 作成したrhtmlファイルなどにアクセスしてみましょう。


 これで、ERBによってうまくHTMLにRubyを埋め込むことが出来ますね。

参考:http://earth.cubic-sight.net/2007/10/erbkml_12.html
参考:http://kahori.com/ruby/earrings/

June 1, 2008

Ruby入門:初心者による初心者のためのRuby環境準備


ruby's in the sand by bill dwyer




 都合2度目のRubyへの挑戦。
 まずは環境準備です。
 最近導入したWindows Vistaでの導入だけど、まあ多分問題なくいくでしょう。


1.必要なファイルをダウンロードする

 必要なものは、Active Script RubyとRDEとRubyリファレンスマニュアルです。
 下記を参照して入手しておきましょう。

http://homepage2.nifty.com/sakazuki/rde/setup.html


2.Actuve Script Rubyのインストール

 ダウンロードしたインストーラを実行してインストールすると、デスクトップにruby consoleのショートカットが出来ます。
 これは、環境変数のPATH変数を変更しなくても、RubyへPathを通してくれてコマンドプロンプトを起動してくるもので、とりあえずこのショートカットからコマンドプロンプトを起動することにします。
 ruby consoleから ruby -v と入力して、Rubyが使えることとバージョンでも確認しましょう。


3.RDEに必要なPathを入力

 RDEインストール直後に出てくるオプションウィンドウのRuby設定項目で、Ruby本体とHTML HelpファイルのPathを指定する。


4.インターフェースを日本語に

 RDEのオプションから、Config FileにRDE\TranslatonsにあるJapanese_*.xmlファイルを指定する。
 また、ツールメニューのエディタ設定で、フォントをMSゴシックに、文字セットを日本語にしておこう。


5.サンプルコードでRubyを試す

 指定したURLのはてなブックマークの件数を調べるコードを書いてみましょう。


require 'xmlrpc/client'



pages = [

'http://www.google.co.jp/',

'http://www.yahoo.co.jp/'

]



client = XMLRPC::Client.new2('http://b.hatena.ne.jp/xmlrpc')

client.proxy('bookmark').getCount(*pages).each { |page, count|

puts "#{page} : #{count}"

}



 適当にファイルを保存しておきつつ、F5キーを押すか、実行メニューから実行を実行すると(笑)、RDEの左下にあるコードウィンドウで結果出力を確認できます。


http://www.yahoo.co.jp/ : 24

http://www.google.co.jp/ : 1884

Complete(0)


 インターネットに接続されている環境であれば、直接Web APIにリクエストを送って、このようにすぐ結果を確認できます。
 後はそれをHTMLに組み込んで、ウェブサーバにアップして、ブラウザで確認することを繰り返せばよいでしょう。
 ウェブサーバではRubyを使える環境であることをあらかじめ確認しておいてください。自前のサーバならともかく、レンタルサーバなら使わせてもらえない場合もあります。
 私が利用しているロリポップのサーバは使えるので、一応問題はなさそうです。


6.今後のRuby入門

 ひとまず私の場合は、RubyでWeb APIのサンプルコードを書き続けて、Rubyの文法力とWeb APIのノウハウをためていこうと思います。
 トレーニングや勉強する際には、モチベーションがあがるやっていて楽しいことを目標におくべきです。「やらなければならない」というような真面目な義務感は意外と長続きしません。
 私はウェブコンテンツを作ることとプログラミングが好きなので、これを目標にします。その参考になるリンクをメモメモ〆(゜ー゜)

MASHUPEDIA
Disapar Journal

 うーん、ググれどググれど、RubyでWeb APIを呼び出すサンプルコードは見つかりません。というか、そもそもWeb APIを呼び出すこととRubyの文法は別でまったく別物なのに、どうしてか"ruby web api"と検索してしまうのは初心者だからでしょうか。きっとそうなのでしょう。
 またとりあえず、RubyでWeb APIをやりたい人がたくさん訪れるウェブサイトになるためにも、いろいろとコードを書いて試してみることにします。自分のウェブサイトのアクセス数が伸びることも大事なモチベーションです。楽しいことです。