著作一覧 |
よい点:迸るユーザーエクスピアリアンスってのはこれか、ってくらい、きれいだ。サファリの映し出す世界は相当衝撃的だった。一応、ブラウジングしてみた世界は、各種Windows,Solaris(CDE,Gnome),リコーフォントを入れたGnome on Linuxとかいろいろ知っていたが、驚いた。影云々の前にフォントが全然違う。使ってみないとわかんないもんだね。後、キータッチは良い。初代98ノートを思い出した。
悪い点:慣れない点を含む。なんといってもdeleteがbackspaceとして振る舞うのは許しがたい(というか位置からdeleteが無いと言うか)。それから、USBポートが左にある点。ノート用マウスって、使い勝手からケーブルが短めなんだがそれが非常に悪い方向に働いてしまう。つまり、ケーブルをキーボードの上をまたがらせないと右に置けないんですが。これは辛いな。あと、やはり(Macとは関係ないけど)タッチパッドは使いにくい。すごく。スクロールボタンの欠如も辛いかな(Looxだと3番目のボタン+アキュポイント(の富士通版)でスクロールするからそれに慣れてるし。言う方がどうかしてるんだけどNetBEUIが無い。しょうがないけどさ(と思ったらプリンタサーバがAppleTalkをサポートしてることがわかったから問題なし)。音が悪い(いや、安価なほうのノートに言う台詞じゃないのはわかってるけど)
バグっぽい:サファリ。パスワードが正しく入らないようだ(基本認証に失敗する)。これはキャプチャして確認しないと断言できないけど(単に送信してないだけにも見える)。だから、これはIEで打ち込み。
シェルの出し方がわからないけど、これは後回し。とりあえずマカーとして使ってから裏側へ進む予定。
圏外から。kdmsnrさんの翻訳(かな)。
やっぱ、まだまだトランザクションスクリプトで十分だよなって考えて書いてきたが、こういう挑発的なことを書かれると考え直しちゃうよな……いかんいかん、だが、ちょっと変えられる部分は変えることにするか。
でも、オブジェクト爆発症候群っていうかドメインモデル高脂質症ってこともありえるから注意は必要(たぶん、そんなことはわかっていて、むしろ貧血気味な人であふれてるから注意を促してるんだろうけど)。
if a == b c += 1 elsif a == d c += 2 end if c > 100 e.apply endこれを、たとえば
a.apply_current_status(c) c.apply_current_status(e) ... class C def apply_current_status(e) if @value > 100 e.appy end end ... endのように、オブジェクトのインタラクションとして記述することにメリットがあることは容易に想像できる。たとえばaの状態判断が増加しても、メインとなっているサービス部分の処理への影響が出ないことなんかは端的に出ている。
procs = [] tx.each do |item| procs << [ item.foo, resource.get(item.bar) ] end procs.each do |stat| stat[0].apply_current_status(stat[1]) end問題は、この実装が、最初の仕様書とは似ても似つかぬことだ。
コンテキストが抜けてる。
上のC#apply_current_statusは、あくまでも「この」仕様でのCの振る舞いであって、別の仕様(仕様というより処理だし、その処理を決定するのはコンテキスト)では当然、異なる振る舞いをすることになる。それを無視すると、意図が読めなかったり、単純にCやAに処理が移動していくだけになる。すると、コンテキストを各クラスがコードで判断することになっていくから、かえってだめだめだ。
だからこそのストラテジなんだが(当然Cとその派生物はコンテキスト分存在するーーとまではいかないだろうが)、こんな単純な例でストラテジを出すこと自体が高脂血症になっている。
うーん。
っていうか、日記にこんなこと書いてる余裕はないんだが。最初の予定通りにやれって。
仕様が反映できていないのは、バータリーなコンテキストそのままの仕様だからだ。
最後のループで処理を回してくことを可能にするには、全体に対してのルールをあらかじめ用意した全体の仕様を示しておいたうえで、個々のコンテキストでどのルールを適用するかを示せば良いのだろう。
そこを手抜きで、暗黙のうちにわかっている全体ルールを仕様に示さないために、似ても似つかぬことになるわけか。
って言うか例が極端なんだけど。
なんか読み直しているうちに、もっと極端なトランザクションスクリプトを念頭に置いてアンチパターン化しているらしいと気づいた。本当にエンティティbeanのセッタとゲッタしか使ってないような処理のことを指してるんだな。っていうか、EJB2.0以降はビジネスメソッドをエンティティbeanに入れるでしょう。
くまりんさんがいろいろ教えてくださるおかげで、はっと気づいた。C-hの発想が無いの部分。あちゃー、全然、気づいてなかったよ。
サファリだけじゃなく、Mozilla Firebird、Mozilla、(Galeonは違った)、はURLのところで、C-h、C-d、C-f、C-b、C-a、C-eが使えるんだ。さすがにC-pで1つ前のURLへ戻るとかはだめでみんなプリントになるようだが。
また、Mozilla Firebird(面倒なんで他のはurl欄しか調べてない)のtextareaは、C-p、C-nも使える。
こうなると、GaleonだけはIE並の使いにくさってことになるな。(って言うか、今更、LinuxマシンのほうではカーソルやDeleteに手が伸びる癖がついてるからあまり関係ないけど。)
とりあえずC-dが使えるから、Deleteキー(というか位置はBackspaceなんだけど、どうも僕は位置より名前を信じてしまうらしい)の件は解決みたいだ。
ジェズイットを見習え |
お初です。ああ、ついにどんしてしまったのですね。お奨めは Apple store で US keybord 付き (PC に近い) だったのにぃー。しばしマカー生活を楽しんでくらはい。
そっか、US keyboardとは考えつきませんでした。
をぉ。(廃)な人柱および、Ruby/Cocoa関連よろ