June 20, 2007

Rubyに挑戦!










僕がパソコンを初めて買った時の理由は、当時学校で学んでいたC言語のプログラミングをするわけではなく、ウェブサイトを作りたかったからだった。

当時勉強していたC言語は、コマンドプロンプトとの対話に終始して面白くなかった。ウィンドウを作るコードも難しすぎて面白くなかった。
それに対してウェブサイト作成は、一種の洋服やアクセサリーを身につけるスタイリッシュさや、ウェブ上での情報発信がやりたかった自己表現の手段に気づかせてくれた。ような気がした。





それから、IPネットワーキング、UNIXシステム構築、情報セキュリティ対策、人材育成と色々やることの遍歴を重ねてきたけど、Web2.0に代表される最近のウェブの可能性の進化に感化され、ウェブプログラミングをまたやりたいと思い始めていました。

そこでめぐり合ったのがRuby on Rails。まあその前にもPerlにもPHPにも出会ったわけだけど、ウェブ開発の環境としてとても魅力的だった。





やってやるぜ!Ruby on Rails!!
ということで、会社の開発環境(CentOS)での備忘録をメモ。





1.Rubyのインタプリタをインストール。yumでサクッと。erubyも。
yum install ruby eruby


2.Apacheのapxsが必要なのでインストール。httpdが無いならhttpdもインストールしておく。
yum install httpd-devel


3.mod_rubyとeRubyのインストール
"http://www.modruby.net/ja/"からmod_rubyアーカイブをダウンロード。
下記コマンドでインストール、先ほどのapxsのpathを指定して、
モジュールを動的に組み込めるようにする。
./configure.rb --with-apxs=`which /usr/sbin/apxs`



4.httpd.confに追記
LoadModule ruby_module /usr/local/apache/libexec/mod_ruby.so

RubyRequire apache/eruby-run

# /eruby以下のファイルをeRubyファイルとして扱う

SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance


# *.rhtmlをeRubyファイルとして扱う。

SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance




5.RubyGemsのインストール
"http://rubyforge.org/projects/rubygems/"からアーカイブをダウンロードし、スクリプトをrubyで実行。
ruby setup.rb


6.Railsのインストール
gem install rails --include-dependencies


7.エラーが出たので対処
エラー:
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
原因:
プロキシが必要な環境なので、プロキシを明示的に指定する。
対処:
$ env http_proxy="http://192.168.50.2:8080" gem install rails --include-dependencies


8.またエラーが出たので対処
エラー:
Could not find rails (> 0) in any repository
原因:
Gemsのアップデートが必要
参考:
http://armyofevilrobots.com/node/418


9.Railsのテンプレートを作成。Apacheのディレクトリ以下でね。
$ cd /var/www/html/test
$ ruby test

10.WEBRickの起動
$ cd test
$ ruby scripts/server -d

11.ブラウザでアクセス
http://192.168.0.1:3000

12.エラーの対処
ブラウザ上でのエラー:
Routing Error
no route found to match "/Demo" with {:method=>:get}
原因:
RoRコンテンツのルーティングが未設定
対処:
routes.rbに追記
map.connect '/Demo', :controller => 'demo'

プロセスを再起動
$ pkill server
$ ruby scripts/server -d








(参考)
mod_ruby インストールガイド

zshのプロンプトをいじる










Linuxのシェルはbashを愛用していたけど、これからはzshを使うことにした。

このまえの、「Google Developer Day 2007 Tokyo」のイベントで、はてなの伊藤さんのプレゼンで、「bashを使う人は初心者」なーんて言っていたもんで、「そうかぁ、開発の現場はそんな意識なんだなー」と素朴に思えたので・・・。ミーハーなのかな。





bashのスキンとも言うべきPROMPT変数は、今のところこんな感じ。RPROMPT変数は、コマンドラインの右端に表示できるもの。


PROMPT='[%D{%Y/%m/%d %H:%M}]%(!.#.$) '

RPROMPT='[%~]'










