エンドトゥエンドテスト東京Ruby会議で、良くわからないので、エンドトゥエンドテストを書いて見せてOKを確認するという話があったのだが、エンドトゥエンドテストというのは初耳だったので質問した。ブラウザーに入力した項目がアプリケーションに来てどうしたのような解答でなんかわかったようなわからないような、いずれにしても、細粒度のテストではないのだろうとは見当はついたけど。後になってmoroさんが、ユニットテスト-結合テスト-エンドトゥエンドテストというフェーズ分けをしているから、と教えてくれた。(どうでも良い話ではあるけど、僕の勤め先用語だと、UT、I(Integration)T、A(acceptance)Tで、単体、結合、受け入れとなる)そこで、ふと、ユースケースを藁人形ではなくテストにいきなり落とすのかな、と気付き、ちょっと衝撃を受けた。CFよくわからんのだけど、なぜCFReadStreamをなまで使う情報より、NSInputStreamをて使う情報のほうが多いんだろう?CFなんちゃらのほうがリリースルールとかわかりやすいから使いやすいと思うんだけど。いうわけで、識者の意見が知りたい。msiRuby-1.9.3-p374のWindows用インストーラパッケージを作成しました。ASRのページからどうぞ。msiRuby-2.0.0-rc1のWindows用インストーラパッケージを作成しました。ASRのページからどうぞ。ポーラをさがして妻が図書館から借りてきて読んでいるうえに、子供まで読んでいたので、おれも読んだ。おもしろかったし、それなりの感慨もある良い作品だった。比呂美)主人公は小学6年か5年の女の子。どちらかというと落ちこぼれた子供用の塾だが、というのは教育方針が自由第一だからだ。いえ、その自由は、学問の自由により人間は自立するということを意味するのだが(主人公はなんとなくは理解しているが、納得まではしていない)、そこで主人公は同じクラスのしかし疎遠な子と仲良くなる。疎遠なのはクラスが異なるからだ。主人公は(この本、読み終えてからいろいろ考えてみたが30年くらい前の本ではなかろうか、返してしまったので確認できない)中流家庭の子供でおそらく父親(作中でほとんど不在な点がまさに中流っぽい)は勤め人、母親は専業主婦。私立の中学を受験するつもり。クラスには仲良し友達が3人いて、いずれも幼稚園からの友達だ。運動系、ピアノ系、(一番中庸な子は忘れた)、がいずれも系統から見えるように同じクラスに属する。ところが、塾で仲良くなった子は(そこは曖昧に書かれているが)おそらく母子家庭で、塾の月謝の捻出にも苦労している。主人公にとっておにぎりというものは、母親が作ってアルミホイルで包んだものだが、塾で仲良くなった子にとってはコンビニで買った品名を書いたシールが貼ってあるものだ。いうような違いに主人公は気づき、クラスというものを漠然と意識するようになる。いうように、まさにYAものの王道を進みながら(性についても多少出てきたりいろいろ)物語は、迷いネコのポーラを探す旅に突入する。探しているのは、広いマンションに住む紫のカーデガンを着た上品な老婦人だ。物語は嫁姑問題や、老人性痴呆の問題なども抱え込みながら突っ走る。世の中は難しい問題をいろいろ抱えながら、しかし進んでいく(それも結構しぶとく)と終わる。最後に見事なイラスト(挿絵画家がきちんと本を読んで書き分けているのには感心する。丁寧に作られた良い作品だが、それだけに後述の粗が目についた)が入り、それほど悲観的になることはないということも告げる。小中学生には良い本だろう。粗はあって、お金持ちの描写があまりにステロタイプな点はひっかかりまくった。車に乗ってフレンチレストランへ行って、食前酒にワインを飲み、食後に子供たちを送り届けるって、それは飲酒運転で(なんの悪気もなく描写されている点からは)編集者も作者も「お金持ち=外車=フレンチレストラン=ワイン」というステロタイプだけで流してしまったことが良くわかる。まともな子供向けの本にそういう犯罪描写を入れるのは良くないことだ。それにしても、と以前読んだ風力鉄道に乗ってでも感じたが、主人公を優秀な子供にせざるを得ないのは、児童文学の対象がまともな書籍を自ら読解する能力を持った子供、という現実があるからだというのは理解できるが、(抽象化された世界で多様な価値観を示す風力鉄道と異なり、本書が)本来語り掛けるべき対象(つまり、学問により自由になるべき人間)は、主人公の側ではなく、主人公の塾の友達のほうだし、この本が送るエールは主人公ではなく、主人公の塾の友達のほうで、しかしそれは読者とはなりえないという矛盾だ。やって世界は回るんだからしょうがないことだなぁ。FINもないのにNSStreamEventEndEncounteredちょっとiOS用にネットワークプログラムを書いていたのだが、どうにも解せない。NSInputStreamからreadすると0が返ってくることがある。いや、ブロックすべきだろう。tcpdumpを取ると、0が返って来た後もサーバはバシバシpushして来て、それに堂々とackを返している(シミュレータで実行しているので、OSXのターミナルでtcpdumpが取れるのだ)。iPadにダウンロードして試してもやはり途中で止まってしまう。試すと、あっと言う間にNSStreamEventEndEncounteredが通知される。シミュレータで実行すると、これまたサーバは呑気にPUSHして来てOSX側はACKを返している(のが延々とサーバの気が済むまで続く)。何このアプリケーション置いてきぼりストリーム?こんなおかしな実装は無いだろう(ドキュメントにもNSStreamEventEndEncounteredは、ストリームのお尻で通知とか書いてある)と思うのだが、どうやってもそうなる。やってみてもエラーになる。閉じられたから後はcloseメッセージを送るしかないようだ。水面下ではサーバにACKを返しまくっているんだよなぁ。closeメッセージを送ると、こちらからFIN立てて送るし、ますますわけわからない(FINを送るってことはソケットはちゃんと抱えているわけだが、しかしストリームは尽きたと判断しているというのがわけわからん)。して、読み込みバッファがフルになると、ソケットのレイヤーでは特に何もしないけど、アプリケーションのレイヤーでは尽きたと判断するってことかなぁ。400バイトくらいなんじゃないかというくらいにあっという間にreadメッセージに0が返ったりEndEncoutneredが返ったりするんだけど、拡大するためのメッセージも見つからないし)。(PUSHに対して何も考えずにACKを返しているソケットより下のレイヤーもおかしい。アプリケーションがバッファを空にするまではACKを返さなければ良いわけじゃん)こういうのがまさにアップルってことなのかなぁ(と不思議に思うのだが、さてどうすべきなんだろうか)。GovernmentをGithubで公開したのが1月15日。1月21日に中国がGithubをブロックしたことが観察された。いうことかなぁと思ったら、単なる接続障害だったようだ。ネット覇者の真実を読了していた)買って読んだ。義博)おもしろかった。外交の不思議さ、国家関係の微妙さ、国家機関の仕組みなどなど、興味深い話が満載のうえに、混乱している国家の中で身動きが取れなくなった人々の不条理な生活とそれを救出するための奇妙なシナリオ作成と実際の救出劇が織り込まれているのでつまらないわけがない。Kindleで読める適当な本を探しているのならお勧めできる。このてのやつ(ノンフィクションというよりはノンフィクションノベルだと思うが)はKindleで読むのにちょうどいい感じだ(本当のことを言うと、人物が相当出てくるので、途中で誰が誰だかわからなくなりかけたが(Kindleは読み返しができないし、不思議だが検索できる人名とできない人名がある。できる人名はできるから中黒のコード違いとかではなさそうで不思議だけど、おそらく濁点がついた名前の正規化問題ではないかと睨んでいるのだった)でも、どうにかなった)。カーター大統領の頃、イランでアメリカ大使館占拠-館員人質事件があったのだが(これは知ってる)、その裏でたまたま脱出に成功した6人のアメリカ人がイギリス人やカナダ人に助けられてテヘランに潜伏生活(まるでアンネの日記みたいだが、遥かに好条件ではある)しているのを、CIAが救出するという嘘のような(そして手の内をすべて書くことはあり得ないだろうから、ノンフィクションと言っても荒唐無稽なフェイクと当然のこととして事実が混ぜ合わされた)ノンフィクションを、当の工作員が執筆したという作品だ。当時はカナダありがとう旋風がアメリカで巻き起こった有名な脱出劇(当時はCIAの工作で脱出したのではなく、カナダ大使館の協力だけで脱出できたと報じられたらしいの)だが、全然そんなことがあったのは知らなかった。それだけにおもしろい。そもそもアメリカ大使館占拠事件そのものが日本から見ていると不可思議極まりない事件だった。占拠したのは革命派(ということは、イラン国内でみればゴリゴリの極右勢力ということだ)で、政府とは無関係ということになっているのだが、しかし交渉はイラン政府とアメリカの話であり、しかもイラン政府は交渉の場に立たず、なんだかよくわからないという状況。・近いのは文革中国かもしれない。政権と無関係に毛沢東がいてその影響下で子供と学生が赤い本を持ってそこらじゅうを破壊したり政府高官を監禁したりしている2重権力による無政府状態と、政権と無関係にホメイニがいてその影響下で学生が米英を攻撃していて政府が機能できないある種の無政府状態。いうわけでまともに交渉できないうえに、大使館を脱出して潜伏しているという状態そのものが不安定きわまりなく(脱出-潜伏しているアメリカ人=スパイ間違いなし=死刑という図式となり得る)いつ破綻するかわからないうえに、カナダも匿っていることが明らかになったときの影響の大きさにビビり始めているので、工作員の登場となる。読んでいると、主人公であり語り手であり著者ということになっている工作員(ただし当時既にプロジェクトマネージャになっているのだが、失敗時の影響のでかさゆえに、自ら工作しにイランへ潜入する)がCIAのあれこれを説明しているときよりも、カナダ人の家に落ち着くまでの6人の逃避行が圧倒的におもしろい。そこには妙なフェイクが入っていないからストレートなリアリティとそれによる緊迫感があるからだろう。それに比べて、特に著者が6人と合流すると、突然リアリティがまったく無い言葉遣いによる会話が交わされて妙な感じとなる(脱出そのものはフェイクでもなんでもなく事実のはずだが、翻訳の口調が突然、フィクション化してしまうのだった。ハードボイルド小説なら何も気にならない喋り方なのだが)。説明がないが、3人だけイラン外務省の中で比較的自由に行動しているアメリカ人外交官が出てきて、これがなんだかさっぱりわからなかった。イラン外務省にいたので、イラン政府側が大使館を占拠している勢力と無関係に外交ルートを残すために匿っていたと読めば良いのかなぁ。3人も6人の脱出が明らかになると不利な状況となる)もう1つ、この本の中で、さんざんならずもの国家(アメリカ固有の言い回しだ)扱いしているにもかかわらずコントラ問題がこの後で発覚したり、今ににたっても必ずしもアメリカとイランの関係は悪くない(たとえばイラクやリビア、タリバン支配下だったアフガニスタンと比べてみる)点は、地域バランスの問題なのだろうが興味深い。ヒントっぽいことが1回だけ何気なく出ているが、どうも「イランはアラブではない、ペルシャだ」ということらしい(なんだかよくわからないが、人種についての微妙なニュアンスを感じさせる)。印象的だったのは、カナダ政府が6人のために偽造パスポートを気持ちよく発行してくれるが、CIA用の発行を頼むとあっさりと断るくだり。なんか、とても好感を持った(し、なるほどスパイというのは業の深い難儀な職業だなぁと思う)。タンホイザーのウォズ新国立劇場でタンホイザー。なんか妙に丸っこくてウォズみたいなタンホイザーだなぁと観ているうちに、話の内容までウォズみたいだなぁとか思い始める。IIIをあてがっておけばいいやみたいな感じでジョブズから隔離部屋に押し込められているうちに時代が変わりマッキントッシュが主流になっているのも知らずにさらにGSを開発してサイン入れて売り出したり、記憶喪失になったりと、技術の女神と戯れていてふと時代が変わったことに気付きクパチーノの町に飛び出すウォズ。そこに向うからアップル社員がやってくる。デザインとな(と、ウォズ戸惑う)新しいエレガントな製品がたくさんあるんですよ。それは重要だ(と、ウォズ大いに興味を惹かれてついていく)そして2幕が始まる。(ウォズが帰って来たというので製品担当者たちが次々にやってくる)これを見てください。蓋があかないみたいだけど。