『こぶたのラッパ』はサイトを移動しました!
今後はこちらをどうぞ
<   2006年 09月 ( 8 )   > この月の画像一覧

2006年 09月 30日
世界の片隅で.jgzと言ってみる
AjaxプログラミングにおいてPrototype.jsは非常に重要なライブラリですが、ファイルのサイズが大きいことを理由に良くない!といわれることがしばしばです。

バージョン1.4.0時点で47kbですので、確かに1JavaScriptファイルとしては大きいですし、なんと言ってもテキストのファイルが50kb近くあるというのが生理的に受け付けないのかもしれません(1kgの鉄と1kgの綿はどっちが重い?)。

そんなあなたに(自分もだけど)おすすめなのが、JavaScriptをgzip圧縮する方法。
Windowsの場合、Cygwinを使うかGNU zipなんてのを使えば圧縮できます。

ファイルサイズ | ファイル名
47,445 bytes | prototype.js(デフォルト)
32,717 bytes | prototype_compress.js(Rhinoを使って圧縮)
10,537 bytes | prototype.jgz(gzip圧縮)
9,464 bytes | prototype_compress.jgz(Rhino + gzip圧縮)

このとおり、Rhino と組み合わせることで10kbも切ることができます。
htmlからは、
<script language="javascript" src="/js/prototype_compress.jgz"></script>
で普通に呼び出せます。

ただし、これだけだとブラウザが正しくファイルを解釈してくれないので、次のような.htaccessファイルを作っておきます。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ".*Safari.*" [OR]
RewriteCond %{HTTP:Accept-Encoding} !gzip
RewriteRule (.*)\.jgz$ $1\.js [L]

AddType "text/javascript;charset=UTF-8" .jgz
AddEncoding gzip .jgz

自分では試していないですが、Safariはgzip圧縮されたJavaScriptを受け付けてくれないそうなので、.jgzのリクエストがきた場合に.jsを返すように設定します(なのでprototype_compress.jsも隣りに置いておく必要あり)。
ついでにAccept-Encodingも見て、gzipを扱えないブラウザの場合も.jsを返します。

本当は.js.gzという拡張子をつけたかったのですが、AddTypeがこれを認識してくれないので(ピリオドが2つあるから)、仕方なしに.jgzという勝手拡張子を作りました。
IANAに提案しようとか、世界に向けて推進を図ろうなどとおこがましいことは考えていませんので、とりあえずひっそりと書いてみました。
[PR]
by smilkobuta | 2006-09-30 20:37 | Webサイトシステム

2006年 09月 30日
タロットのページデザイン
近々パートナーが開業(?)する「タロット」。
そのページを作成しています。
c0007274_16233530.jpg

