[ruby/rails] オフラインドキュメントを生成する

May 16th, 2012 by naoya | No Comments | Filed in day

ruby や rails を使ってウェブアプリケーションなどを開発するとき、必須なものにオフラインドキュメントがあります。その都度、インターネット検索したりするのはインターネット接続がある前提になったり、時間の浪費につながるため、できる限り必要な情報は手元に置いておくのが重要だと思います。

ruby や rails のオフラインドキュメントを生成するには、sdoc を使うと便利です。
sdoc は、gem 経由で簡単にインストールすることができます。


$ rvm 1.9.3
$ gem install sdoc

sdoc 3.0.16 だと、github を使っているときエラーが発生しているため、パッチをあてる必要があります。


$ diff $HOME/.rvm/gems/ruby-1.9.3-p194/gems/sdoc-0.3.16/lib/sdoc/github.rb
30c30
< s = Dir.chdir(File.join(basedir, File.dirname(path))) do
---
> s = Dir.chdir(File.join(base_dir, File.dirname(path))) do
39c39
< s = Dir.chdir(File.join(basedir, File.dirname(path))) do
---
> s = Dir.chdir(File.join(base_dir, File.dirname(path))) do
47c47
< absolute_path = File.join(basedir, path)
---
> absolute_path = File.join(base_dir, path)

まずは、rails 3.2.3 のオフラインドキュメントを生成してみます。

$ git clone https://github.com/rails/rails.git
$ cd rails
$ git checkout v3.2.3
$ sdoc --format=sdoc --github --output rails-3.2.3 --hyperlink-all rails

かなり警告がでますが、しばらくすると rails-3.2.3 ディレクトリの中に html なドキュメントが生成されています。僕の手元の Macbook Air だと 15 分くらいかかりました。

次に ruby-1.9.3 のオフラインドキュメントを生成してみます。

$ git clone https://github.com/ruby/ruby.git
$ cd ruby
$ git checkout v1_9_3_194
$ sdoc --format=sdoc --output ruby-1.9.3p194

ruby-1.9.3p194 ディレクトリの中に約 5 分くらいでオフラインドキュメントを生成することができました。

あとは、これからのドキュメントを sdoc-merge を使うとまとめることができます。たしめにまとめてみたのですが、僕は個別で参照することが多いので、使っていません。

$ sdoc-merge --title "Ruby 1.9.3-p194 and Rails 3.2.3" --op merged --names "Ruby,Rails" ruby-1.9.3p194 rails-3.2.3

sdoc かなり便利ですね。

参照
Create local Ruby on Rails documentation for offline use | Shynnergy

Tags: ,

mosh バージョン 1.2

May 14th, 2012 by naoya | No Comments | Filed in day

mosh バージョン 1.2 がリリースされていました。ChangeLog に boost 依存性の削除や CentOS 5 サポートという項目があったので、バージョン 1.1.3 ではビルドが大変だったので、バージョン 1.2 の RPM を作成してみることにしました。

まず、Fedora 用の mosh.spec をダウンロードします。

$ wget https://raw.github.com/achernya/mosh/0df58a90da7d57ea1cda0a0b24fddfda97186a20/fedora/mosh.spec

このままだと CentOS 5 で RPM ビルドに失敗するので、mosh.spec を次のように編集します。

$ vi ~/rpmbuild/SPECS/mosh.spec
18a19,20
> BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
>
37a40
> rm -rf $RPM_BUILD_ROOT
42d44
< %doc README.md COPYING ChangeLog

これで mosh バージョン 1.2 RPM を作成することができました。CentOS 5.8 x86_64 の mosh バージョン 1.2 RPM をこちらにおいておくので、必要な方は使ってみて下さい。

Tags:

Pow on Lion

May 7th, 2012 by naoya | No Comments | Filed in day

pow を Lion 上で使うための設定方法です。pow は、Node アプリケーションなのですが、Node バージョン 0.4 系で動作するめインストールが少々めんどくさいです。

まずは、Homebrew 経由で pow をインストールします。このとき依存関係の設定により Node バージョン 6 系がインストールされます。

$ brew install pow

次に NVM をインストールして、Node バージョン 4 系をインストールします。

$ nvm install 0.4.12

次に pow の起動コマンドを変更して Node 0.4 系を使いように変更します。環境変数は、お使いの環境にあわせて展開して下さい。

$ vi $HOMEBREW_HOME/bin/pow
...
exec "$HOME/.nvm/v0.4.12/bin/node" "$HOMEBREW_HOME/Cellar/pow/0.3.2/pow/lib/command.js" "$@"

最後に pow エージェントを動作させます。80 ポートで直接動かしたい人は、ファイアウォールの設定も変更します。

$ sudo pow --install-system
$ pow --install-local

これで pow を使うことができるはずです。

僕は、大人の事情で Apache 経由で使いかっため、Running Pow With Apache を参考にしながら、次の設定をしました。

