• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
 
 

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/128

debianのパッケージで入るsubversionは、バージョン1.1.4(r13838)と 古めのものなので、Pistonを使おうとすると不可解なエラーが出たりします。 そこで、新しいバージョンをソースから入れることにしました。手順をメモしておきます。

コーヒーを一杯飲み終わるぐらいの時間がかかるので、コーヒー好きな方は用意しておいたほうがいいでしょう。 まず、apr(Apache Portable Runtime)をソースからインストールします。0.9.x系の最新バージョンを使います。

# cd /usr/local/src
# wget http://www.meisei-u.ac.jp/mirror/\
apache/dist/apr/apr-0.9.12.tar.bz2
# tar xvjf apr-0.9.12.tar.bz2
# cd apr-0.9.12
# ./configure
# make
# make install
続いて、apr-utilをインストールします。
# cd /usr/local/src
# wget http://www.meisei-u.ac.jp/mirror/\
apache/dist/apr/apr-util-0.9.12.tar.bz2
# tar xvjf apr-util-0.9.12.tar.bz2
# cd apr-util-0.9.12
# ./configure --with-apr=/usr/local/src/apr-0.9.12
# make
# make install
すでにapache2-devがインストールされている環境ではそのまま次のSubversion本体 のインストールに進めます。入っていない場合は、パッケージマネージャを使って入れるか、 以下のようにソースからインストールします。
# cd /usr/local/src
# wget http://www.meisei-u.ac.jp/mirror/\
apache/dist/httpd/httpd-2.2.3.tar.bz2
# tar xvjf httpd-2.2.3.tar.bz2
# cd httpd-2.2.3
# configure
# make
# make install
これでインストールされるapxsがsvnでDAVにアクセスするために必要になります。 さらに、libneonも新しいバージョンをインストールします。これはlibsvn_ra_davを生成するのに必要になります。ちなみに、neonはWebDAVクライアントライブラリです。なぜか、neon 0.25.5じゃないと駄目らしいので、もっと新しいneonが入っている場合でもneon 0.25.5をインストールします。
# cd /usr/local/src
# wget http://www.webdav.org/neon/neon-0.25.5.tar.gz
# tar xvzf neon-0.25.5.tar.gz
# cd neon-0.25.5
# ./configure
# make
# make install
最後に、Subversion-1.4.2をインストールします。 なぜか必要になるので、python2.x-dev (where x >= 3)を入れておきます。
# cd /usr/local/src
# wget http://subversion.tigris.org/downloads/subversion-1.4.2.tar.bz2
# tar xvjf subversion-1.4.2.tar.bz2
# cd subversion-1.4.2
# ./configure --with-apr=/usr/local/src/apr-0.9.12 --with-apr-util=/usr/local/src/apr-util-0.9.12
# make
# make install
これで完了です。コーヒーは飲み終わりましたか?

今回はfsfsを使うのでBarkley DBはインストールしませんでしたが、 bdbを使う場合は、あらかじめBarkley DBをインストールしておく必要があります。

豆知識
svnコマンドを実行してこんなエラーが出た場合、
svn: Unrecognized URL scheme for \
'http://svn.foo.net/bar/baz/trunk' 
libsvn_ra_dav-1.soが見つけられてないことが原因です。おそらく、neon 0.25.5がない環境でSubversionをインストールした事が原因です。neon 0.25.5を入れてからreconfigureしてみると解決するかもしれません。 あるいは、libsvn_ra_dav-1.soにライブラリパスが通っていないことも考えられます。 /etc/ld.so.confにPATHを追加してldconfigしてみると良いかも。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/128

posted by Png genki on Mon 20 Nov 2006 at 13:50

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/127

VMware Playerをインストールすると、VMnet8のサブネットアドレスが自動的に設定されます。 VMware Player関連の設定は、VMware Playerをインストールしたディレクトリの下にある vmnetcfg.exeを使うことで簡単に行うことができますが、この最初に設定されたサブネットアドレスを別なものに変更したいときにはちょっと面倒な作業が必要になります。

具体的には、以下のレジストリキーの値を書き換える必要があります。

HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMnetLib\VMnetConfig\vmnet8\IPSubnetAddress
この値を書き換えて、vmnetcfg.exeを再起動すると、NATのサブネットアドレスが変更されていることがわかります。

注意! レジストリの書き換えは自己責任でお願いします。

つづいて、VMwareのDHCPサービスの設定を書き換えます。 設定ファイルは、C:\Documents and Settings\All Users\Application Data\VMware\の下にあるvmnetdhcp.confというファイルです。 この中にあるIPアドレスを、所望の数字に書き換え、VMware DHCP Serviceを再起動します。

