水曜日, 5月 31, 2006

Cocoa Bindingのツボ


Objective-CでのCocoa版Star Fleet Empireの開発ですが、長いことCocoa Bindingにはまっていて、停滞してましたが、MacBookが来てから、Macに触る時間が増えて、ようやくわかってきましたよ。
Cocoa Bindingのツボは、データの変更をかならず「Setterを通して行う」っていうことのようです。Objective-CはC言語とオブジェクト指向記法のハイブリッド言語なので、インスタンス変数を変更する場合にC言語的な記法で変更する方法と、メッセージを通して行う方法があります。例えば、"name"っていうインスタンス変数があって、setterが"setName"な場合、nameを変更する方法は、C言語的になら、
name = "hogehoge";
っていう感じで直接代入する方法があります。これに対してメッセージを使う場合、
[self setName:"hogehoge"]
っていう風に、オブジェクト指向の記法で書けます。
通常は前者の方が実行効率が良いので、前者の記法を使うのですが、nameをbindingして画面で表示している場合には、後者を使わなければならないのですね。おそらく理由は、Cocoa bindingというのはメッセージを監視して、変更メッセージにあわせて画面を変更する技術だからでしょう。だからC言語的記法で直接変数を変更しても決して画面には反映されない。これが私のハマっていた点で、Cocoa Bindingのツボのようです。
これを突破口に、一気に開発を進めたいところです。

日曜日, 5月 28, 2006

Mac BookでWindows その2


無事Mac BookにWinXPをインストールできたので、次にboot campで作成したCDからドライバーをインストール。
サウンドカード、LAN、ディスプレイ表示、Bluetoothはちゃんと認識されてます。
無線LANはエラーになってます。カメラはクリックするとブルーアウトします(涙)。
キーボードは106キーボードを選んでるんですが、"\","_"が認識されず、漢字キーも割り当てられていないようです。マウスはワンボタンなので、右ボタンがなくって不便。ctrl+ボタンでメニューが出てくれないものでしょうか。
しかたがないので、外付けのキーボードとマウスをつないで使ってます。
まだboot campが新 Mac bookに対応してないのかもしれません。
体感速度はびっくりするほど軽いですよ。OS Xの方はコンパイルはびっくりするほど早いのですが、操作している分にはあんまり速度差を感じないのですがねえ。

Mac BookでWindows


Mac BookにWindows XPのパッケージ版を買ってきてインストールしてみました。
買ってきたのXP Home EditionのOEM版。Proにしようかと思ったけど、どうせメインはMac OS Xなので、アプリが動けばいいやって思いまして Homeにしました。
boot campでパーティションを20GほどWindowsにまわし、XPのCDからブートしてインストールを実施。最初、XPのインストーラでパーティションをさらに分割してインストールしたら、途中で再起動できず何度やってもだめ。
もう一度boot campでパーティションをつくり直してそのままインストールしたらあっさりインストールできましたよ。boot campってパーティション分けはできない仕様なんでしょうかねえ。

木曜日, 5月 25, 2006

Mac bookでKnoppix


届いたばかりのMac Bookで、早速boot campを試してみました。
しかし、私はWin XPのパッケージ版なんて持ってないので、代わりにPC版のKnoppixにチャレンジ。
Knoppix 5.0日本語版のDVD版を使いましたが、なんの問題もなく起動しましたよ!
intel Macになって、MacとPCの垣根はほんとになくなったのですねえ!

水曜日, 5月 24, 2006

落雷


落雷で小田急線がストップ。私は新宿駅の電車の中で30分も待ってます。
家に着くのはいつのことやら・・・・

Mac Book 到着!


もう日付が変わってしまったので、昨日となりましたが、注文していたMac Bookが到着しました!
5/16に注文して、5/19に出荷、5/23に到着ですから、注文からちょうど一週間でやってきました。
私が買ったのは2.0GHzの白モデルをメモリー1G、HDD 80Gに増設したもので、17万8千円くらいでしたよ。
これで停滞しているSFEのCocoa版開発が一気に進むかな?

火曜日, 5月 16, 2006

新Vaio Type-U & Mac Book 発表!