$ vi $HOME/.powconfig
export POW_DST_PORT=8080
$ wget https://raw.github.com/gist/1058580/zzz_pow.conf
$ sudo vi /etc/hosts
127.0.0.1 pow .dev

これでさくさくと開発を進めることができる環境になりましたが、RVM + Ruby 1.9.3 で Sinatra を使いたいとき、アプリケーション側の config.rb に GEM_HOME 環境変数を設定するのはやめたかったので、次の設定を追加しました。

$ vi $HOME/.powconfig
export POW_RVM_PATH="$HOME/.rvm/scripts"
$ cd $SINATRA_APP1
$ vi .rvmrc
rvm 1.9.3
export GEM_HOME="$HOME/.rvm/gems/ruby-1.9.3-p194"

こんな感じで設定しておくと、pow を RVM に対応させることができます!

さらに powder や powify を使うと便利だと思います。僕は今のところ powder を使っています。

これで、さくさくとウェブアプリケーションの開発が進められそうです!

Tags: , ,

PHP 5.4 on Lion

May 2nd, 2012 by naoya | No Comments | Filed in day

OSX Lion 上で PHP 5.4 をインストールしてみました。システム /usr/bin/php は PHP 5.3.8 with Suhosin-Patch (cli) (built: Nov 15 2011 15:33:15) です。

Hoembrew を基本的に使っているので、Homebrew 経由でインストールするのが一番簡単です。なお、公式の Formula ないので注意して下さい。


$ brew install https://github.com/josegonzalez/homebrew-php/raw/master/Formula/php.rb --devel --with-mysql

–devel を書略すると 5.3.10 がインストールされます。

あとは、$HOMEBREW_HOME/Cellar/php/5.4.0/libexec/apache2/libphp5.so がインストールされるので、既存の libphp5.so の設定はコメントにして組み込んであげるだけで使うことができます。

次のような Apache の設定にしてあげると、5.3 系と切り替えることができるので便利ですね。

#
# PHP 5.3.8
#
#LoadModule php5_module libexec/apache2/libphp5.so

#
# PHP 5.4.0
#
LoadModule php5_module $HOMEBREW_PATH/Cellar/php/5.4.0/libexec/apache2/libphp5.so

#
# PHP5 handler
#
Include /private/etc/apache2/other/php5.conf

ちなみに –with-fpm をつけると PHP-FPM をビルドすることができますが、そのかわりに Apache モジュールはビルドされないので注意して下さい。

Tags:

複数の git リポジトリをまとめて pull ワンライナー

April 25th, 2012 by naoya | No Comments | Filed in day

最近、ローカルにめっきり git リポジトリが増えてきたので、まとめて pull するワンライナーを書いてみた。


$ find $GIT_REPO -type d -name .git | xargs -n 1 dirname | sort | while read line; do echo $line && cd $line && git pull && cd $GIT_REPO; done

.git を .svn に変更して git pull を svn update に変更すれば subversion にも対応することができます。

便利!

Tags:

某クラウドで Xen と KVM のベンチマークを計測してみた

April 24th, 2012 by naoya | No Comments | Filed in day

某クラウドでは、Xen と KVM を選択することができるので、ちょうどよい機会に恵まれたので Xen と KVM のベンチマークを計測してみました。

計測に使用したツールは、UnixBench というツールです。

仮想サーバの、CPU やメモリはまったく同じ設定をしました。OS は、CentOS 5.8 x86_64 で、カーネルのバージョンが違っているのは Xen と KVM の違いによるものです。

詳細の結果は、gist にまとめておきました。

System Benchmarks Index Score でいうと、
KVM は 2786.6 だったのに対して、
Xen は 1155.3 だったので、約2倍くらいベンチマーク数値としては違っていました。

パフォーマンスの面からみると、某クラウドでは KVM を使うのがよいかなぁと思いました。

ちゃんちゃん。

Tags: ,

[zsh] mosh コマンドで ssh コマンドと同等の補完をする方法

April 23rd, 2012 by naoya | No Comments | Filed in day

mosh コマンドを ssh コマンドと同様に $HOME/.ssh/config や $HOME/.ssh/known_hosts と同じように補完したいものです。
$HOME/.ssh/configと$HOME/.ssh/known_hostsにあるとおり、独自で補完関数を設定するのもいいかなぁと思ったのですが、もっと簡単な方法が見つかったので紹介したいと思います。

.zshrc に、次の設定を書くだけです。


compdef mosh=ssh

これで、mosh コマンドの補完は ssh コマンドの補完と同じ機能を利用することができます。
これで、かなり mosh コマンドが便利になりました。

参考
compdef mosh=ssh

Tags:

MySQL Casual Talks Vol.3

April 19th, 2012 by naoya | No Comments | Filed in day

MySQL Casual Talks Vol.3 にて、トークしました。資料を公開しておきます。
カジュアルすぎるお話で失礼しました…。

