Dojo を Custom Build してみる
Dojo を使用しているサイトがあるんですけど
初期表示の際の Dojo 部分が遅いなあと常々思っていて
なにか改善策はないものかと調べていたら
Custom Build したら早くなる疑惑が浮上しました
参照ページはここ↓
なんか IBM のサイト
本家サイト
ちょっとやってみたかんじでは
既に通常版で作っちゃったものに対して
あとから Custom Build した Dojo Toolkit を使うとなると
Dojo によって作成される html が
Custom Build or not でちょっと違ってきちゃうので
そのへんの調整がめんどうでした
具体的にどんなふうにやったかは、またあとで詳しく書いてみます
まあ参照ページ通りなんですけどね。。汗
CentOS 5.2 に rails 環境を構築する
構築したい環境は以下です
Ruby 1.8.6 | |
Rails 2.0.2 | |
thin 1.0.0 |
使用する DB は MySQL ですが、こちらは既存のものを使用します
★ おもむろに ruby
# yum install ruby ruby-devel rdoc irb
とやってみたら、ruby 1.8.5 がくる。。
なんだかこの yum のパッケージではこれが最新みたいだったので
仕方なくソースで ruby をいれました
# cd /usr/local/src/ # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz # tar zxvf ruby-1.8.6.tar.gz # cd ruby-1.8.6 # ./configure
そしたら途中で
configure: error: no acceptable C compiler found in $PATH
と怒られたので、gcc をインストール
# yum install gcc
さて、再開です
※ console 使いたいなら readline 入れるべし(日記の最後参照)
# ./configure # make # make install
インストールできた!
と思って ruby -v をやってみるものの、動かない。。
そういえばパスを通してあげねば
# cd ~/ # vi .bash_profile
ここの PATH に /usr/local/bin/ruby を追加して
# source .bash_profile # ruby -v
これで表示されれば OK
★ gem
次いで rails たちをいれるために gem をいれたのですが、
これもソースから入れました
バージョンはとりあえず 0.9.4
# cd /usr/local/src/ # wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz # tar zxvf rubygems-0.9.4.tgz # cd rubygems-0.9.4 # ruby setup.rb
そしたら、
no such file to load -- zlib (LoadError)
と怒られたので
zlib やら zlib-devel かなと思っていれてみたけどやっぱりだめ
どうやら ruby 用のやつが必要だったみたいです
# cd /usr/local/src/ruby-1.8.6/ext/zlib/ # ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib # make # make install
入れ終わったところでおもむろに再開
# cd /usr/local/src/rubygems-0.9.4 # ruby setup.rb
今度は入ったみたいです
# gem -v
で表示されれば OK です
★ rails
# gem install rails -v=2.0.2
一緒に入ってくる rake 0.8.3 は微妙そうな予感がするので
0.7.3 あたりにしておく
# gem install rake -v=0.7.3 # gem uninstall rake -v=0.8.3
★ thin
# gem install thin
g++ がないらしい怒られかたをしたので
# yum install gcc-c++
完了後に thin を入れ直して成功
ちなみに eventmachine は自分のローカルと同じ 0.12.2 を選択してみました
★ おまけ
subversion からプロジェクトをもってくるために
# yum install subversion
アプリ用ユーザに切り替えて、適当なディレクトリにプロジェクトをチェックアウト
DB 設定やらもろもろ設定したあとに rake db:migrate で
no such file to load -- openssl
と怒られました
これは opessl と同じバージョンの openssl-devel を入れてから
ruby-openssl を入れて解決できるようです
参考にさせていただいたサイトはコチラ
ちなみに、ruby-openssl が入ってない場合は、
# ruby -r openssl -e ""
と入力すると以下のように怒られます
ruby: no such file to load -- openssl (LoadError)
・まず、openssl のバージョンを確認
# rpm -qa | grep openssl
結果↓
openssl-0.9.8b-10.el5_2.1
・表示された openssl と同じバージョンの openssl-devel をインストール
# yum install openssl-devel-0.9.8b-10.el5_2.1
・ruby の OpenSSL 拡張
# cd /usr/local/src/ruby-1.8.6/ext/openssl/ # ruby extconf.rb # make # make install
インストールが完了すれば
# ruby -r openssl -e ""
と入力してももう怒られません
とりあえずこんなかんじで構築完了?
後に console 使おうとしたら
no such file to load -- readline (LoadError)
と怒られてしまうはめに。。
ruby を install するときに、
./configure --with-install-readline
とやっておくべきらしい
それか、readline-devel の入れ忘れとかとあわせて
あとから入れ直すときは
# cd /usr/src/ruby-1.8.6/ext/readline # ruby extconf.rb # make # make install
これで大丈夫らしい
How to kill a [ruby] process.
mongrel が暴走してるとき
$ top
の右上のほうを見ると、zombie なプロセスがいたりします
そこで、
$ pstree -p
を見ると、mongrel_rails のプロセスに
怪しい ruby のプロセスがついてたりします
おもむろに括弧内のプロセス番号で怪しい ruby プロセスを確認
$ ps aux | grep [プロセス番号]
結果、[ruby]
defunct プロセスの親である、mongrel のプロセスを kill しましょう
$ kill -9 [ゾンビな mongrel のプロセス番号]
でもきっと単純に mongrel の再起動でも解決する。。
ちなみに、これでも defunct の親プロセスを確認できます
$ ps -ef --forest | less
ls の時刻情報を date +"%Y%m%d" 的に表示してみる
$ ls --full-time $FILE_NAME | awk '{print $6}' | sed -e "s/-//g"
でも Mac では --full-time オプションが使えなかった。。
postgresql 一覧表示いろいろ
index 一覧の表示のさせかたがわからなくて
調べたとこに載ってた一覧表示法たち
コマンド | 機能 |
---|---|
\d | オブジェクト一覧 |
\dt | テーブル一覧 |
\dv | View一覧 |
\di | Index一覧 |
\d テーブル名 | 指定したテーブルの列を表示 |
\z | 各オブジェクトに対するユーザの権限の一覧 |
return false する
before_filter で render や redirect_to する処理に入ったとき、
そのあとかかる before_filter でも同様の処理があると
double render error になっちゃったりします
そんなときは、render や redirect_to のあとに
return false をつけてあげればいいらしいです
そうすると、あとの before_filter がかからず済みます
なるほどね