といっても、もともとデザインされた素材があるので、並べるだけ(^^*
[PR]
by smilkobuta | 2006-09-30 16:26 | LuC

2006年 09月 30日
葉唐辛子
隔週で野菜を宅配してもらっていますが、今日届いた野菜たちの中に葉唐辛子が入っていました。
c0007274_12582914.jpg

今まで自分で買ったこともなく、佃煮以外には料理も思いつかなかったのですが、まずは実(もちろん唐辛子)がたくさんついていることに驚きました。

はさみを使って「収穫」すると、、
c0007274_130616.jpg

こんなに。用意していたタッパーには入りきれませんでした。
一回で二度おいしい葉唐辛子です。

残りの葉で何を作ろうかと考えたのですが・・・
c0007274_1314780.jpg

結局佃煮に。
しかもかなりちっちゃくなってるし。まさに葉モノの神秘。


[さらに]
c0007274_13581488.jpg

お昼のパスタには実の方の青唐辛子をいれました。
細切りピーマンに混ざり、爆弾パスタ化。


--- --- ---
有機野菜・無農薬野菜の宅配 ミレー。千葉で作った野菜を送ってくれます。
[PR]
by smilkobuta | 2006-09-30 13:04 | その他

2006年 09月 24日
-●---- トンボ玉 ----●- Part.2
8月に作っていたトンボ玉を使って、これができました。

<8月に作ったトンボ玉>
c0007274_20244898.jpg


<そして完成品>
c0007274_20203512.jpg


なんじゃこれ?と思われるかもしれませんが、ま正面から見ると・・・



c0007274_20213918.jpg
結局なに?といわれそうですが、「生命の樹」です。
生命の樹ってなに?という方は、
こちらをどうぞ→ Wikipedia 生命の樹
漫画なんかにもよく出てくるので、ご存知の方も多いかと思います。

おまけで、生命の樹になる前のトンボ玉たち。

c0007274_20255653.jpg

[PR]
by smilkobuta | 2006-09-24 20:27

2006年 09月 13日
PEARのMDB2+DB_DataObject+Oracle
PHPのPEARのライブラリで不具合がいくつか放置されていたため、この組み合わせでかなりはまってしまいました。

・MDB2(2.2.2)
・MDB2_Driver_oci8(1.0.2)
・DB_DataObject(1.8.4)

あちこちの場所で不具合報告や対応方法などが挙がっていましたが、それぞれ適用してもうまく動かず、結構な時間を費やす羽目に・・・

<参考にしたページ>
Bug #3581 oci8::numRows() and _fillBuffer() issues
Bug #7907 uses database as username
Bug #8628 tableInfo with MDB2

あと一時間やってだめならあきらめようと思ったのですが、最後の最後でうまくいってしまいました。
エラーの詳細をレポートする気力は残っていませんが(PEARにレポートする気力も・・・)、せっかくなのでパッチだけは残しておきます。
同じ組み合わせではまっている人の一助となれば、今日の私の一日も報われそうです。

>>>パッチをダウンロード

パッチを当てた後、次のような作業でテーブルごとの DataObject サブクラスが作成されます。
■DataObject.iniの作成
----
[DB_DataObject]
db_driver = MDB2
database = oci8://ユーザー名:パスワード@ホスト名/TNS名
schema_location = /path/to/スキーマファイル置き場
class_location = /path/to/クラスファイル置き場
class_prefix = DAO_
debug = 5
----

■作成実行
----
php DB/DataObject/createTables.php DataObject.ini
※いくつかエラーが出ますが、無害そうなので無視。
----

■スキーマファイル(iniファイル)を手修正
スキーマファイルが出力されますが、主キーは設定されていませんので、手で修正します。
※こんな感じ
----
[{テーブル名}__keys]
{主キーカラム名} = K ← これをテーブルごとに設定する
----

DataObject側の不具合はまあ仕方がないかと思われるようなものですが、MDB2_Driver_oci8の不具合は目を見張るものがありました。本当にこれで動かせている人がいるのか不思議。
[PR]
by smilkobuta | 2006-09-13 17:22 | コンピュータ

2006年 09月 06日
YUKIのWAVEを買いました
注文していたYUKIの新しいアルバム”WAVE”が昨日届きました。
引っ越し後、パソコンとスピーカーが離れ離れになってしまったので、いつものパソコンのiTunesは使えないのですが、DVDプレーヤーを使ってかけっぱなしにしています。
Wave (初回限定盤)(DVD付)Wave (初回限定盤)(DVD付)
YUKI

ERJ 2006-09-06
売り上げランキング : 1
おすすめ平均

Amazonで詳しく見る
by G-Tools

1. 長い夢(←シングル)
2. メランコリニスタ(←シングル)
3. ドラマチック(←シングル)
4. 裸の太陽
5. ふがいないや(←シングル)
6. バースデイ
7. ヘイ!ユー!
8. あおぞら
9. You've got a friend
10. ユメミテイタイ
11. 夏のヒーロー
12. 歓びの種(←シングル)


それにしてもシングル集みたいなアルバム・・・まさにアルバム2枚分くらいの価値ありです。
シングル曲以外もみんないい感じの曲ばかり。
特に「裸の太陽」なんかはYUKIの歌声がすごくかわいいので、YUKIファンならば必ずやグっとくるはず。

あと、「ふがいないや」は「ふがいないや、いや」を繰り返していると思っていたら、実は違っていてびっくりしたり。

これを機にユキンコリニスタ(YUKIのファンクラブに入るとこの名前で呼ばれる)になるか・・・
[PR]
by smilkobuta | 2006-09-06 21:11 | かわいいもの

2006年 09月 06日
All-In-One Tracを使ってみました
最近コンピュータ関連のエントリばっかり書いていますが、また今回もそのひとつです。

お仕事のプロジェクトや要件管理にと「All-In-One Trac」というのを導入してみたのですが、これがかーなりいい感じです。

本当は慣れているWikiを使おうかとも思っていたのですが、あちらこちらでTracの方がいいよという声を耳にしてためしにと思って使ってみたのですが、想像以上に使い勝手が楽ちん!

一人でちまちま使う分には「タイムライン」や「ロードマップ(マイルストーン)」はそれほど使わなそうですが、「チケット(要件、タスク、不具合の単位)」の発行はすごく楽しくって次々に発行しまくっています。
チケットを発行してはその要件(もしくはタスクや不具合)の進捗をコメントでどんどん書いていけるので、要件ごとに管理ページをきっちり作りこんでいく手間がまったくなく、管理のための時間が一気になくなってしまいました。

もっと大人数で使う場合には、プロジェクトをきっちり分けたり、マイルストーンを正確に定義したり、チケット発行のガイドラインを用意したりといったことも必要でしょうが、そんなのを気にせずメモ的に使う分にはかなり楽しいツールです。

涼しくなってきたし、なんだか仕事もはかどるなあ。
[PR]
by smilkobuta | 2006-09-06 20:53 | コンピュータ

2006年 09月 06日
Gmailでエラーコード766
突然Gmailがエラーの警告メッセージを吐いてアクセスできなくなってしまいました。
システムで処理を実行できませんでした(エラー コード 766)
数秒後にもう一度やり直してください。

c0007274_11434821.jpg

ほかのアカウントでログインしていた別のブラウザでは正常にアクセスできるので、アカウントの問題なのか、つながっているサーバーの問題なのかは不明・・・

30分後にようやくアクセスできるようになりましたが、仕事でも使っているのであせった・・・

同じエラーコードであたふたしている人はたくさんいてこのDiscussionで紹介されている、別のURLでアクセスしてごらんというのはちょっとうまくいきました。
http://mail.google.com/mail/h/
https://mail.google.com/mail/

「ちょっと」というのは、あちこちクリックしているとまたエラーになったりするので。

原因不明ですが、昨日の夜に大きなデータのファイルを受け取ったのが原因かもと考えて、とりあえずそのメールは削除してしまいました。
[PR]
by smilkobuta | 2006-09-06 11:49 | コンピュータ