最後にNATの設定を更新します。同じディレクトリにあるvmnetnat.confを開き、所望のIPアドレスに書き換えてVMware NAT Serviceを再起動します。

追記:

上記に加えて、VMware Network Adapter VMnet8のプロパティから、IPアドレスを上記指定した物を使うように設定する必要があります。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/127

posted by Png genki on Sat 18 Nov 2006 at 19:20

This article was migrated from http://rails.office.drecom.jp/hibi/archive/32

画面が限られているので小さいに限ります。
ぐぐたのですが、フォントをダウンロードとか色々あったけど、
簡単な下記にしました。
emacs再起動すれば適用されます。

; set smaller font to default font menu
(create-fontset-from-request "private-fontset"
'((width . 7)
(height . 14)
(fixed . t)
(italic . nil))
'((family . "MS ゴシック")
(family . "Courier New")))

(setq default-frame-alist
(append (list
'(font . "private-fontset") ; フォントセット
)
default-frame-alist)) http://rails.office.drecom.jp/hibi/archive/32

This article was migrated from http://rails.office.drecom.jp/hibi/archive/32

posted by Png satoko on Tue 7 Nov 2006 at 12:23

MacOS版は以下にあります

https://github.com/genki/ViMouse

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/107

最近身の回りでキーボードの話題が花盛りなので便乗してみたり。

日比さんのとことか金沢さんのとこでも紹介されてますが、ThinkPadのトラックポイントは便利そうですね。ThinkPadの画面サイズがもうちょっと大きかったら買っていたんだけど…。

特にこだわりは無いのですが、僕は長いことSONYのVAIOシリーズを使っています。 キーボードはそこそこ打ちやすくて良いんですが、やっぱりノートPCのスライドパネルは使う気にならず、普段は外付けのマウスを使っています。

それでも外出時などは、外付けのマウスが使えないので、キーボードでマウス操作が出来るvimouseというユーティリティを自作して使っています。

setup.msi

C#で3時間ぐらいで作ったものなのですが、なかなか役に立ってくれています。 マウスモードとキーボードモードを切り替えて、vimっぽい感じにhjklでカーソルを移動します。 コンフィグレーションは完全に自分専用に調整されてるので、他の人が使うのには不便かも。

一応使い方。


hjkl: 左下上右に移動
a: すごくゆっくり移動
s: ゆっくり移動
d: 速く移動
f: すごく速く移動
Space: 左クリック
;(セミコロン): 右クリック
n: 中クリック
g: ホイールモード(g+hjklでホイール)
Ctrl+;(セミコロン): マウスモードに移行
i: キーボードモードに移行し、カーソル直下のWindowにフォーカス
o: キーボードモードに移行。フォーカスはそのまま。
y: コピー
p: ペースト
ウイルスチェックとかはしていますが、利用は自己責任でお願いします。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/107

 

posted by Png genki on Mon 2 Oct 2006 at 16:51 with 1 comment

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/106

昨日は友人の藤田さんが主催しているSBR2006の観覧会に行ってきました。 場所は恵比寿ガーデンプレイスのSGIホール。

普段はWeb系のエンジニアに囲まれているので、レンダラ系の人とお話できる機会がなかなか無いのですが、面白い話が聞けてよかったです。 特に、redqueenの大垣さんとLS+DS+E経路問題の話が出来たのが非常に楽しかったです。 来年のSIGGRAPHは大垣さんに是非頑張ってほしいですね。期待しています!

懇親会はゲーム業界の話が盛り上がってました。

そういえば、SMC(Sequential Monte Carlo)で有名なDoucetさんが来日してるらしい。SMCよりParticle Filteringと言ったほうが通りがいいかな。最近はAdaptive MCMCとかいう、それ詳細釣り合いはどうなのよ、というような事をやられているらしいので、とても気になります。本当にAdaptive MCMCが実現できるなら、レンダラ的にも面白い進化が期待できそう。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/106

posted by Png genki on Mon 2 Oct 2006 at 09:38

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/105

今月もRails勉強会@東京に参加してきました。前回に引き続いてドリコム東京オフィスでの開催でした。勉強会の開催も今回で二桁に突入ですね。参加者の数も多くなってきて盛況です。

さて、今回も前半・後半に分かれてオープンスペース形式で行われました。前半は「Rails1.2を先取り」、後半は「Capistrano1.2」に参加しました。

■Rails1.2を先取り

Rails1.1.6から現在までのChangeLogを淡々と読んでいきました。

