2008 年 6 月 29 日 | カテゴリー: プログラム

0133713458.01.MZZZZZZZ.jpg

サクサク Smalltalk – オブジェクト指向のアートとサイエンスという本が手に入らなくてしょんぼりしていたのですが、その原著である The Art and Science of Smalltalk が公開されていました。

Stephane Ducasse :: Free Online Books

# しかも公開されたのは知っていたけどどこにあるのか分からなかった BlueBook もありますね。

Methods whose only purpose is to access variables should be named after the variable they access. For example, if you have an instance variable called size, the method which returns its value should be called size , and not returnSize, getSize, giveSize or anything else. Similarly, the method which sets its value should be called size: , not setSize: or anything like that.
In a similar vein, try also to make method names declarative rather than imperative. In other words, it is better to use totalArea than compute TotalArea. This makes the method name communicate the kind of value it returns. This is important when you want to cascade messages.

メソッド名一つとっても、理由を説明せず「とりあえず動詞にしとけ」的最近の風潮もどうなのかと思うところですが、こちらはしっかりと書いてあります。
また、プログラム入門書の「オブジェクト指向とは○○である」という記述に対してツッコミを入れたくなるケースは多々あるのですが(インスタンスとオブジェクトはほぼ同義とか、クラスオブジェクトやメタクラスの存在も忘れないであげてくださいみたいな。あとクラス寄りの説明とメッセージ寄りの話がごっちゃになってたり)、いくら言語仕様によるとはいっても、BlueBook の第1章を読めばシンプルに書かれているのにーとか、ちょっと愚痴入りましたすいません。

コメントは受け付けていません。
2008 年 6 月 28 日 | カテゴリー: 買った本

4757719671.01.MZZZZZZZ.jpg

たった一つの願いを込めて、雅臣は祈り続ける。学生時代に出会った風変わりな親友。そいつが熱く語った夢。はじめてイヨに出会った日。研究を続ける日々。日本の将来のため、三人でどこまでも頑張れると信じたあの日々。イヨに対する、自分の気持ちに気づいた瞬間。
「……潤とイヨさんを…………助けてくれ……!」
頬を伝った雅臣の涙が、石像の頭に落ちた。

3人の幸せそうな笑顔の日々が浮かんで泣かずにはいられないシーン。
昭和2年、ガーゴイルが生まれた時代の、ある錬金術師3人の物語。

自分を重ねてしまわずにはいられない作品でした。
夢を語り合える仲間がいるのは本当に幸せです。
そして、皆が幸せになれる未来を想像することは本当に楽しく、熱く語らずにはいられません。

「んー」
少し考えてから、お姉さんはこう言う。
「一番好きだった時代にいたくてね」
目を閉じて語る彼女の顔には、イヨの面影があった。

本に影響されやすい単純なやつめって言われても仕方ないでしょうけど、このお話は読めてよかったです。
幸せな未来を作ることに希望を持っているクリエイターへオススメできる一冊だと思いました。

2008 年 6 月 25 日 | カテゴリー: プログラム

2008062502.png

Java Application が HTTP Proxy 経由で接続を行うにはプロキシ情報の設定が必要です。
いくつか方法はあるのですが、今回 Jakarta の HTTP Client (HttpComponents – HttpComponents Downloads) はどれにも該当しないということでハマりました。

JavaVM に設定する例を3つ挙げた後、最後に Jakarta HTTP Client での設定について記述します。
proxy の URL が proxy.hogehoge.com で port が 8080 の場合の例。

Java Application 起動時に設定

java -Dhttp.proxyHost=proxy.hogehoge.com -Dhttp.proxyPort=8080 -jar foo.jar

プログラム実行時に動的に設定

System.setProperty("http.proxyHost", "proxy.hogehoge.com");
System.setProperty("http.proxyPort", "8080");

JavaVM の設定ファイルに直接記述