今晩はぶったまげたよ。Vaio Type-Uユーザーであり、小型ノートMacを待ちわびていた私にとっては、いきなりダブルで新製品が出てびっくり。
Vaioの方はより軽くなり、解像度もアップ、キーボードもついていいことづくめ。slashdot.jpでもコメントがベタ褒め状態。
でも私はIntel Mac版の小型ノートを待っていたのでパスと思ったら、そっちもMac Bookとしていきなり登場。
ついさっきBuy nowボタンを押しちゃいましたよ。これで、SFEのMac版の開発がはかどりますよ!

木曜日, 5月 11, 2006

無人島より


休暇で旅行中な私は今、瀬戸内海、芸予諸島の大島と伯方島の間にある見近島という無人島にいるのですが、なぜかここ、私の京ポンのアンテナがバッチリです。
試しにこうやって書き込んでみているわけですが、こんなところでインターネットにつないでブロッグを更新した人はきっと初めてでしょうねえ(笑)

水曜日, 5月 10, 2006

C#


Objective-Cでプログラムをやってて思ったのですが、ガベージコレクションがないということが、いかにプログラミングの制約になるかということを実感してます。
その点、MonoでC#を使ってプログラムを作れば、GCが使えて幸せかもって思い、C#を学び始めましたが・・・C#はシンプルさに欠けますねえ。
特にstructとusingにはかなり不満。structはCの構造体とぜんぜん違うのに同じキーワード使っているし、そもそもこんな機能が必要とは思えないし。
usingは2つの違う意味で同じキーワードを使っていて、javaのimportのかわりに使っている部分はともかく、本文中で使う方はやっぱり不要な気がする。
Java5.0やRubyに対する私の不満と根源的には同じです。"Simple is best"に反します。

Mono


MS嫌いな私ですが、".net"のオープンソース実装である"Mono"にちょっと興味を持ちまして、.net frameworkとC#のことをいろいろ調べ始めてます。
"Mono"はLinuxで結構まともに動いているようで、開発環境"Mono Develop"とか画面用のFramework"GTK#"がかなり完成度を上げているようです。
Fedora core 5にもMonoが入っているようで、乗り換えようかなと思って、雑誌についてたDVDから古いVaio-Uにインストールしてたら"illegal arch"とか言ってインストールできない・・・
もうcyrixなんてサポートしてくれませんか(涙)

休暇中


世間では先週はGWで休暇、今週は休暇明けで張り切って働いていると思いますが、私は先週は仕事で日曜まで出社、代わりに今週は代休で休暇中です。
今回も旅行中で、今日は今治滞在中です。瀬戸内国立公園のしまなみ街道周辺の島々をのんびり廻る予定です。
開発は、とりあえずSFEのMacOSX版をObjective-Cでのんびり作ってます。

月曜日, 5月 01, 2006

Objective-Cでの開発


Objective-Cを学び始めたらこれが面白くって、"Tokyo Railways"をあとまわしにして、MacOSXのCocoaライブラリを使ってプログラムを作り始めてしまいました。
今作っているのは"Star Fleet Empire"のCocoa版です。地図/星/帝国数のスケールを一気に広げて、新ルールも追加してかなりのスケールで作成しています。
Objective-Cは不慣れなので今は手探り状態なのですが、慣れてくればペースがあがってくるでしょう。
リリース目標はたぶん6月末くらいかなあ。

コミック:時をかける少女


原田知世主演で映画化された、筒井康隆氏の小説のコミック化。
映画と小説はどちらも10代前半に観た/読んでいて懐かしかったのと、ゆうきまさみ氏の推薦文にひかれて読んでみたら、これが面白い。
映画/小説はどちらも数日の話だったと思うけど、それを一年に延ばし、高校生活やタイムパラドックスの話をうまく織り込んで話を広げる事に成功してます。落ちを知っているのにも関わらず、ハラハラして読みましたよ。

友人の家でゲーム


最近やっているゲームがすごく偏っています。
今回も"Shadows over Camelot"と"Railroad Tycoon Board Game"。
Camelotは久々にプレイヤー側大勝利。ナチュラルな裏切り者の人たち(?)が参加しないと順調すぎます。
Tycoonはまた負け。今回は物がなくなるのを恐れすぎて、点を稼ぎきれませんでした。