(参考)
zsh(blankspace)
zsh(machu.jp)
Prompt Expansion(SunSITE)



June 19, 2007

GNOMEのショートカット集










Windowsであれば、CtrlキーやAltキー、Windowsキーを押しながらほげほげみたいな、いわゆるショートカットキー。Linuxの場合はGNOMEやKDEがそれにあたる。

駆けだしLinuxデスクトップユーザーが知らない、GNOMEのショートカットをまとめてみた。簡単に見つけてしまうものは省略。





例)G[GNOMEの場合] W[Windowsの場合]




G[Alt + F1]
W[Windowsキー]

アプリケーションメニューを開く。開いたときに左右キーで隣のメニューに切り替えることが出来る。Windowsではスタートメニューのようなもの。





G[Alt + F2]
W[Alt + R]

ファイル名(コマンドライン)を指定して、プログラムを実行する。





G[Ctrl + Alt + 矢印キー ]
W[ none ]

ワークスペースを切り替える。これは色々試しても捜し当てるのがとっても難しい。





G[Ctrl + Alt + D]
W[Windowsキー + D]

GNOMEの場合はウィンドウを全て最小化。Windowsの場合はデスクトップを表示。見かけは同じだけど、別物。どちらにしろ、画面を見られたくないときに人気を感じたときに使えるショートカットなのは間違いない。多用するとあからさまだけど。





G[Alt + Esc]
W[ none ]

Alt + Tab と同じことができるけど、違うのはWindowsの内容を確認しながら切り替えることが出来ること。でも、キー間が遠い・・・。






GNOMEとシェルとviとemacsのショートカットが習得できれば、立派なもんかなー。

というか、Google先生に"gnome shortcuts"と聞けば済む話なんだけどねー。

June 12, 2007

Ubuntuを使う










デスクトップLinuxを使いたい野望が心の中で復活したので、これまで辿ってきた道をメモ。





5年前くらいなら、Linux選ぶなら迷い無く選んでいた愛されるべき"Red Hat Linux"は、"Fedora Core"の開発体制になり、今は"Fedora"と呼ばれ、最速バーションを追いかけるチャレンジャーなディストリビューションに変わってきている。

今も"Red Hat Enterprise Linux"がメジャーなので、お試しとして"Fedora"やRHELクローンの"CentOS"を選ぶのが妥当な選択。

しかーし、時代も流れ、GentooやSUSEが台頭し(TurbolinuxとVine Linuxは影をひそめ?)、トレンドが移り変わってきているだろうと思い、DistroWatchの門を叩いた↓。







このサイトの"メジャーディストリビューション(Top Ten Distributions)"によると、Ubuntu(ウブントゥ)というディストリビューションがトップだ。説明書きにはこうあった。ナルホド、期待が持てます。


In the few years that followed, Ubuntu has grown to become the most popular desktop Linux distribution and has greatly contributed towards developing an easy-to-use and free desktop operating system that can compete well with any proprietary ones available on the market.






Google先生にも、GoogleTrendsで聞いてみた。確かにこれから伸びそうだ・・・。





↓日本の場合


↓英語圏の場合






狙いをUbuntuに定めて、ダウンロードページから、"日本語ローカライズ版Desktop Ubuntu 6.06 LTS"をゲットして、会社にある評価機のVMWare上でインストールしてみた。UbuntuはLiveCDでCDブートし、デスクトップ上のインストールアイコンをクリックすると、そこからハードディスクへのインストールが始まる、ちょっと変わり者。インストールCDはKNOPPIXのようにLiveCDのような使い方もできるのだ。





インストールが済んで、デスクトップ上のメニューを、システム->設定->ネットワークプロキシと辿り、プロキシの設定をする。

アプリケーション->アクセサリ->GNOME端末と辿り、コンソールを起動して、下記コマンドを実行していく。update以下はお好みで。

sudo apt-get update
sudo apt-get install openssh-server
sudo apt-get install zsh
sudo apt-get install emacs





今日はここまでで終了。