JDK をインストールした場所を JAVA_HOME として記述します。
JAVA_HOME/jre/lib/net.properties を編集します。

# http.proxyHost=
http.proxyHost=proxy.hogehoge.com
# http.proxyPort=80
http.proxyPort=8080

https や ftp も同様の方法で設定可能です。

Jakarta HTTP Client での proxy の設定

JavaVM の設定は無視するようです。インスタンスに対して設定を行います。

HttpClient client = new HttpClient();
client.getHostConfiguration().setProxy("proxy.hogehoge.com", 8080);
2008 年 6 月 25 日 | カテゴリー: プログラム, 日記

2008062501.png

「初心者セミナー:Flex/AIRって何?~Adobeを通して見える明るい未来」

昨日は FxUG (Flex User Group) のセミナー参加で、Adobe に行ってました。
OSC や LL のようなイベントと違って「案件」とかビジネス空気が流れてるあたりだけ普段と違う環境ですけど、何人かの方とお知り合いになれてよかったかなと思います。
どちらかというと、mixi オフなかんじが強かったかも?

経緯

AS 自体はうめさんが触りまくってるのもあって最近見ていたし、BlazeDS を使ったメッセージで幸せになりたいと考えていたところ。
が、BlazeDS 動かないよ BlazeDS。
BlazeDS – BlazeDS – Confluence

Java 周りの環境構築のノウハウは問題なく持っているわけですが、はて、Sample は動くのに Sample Code をコンパイルしたものは動かない。意味が分かりません。
後はどう見ても生成されてるものが違う、つまりコンパイルオプションか何かが隠れてるくらいしか思いつかなかったんですが、もう中の人にでも聞かないとダメなフラグが立ってました。

ので、何かユーザグループがあったら相談してみようかなあというところ、ちょうど kazumichi さんが初心者セミナーを開かれていました。募集がたった20人じゃもう間に合わないだろうなあと思っていたのですが、とりあえずメールだけ送ったらまだ入れたということで参加です。
結論から言えば、nobu さんの「コンパイルオプションみたいのいるんですよ」的発言で曖昧部分解決。
いや、そのオプションはこれから調べるんですけどね。

セミナー

会社とか案件とかビジネスって単語が飛び交うあたりでどうしようかと思いましたけど、抑えても何なので。

コンポーネントエクスプローラは、Squeak (Smalltalk 環境)のクラスブラウザみたいでいいかんじに興味持てましたよ。自分でコンポーネントを追加できそうなフラグが見えたので、その場でコードを見せてもらいましたけど、できますね。
Adobe Flex 3 Component Explorer

GUI に関しては、Swing と同様の壁持ちって印象です。パネルでまとめて貼り付けて、みたいな閉じた世界の集合をまた集合に含める形にすると、他集合の要素が見にくいんですよね。
いくつかのデザインパターンで避ける方法はあるけれど、それもあまり美しくないし。

北海道

その後の飲み会で10人ほど参加。楽しかったですよ。
今回だけじゃなくて、今後ともよろしく構っていただけたら幸いです。

2008 年 6 月 22 日 | カテゴリー: 買った本

4757718713.01.MZZZZZZZ.jpg

オシリスやハナコは出てくる植物のお話。
最後のハナコのお別れの場面が泣けますよ。

アニメは1~3巻の内容をうまくバラけさせて演出していたんだなあと分かりました。
植物との相互作用のためのインターフェースに関する研究は何かしらあると思うのですが、人格を付与する手法だと、今回の双葉のようになってしまうのでしょうか。
何かしらのシステムと組み合わせる(植物の状態に合わせて動くシステム)等ならともかく、「人間と植物の相互作用」だと考えないといけないことが多くなりそうです。どうするのがいいのでしょうね。

自分が研究していたときに参照した、慶応大学の植物インターフェースに関する論文。
I/O Plant: A Creative Environment for Designing Human-Plant Interactions.

Page 1 of 3123
TOP