« 2006年09月 | メイン | 2006年11月 »

2006年10月 アーカイブ

2006年10月15日

MT移行完了

mtで使っているmysqlをutf-8で起動するように設定したら、もとがlatinうんちゃらで保存していたエントリが全文字化けして、再構築した瞬間即死亡な状況になっていた。


そのためずっと記事を書けずにいたが、本日3.3導入と共にやっと移行完了。
ふぃ


Sketchup Ver.5.0.297とVer.5.0.305の違い

以前、Mac版SketchupをRubyで操作しようとしてハマった際に記事を書いたが、今回SUのバージョンアップで内部仕様が微妙に変わっているようなので、注意点や変更点を見付け次第ここにまとめていきたい。

コマンド出力内でのrubyコマンドの扱い
・5.0.297の場合
`ruby -r 'open-uri' -e 'puts open("#{uri}").read'`と指定すると、
/usr/local/bin/rubyではなく、/usr/bin/ruby(←Sketchupがインストール?)が実行されるが、socket周りも問題なく使える。

・5.0.305の場合
`ruby -r 'open-uri' -e 'puts open("#{uri}").read'`と指定すると、
同様に/usr/local/bin/rubyではなく/usr/bin/rubyが実行されるが、上とは異なりsocket周りが使えない。

なので、

`ruby -r 'open-uri' -e 'puts open("#{uri}").read'`  を
`/usr/local/bin/ruby -r 'open-uri' -e 'puts open("#{uri}").read'`

とrubyの場所をフルパスで指定してあげると、無事socket周りが使えるようになった。


2台のマシン(Powerbook G4とMacBook)で検証したのだが、ls -tで確認すると、両/usr/bin/ruby共にApril 18に更新されている。
うーむ、よくわからん。


バージョンが上がったときに/usr/bin/rubyも上書きしたのでは無いかと思われるが。
とりあえず/usr/local/bin/rubyとフルパスで指定してやれば、ローカルのrubyを叩けることはわかった。

2006年10月20日

Mac OSX * Subversion

Mac OS X(10.4.8)にSubversionをインストールした後、チェックアウトしようとした時にちょっとハマったのでメモ。


ローカルからはすんなりチェックアウトできたが、外部からsvn+sshでチェックアウトしようとした時に以下のエラーが出た。

$ svn checkout svn+ssh://svnuser@hogehoge.com/home/svnuser/repository/testapp/trunk testapp

bash: line 1: svnserve: command not found
subversion/libsvn_ra_svn/marshal.c:255: (apr_err=210002)
svn: Connection closed unexpectedly


明らかにPATHが通ってないので/etc/profileに/usr/local/binを追加して再起動。
それでも直らなかったので、デフォルトPATHの/usr/binにシンボリックリンクを張ったら、直った。

$ ln -s /usr/local/bin/svnserve /bin/svnserve
$ svn checkout svn+ssh://svnuser@hogehoge.com/home/svnuser/repository/testapp/trunk testapp
Password: ******
A testapp/test2.txt
A testapp/test.txt
Checked out revision 1.

sshとbashの組み合わせだとどうのっていうエラーらしい。
でも動いたから、ヨシ。


2006年10月22日

KML2.1からの新機能

ここを適当に訳しつつKML2.1の新機能をメモ。


■■フィーチャー1:Regions
2.1から、地面との距離によって表示するデータを制御することが出来るようになった。
これら↓を組み合わせて実装する。

■LatLonAltBoxパラメータ
東西南北それぞれ4つの経度緯度を与えることで、任意の範囲を指定。

■LOD Pixel Limitsパラメータ
描画し始める or 終わる高さの範囲を(ピクセルで)指定する。
<minLodPixels>, <maxLodPixels>タグを用いる。。
画面がこのLODパラメータとLatLonAltBoxで定めた範囲内にあるとき、描画されるようになる。

■Fadeパラメータ
フェードイン・アウト効果。
<minFadeExtent>, <maxFadeExtent>タグで、範囲を指定して、それらとの距離を基にαを変える。
ただ負荷が高いため、たくさんのデータを処理する時には使うべきではない。

■Altitudeパラメータ
<minAltitude>, <maxAltitude>タグで指定した距離の間、表示する。

■Nesting Regions
入れ子でもできますよ、ということらしい。

■"Smart" Loading of Region-Based Network Links
NetworkLinkを用いた入れ子構造の例。
<viewRefreshMode>タグ内でonRegionと定義することによって、指定した範囲内に入ったときのみデータをロードする、ということが可能になる。読み込みもとは<href>タグ内で指定する。


■■フィーチャー2:3Dモデルのインポート
いろんなソフトの(=Google Sketchup以外でも)3Dモデルをインポートできる。

■kmzファイルの作り方
hgoehgoeというディレクトリをhogehoge.zipというファイルに圧縮した後、hogehoge.kmzにリネームしてやるだけ。
someplace.kmzを作ろうとしたときは、ファイル構成はこのような感じにする。

someplace/ #=> rootディレクトリ
someplace/doc.kml #=> ColladaモデルをGE上に描画するための位置情報などを記述。
someplace/images/ #=> modelsの中で使われている画像を置く。
someplace/models/ #=> Colladaモデルファイル(hogehoge.dae)を置く場所。
someplace/textures.txt #=> texture(=image/の中にあるファイル)のパスを書く。


■■フィーチャー3:Network Linksを使ってのデータの操作
簡単な流れは以下。

1. NetworkLinkが最初のKMLをGE上に読み込む。
この時、アップデートされる要素にはユニークなidが振られていなければいけない。

2. 別のNetworkLinkが、アップデート情報(Change, Create, Deleteの自由な組み合わせ)を含む新たなKMLを、読み込み済みのKMLオブジェクトに読み込む。
アップデートファイルは変更先のKMLデータを見付けるために2種類の情報を持っている。

・ 変更先オブジェクトを特定するtargetHrefエレメントを持っている。この情報を使ってオブジェクトを配置する。
・変更先オブジェクトを特定するため、Change, Create, Deleteエレメントはそれぞれに変更先に振られているid情報を属性として持っている。


■■フィーチャー4:期限切れの設定
httpサーバやサーバサイドスクリプト等を使って、古くなった情報を期限切れ扱いに出来る。


等々。。


2006年10月31日

ターミナル.appで日本語入力

Macのターミナル.appはデフォルトだと謎に日本語がエスケープされるので、Subversionとかにコミットしたときうまくいきません。


日本語対応させる手順は以下。
zshもbashも基本同じ。


■.zshrc OR .bash_profileに以下を追加。

export LANG=ja_JP.UTF-8
export LESSCHARSET=utf-8


■.inputrcなるのをホームディレクトリ( ~ )に以下の内容で作成。

set convert-meta off
set meta-flag on
set output-meta on

これで、表示もされるしviの中で日本語入力も出来るようになる。


About 2006年10月

2006年10月にブログ「what a bringdown」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2006年09月です。

次のアーカイブは2006年11月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。