実際読んでみると、Rails本体に対しては大きな機能追加はほとんど無く、script.aculo.usやprototype.js周辺に機能追加が多かった印象です。特にActiveRecord周辺はほとんど変更されていませんでした。

とはいえ、細かい修正点はたくさんあり、すべては紹介しきれないので、いくつか面白そうなものだけピックアップしておきます。

□link_to_functionがブロックをとるようになった

link_to_functionがブロックを指定できるようになり、 

link_to_function("Show me more", nil, :id => "more_link") do |page|
  page[:details].visual_effect  :toggle_blind
  page[:more_link].replace_html "Show me less"
end
というようなことができるようになります。クライアントサイドで完結するような静的なエフェクトは、こうやって直接書いたほうがよさそうですね。

□String#to_jsonが高速化

前田さんのパッチが採用されて、長い文字列のto_json呼び出しが高速化されました。

また、Rails1.2ではまだ本体に取り入れられない可能性が高いですが、ActiveResource関連のコミットもたくさんありました。

■Capistrano1.2

序盤はCapistrano(旧SwitchTower)の基本的なことを振り返りました。 

後半は、Capistrano1.2のChangeLogを読みつつ、確かRails勉強会#2ぐらいでしたでしょうか、gorouさんの「SwitchTowerの光と影」というセッションで語られた影の部分が1.2ではどうなってるんだろう、というあたりを検証しました。

Capistrano1.2の新機能としては、web, app, dbの3種類以外ののロールを追加できるようになったのが面白いですね。あとは、スレッドを使って複数台のサーバを並列に処理するようになったようです。

ただ、肝心の影の部分はあんまり改善されていないような感じです。パスワード認証の場合はパスワードを統一しないといけないし、鍵認証にする場合にkeychainが使えず、サーバ上に秘密鍵を置いておかないといけなかったり、という部分ですね。

■懇親会
懇親会では、主にmaihaさんやyamazさんと話していました。
アーロンチェアの話題が盛り上がってましたね。やはりエンジニアにとって椅子は重要。

あと、RailsChatで話題になっていたdelegateの話とか。オブジェクトに対するdelegationではなくて、決まった値や関数に対するdelegateの方法として、

class Foo
  delegate :bar, :to => "5#"
end 

Foo.new.bar #=> 5
のように記述すれば良いんじゃないかと提案したところ、maihaさんが喜んでくれたのでよかったです。あきらかに反則技ですが。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/105

posted by Png genki on Mon 25 Sep 2006 at 12:20

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/104

しばらくRuby on Railsを使ってきて、あったらいいなあという機能がいくつか出てきたので、時間ができたときのためにメモ。

script/rename
クラス名とかモジュール名を簡単にリネームできる機能が欲しいですね。 現状はなかなか面倒なので、最初にクラス名を決めるときに結構悩んでしまいます。 script/generateみたいにsvnを考慮してリネームしてくれると素晴らしいですね。
renderキュー
renderの呼び出しをキューに保存しておいて、after_filterで良い感じにマージして出力してくれる機能。キューが空っぽならrender :nothing => trueですね。 メソッド名はdefered_renderとかかな。
まだあったような気がしますが、思い出せなくなったのでまた今度。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/104

posted by Png genki on Sun 24 Sep 2006 at 01:02

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/103

新しいアルファサービスとして、DrecomWantedがオープンしました。

開発に関わった皆さん、ひとまずお疲れさまです!

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/103

posted by Png genki on Thu 21 Sep 2006 at 13:03

This article was migrated from http://rails.office.drecom.jp/hibi/archive/31

ちょっとはまる。

■下記はOK
validates_length_of :product_code, :maximum => 255, :if => Proc.new { |mono| mono.product_code != nil}

■下記はNG
validates_length_of :product_code, :maximum => 255, :allow_nil => true http://rails.office.drecom.jp/hibi/archive/31

This article was migrated from http://rails.office.drecom.jp/hibi/archive/31

posted by Png satoko on Thu 21 Sep 2006 at 04:13

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/102

Document/Viewアーキテクチャでは、Documentが変更されると、Viewが無効化されて再描画されるような機構が備わっています。

Ruby on Railsでも、ModelとViewの関係を明確化して、Modelの変更をafter_updateで検知してJuggernautでクライアントに通知し、JavaScriptで対応するViewの表示を更新するような機構があればスマートかも。 ModelとControllerを一対一対応にして(ActiveResourceとも相性が良さそう)、 ビューに階層構造を持たせる感じですね。

Alexから聞いた話だと、Juggernautの次のリリースはかなり良い感じになるみたいなので、それが出たらちょっと作ってみたいような。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/102

posted by Png genki on Wed 20 Sep 2006 at 12:10