それでは、皆さん素敵なビールライフを過ごして下さいね!!!

Tags:

サーバ/インフラエンジニア養成読本 管理/監視編

April 12th, 2012 by naoya | No Comments | Filed in day

サーバ/インフラエンジニア養成読本 管理/監視編という本が技術評論社より出版されました。私がすこし昔の 2008年6月に Software Design で書いた「Chapter4 実践!システムトラブル一丁両断」の Section 1 記事が掲載されたため、ご献本をいただきました。
ありがとうございます!

この本は、サーバ/インフラエンジニア養成読本シリーズの最新作で、Software Design で過去に掲載された「管理/監視編」の記事をまとめた本になっています。

さまざまなインフラを監視する技術や方法などが多数紹介されているので、インフラエンジニアの方にはおすすめできる本です。

Tags:

今からはじめるさくらVPS – Part 1

April 12th, 2012 by naoya | No Comments | Filed in day

今月 2012 年 4 月からさくら VPS がリニューアルされましたね!

さくら VPS 2G  ですが、海外の VPS と比べてもとても格安だったので、思い切って 1 年契約してみました。僕は、初めてさくら VPS を使ってみたので、OS の設定から、初期設定まで忘れないようにまとめておきたいと思います。最初のリリース後にかなりの人気があったみたいで、僕は申し込みが再開されてから無事に申し込むことができました。

まずは、さくら VPS 2G を公式ページから申し込みます。このとき、さくらのアカウントが必要なのでアカウントをもっていない人は登録します。

さくらの VPS を申し込むと、すぐに『申し込み完了』メールが届きます。そのあと、しばらくすると(僕の場合六時間後くらいでした)『仮登録完了のお知らせ』のメールが届きます。このメールに、サーバの IP アドレスと、ユーザ名、パスワードが書かれています。

これから、さくら VPS のスクリーンショットを掲載していますが、IP アドレスなど個別情報に関するものは塗りつぶしてあるのでご了承下さい。

さっそく、さくら VPS コンソールに接続して、IPアドレスとパスワードを入力します。

VPS ホームの画面が表示されます。初期状態だと、標準 OS の CentOS 6.2 x86_64 がインストールされた VM が停止状態になっています。このまま、CentOS を起動することができます。しかし、ここは試しに別の OS を再インストールしてみることにしました。なお、カスタム OS をインストールするには、JRE のインストールが必要です。OSX Lion の場合は、このあたりの情報を参考にして事前にインストールしておいて下さい。

左側のメニューから、「OS 再インストール」選択します。

次に「カスタム OS のインストールへ」を選択します。

今回は、OS として Fedora 16 x86_64  を選択しました。Fedora は、ほぼ最新のカーネルやパッケージを扱うことができるので、最新の Linux 技術を試すのにうってつけの環境です。「確認」ボタンをクリックします。

カスタム OS のインストール確認が表示されるので「実行」ボタンをクリックします。

Chrome の場合、Java プラグインの実行確認が表示されますので、許可します。インストール情報は、OS のインストールの際に必要なので、そのまま表示しておきましょう。

しばらくすると、Java アプレットが実行されて、インストール画面が表示されます。

キーボードの種類を選択します。ご自身で使われているキーボードの種類を選択して下さい。

いつも通りの Fedora の GUI インストール画面が表示されます。

今回は、VPS になるのでメインのパーティンションを暗号化してみます。暗号化パーティションでインストールすると、OS の起動のたびにマウントするためのパスワードの入力が必要なので注意しましょう。GPT パーティションになるので、「Use All Space」を選択した状態で、「Encrypt system」と「Review and modify partitioning layout」をチェックしています。この状態から「BIOS boot」パーティションだけを削除しないように、好みのパーティションレイアウトに変更してみました。

このとき、アンダースコアが入力できないのですが、Macbook Air 英語キーボード上から「Ctrl + Command + -」で入力できました。次のようなパーティションレイアウトにしてみました。

 

フォーマット確認後、暗号化パーティションのパスワードを入力する画面が表示されるのでパスワードを入力します。

次にネットワークの設定画面が表示されます。さくら VPS のインストール情報をもとにネットワーク IPv4 の設定をします。

以上の設定でインストールが始まりますので、ビールでも飲みながらしばらく待ちましょう。

インストールは、5分くらいで完了します。インストールが完了すると、Java アプレットの VNC の画面が閉じます。

ブラウザのさくら VPS のトップページに戻り、サーバを起動します。起動後、リモートコンソールをクリックします。

「VNC コンソールを開く」をクリックします。暗号化パーティションをマウントするため、パスワードの入力待ち状態になっているのでパスワードを入力します。

お馴染みのログイン画面が表示されました。この状態になれば、ターミナルから SSH 経由で接続できるので、Fedora の初期設定をはじめていきましょう。

初期設定は、次のエントリでまとめていきたいと思います。

Tags: ,