トップ 追記

日々の破片

Subscribe with livedoor Reader
著作一覧

2014-07-25

_ 最近のおれの考えるWebアプリケーション

Insider.NETの連載が終わった。

ASP.NETによる軽量業務アプリ開発

全部で6回にまとめたが、最後の2回(能書き部分を入れると最後の3回分)が当然(まとめになるわけだし)一番の要点だ。

一昨年あたりから、単発のWebアプリケーション開発を何度かやっていたのだが、やるたびにどんどんシンプルになっていって、結局、余分なことをまったくやらずに、ASPXだけでASP.NETを使ってちゃちゃっと作るのが一番ではないかと考えている。

もちろん前提がいくつもあって、ごく少人数(できれば1人)の開発であるとか、クライアント側にいろいろ制約を付けられるであるとか(あるいは極端に制約があるクライアントである、逆のようだが結局は同じ意味だ)、Windowsモノリシック(RDBがSQL Serverで、.NET Framework 4(3.5で十分)以上を何も考えずに使えて、IISがある)とかで、開発も少人数ならその後のメンテナンスもほとんど手間をかけられないとか、そんなところが重要だったりする。

ASPXの何が良いかというと、スクリプト言語の開発と同じで、何がデプロイされているかは、そのサイトのディレクトリを漁ればわかるということで、何をばかなと思うかも知れないが、一度バイナリーにしてソースと別に管理すると、なぜだか正しくデプロイしたのだろうな? というようなところで引っかかって来ることが稀にあって、障害時にはそれが稀であってもある以上はそういう可能性まで考慮しなければならず、厄介だったりする。(ということまで視野に入れているのだから、ASPXが全部合わせて128ファイルみたいな規模に適用することはあり得ないことになる)

元々、JSPやらASPがくずというのは、1997年前後に周知されたわけだが、その理由は開発者がソフトウェア構成というものに余りにも無頓着だったことと、JSPのコンパイルの遅さ、ASP用のコンポーネントがフリースレッディングモデルだったり、アパートメントスレッディングモデルのくせにスレッド競合を考慮していないものを使ったり、ADOにバグがあったりとか、JDBCが腐っていたりとか、技術そのものよりも、その適用の問題だったわけだ。

で、三層に分けるのがいろいろと都合が良かったので、そこら中が三層で組まれるようになって(ロバストネス分析のバウンダリー、エンティティ、コントロールがMVCパターンのV、M、Cにマッピングされてみたり(Web MVCには、Smalltalkのデザインパターンではなくロバストネス分析が大本にあるんじゃないかなぁという気がする)、それを忠実に再現してStrutsとかが生まれてみたり、ノードのレベルではWebブラウザー-Webアプリケーション-RDBになってみたり)、まあ3つというのは、精霊と父と子の組み合わせであったり人間が文殊菩薩に近づくための方便だったり、子豚の兄弟だったりきりが良い。

テトラスクロール (1985年)(R.バックミンスター・フラー/芹沢 高志)

(3といえばバックミンスター・フラー)

で、それをいかに半自動的にウィザードを使って構築するかというのが、Visual StudioのASP.NETアプローチになったりするのだが、愕然とするような実装を見たのが2010年頃だ。

iPhone用のWebアプリケーションの実装を検収していたら、ASP.NETにLabelを貼り付けて、そこにビハインドにあるVB.NETのコードで組み立てたStringのインスタンスを流し込んでいる。なんだこりゃ。

いきなりVisual Studioを起動して、Webアプリケーションを開発しようとプロジェクトを選択すればASPXが作られて、ビハインドのコードも作られる。あとはASPXから余分なものを取り外してLabelを張って、ひたすらコードで文字列を組み立ててTextプロパティに設定すれば完了、簡単。そりゃそうだが。

そんな厄介なことするくらいなら、単にASPXで良いじゃないかと思ったが、まずそういうVisual Studioのウィザードの使い方を見たのが引っかかった。特に、その実装というかコードそのものは悪くなかったのが引っかかった点だ。

それとは別にjQueryを使ってクライアント側のコードをいじくっているうちに、JavaScriptの使いやすさに開眼したというのがあった。無茶苦茶記述しやすいじゃん。ああそうか、関数が一級市民なプログラミング言語というのは本来こう記述すべきだったのだな、と得心した。

それから、Visual StudioがEclipseほどではないにしろ、動作が遅くなったというのにも引っかかった。遅さを感じる原因は、ヘルプが出て来ないことにある(途中から少しまともになったが、一時、あまりのヘルプの遅さに本気でVisual Studioを捨てるところまで行った。今でもヘルプ(Microsoft Help Viewer)の起動時の遅さとインデックス検索の遅さは耐え難いのであまり積極的にVisual Studioを使う気にはなれない)。

そうこうするうちに、JavaScriptが実用的な速度で動作するようになり、わりとどこでもHTML5が使えるようになってくると、jQueryのブラウザーの差異吸収の有難味がなくなってきた。document.getElementBy...を$と数ストロークで書けるのは楽だが、jQueryのAPIを覚えるよりもDOMのAPIを覚えるほうが良い(つまりDRYだ)。

Visual Studioのヘルプが遅くて使い物にならないので、.NET FrameworkのコアなクラスとAPI以外は調べる気にもならなくなって(コアなところは普通に覚えてしまうし、C#の言語仕様は仕様書を読むのでどうでも良い)くる。

しかも今やASP.NETのコンパイル(は元々速かったけど)にしてもJSPのコンパイルにしても、考慮する必要がないくらいに高速だ。

JavaScriptがそこそこの速度で動き、DOMのAPIが共通で利用できるようになって、ASP.NETのコンパイルが速くて、C#の記述力が異様に向上した結果(var宣言とラムダ式の導入が大きい。これによってJavaScriptに遜色ない記述力が得られている)、ちょっとしたWebアプリケーションなら、HTMLを1つ、あとはモデル相当のコードをASP.NETに記述してJSONを返すようにして、UIに関連するものはすべてJavaScriptで記述すれば良いじゃないかとなった。あとはRDBとしてSQL Serverを使えれば(容量が収まればExpress Editionで十二分なパフォーマンスが出る)、それだけで十分だ。

連載は無理くり行数を減らすようにコードを固めたところがあって、本来はもう少しファイルを分離したり、統一的に扱えるようにおれさまアドホックAPIを導入したりするところだ。で、そのあたりが4種類くらいのAPIを妙な方法でASPX内に組み込んだりしているのが難点だが、それでも相当まともなASP.NETのWebアプリケーションへの適用方法を示せたと思う。枯れた技術だけを利用して効果を上げるというのは大事なことだろう。

で、おそらく2010年代中半の時代精神というのがあって、向うがどう考えるかは知ったことではないが、以下にあげるものと通底するものがあるとおれは考える。

オブジェクト指向は禁止するべき

(まったく同意しないが、おれの連載でのプログラミングスタイルはまったくオブジェクト指向ではないから(ASP.NET直書きである以上単なるシングルメソッドだ)、結局は同じことのようだ)

フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門 (アスキー書籍)(上田 隆一/後藤 大地/USP研究所)

(効果的な適用を考えながら基本的な技術のみを組み合わせてシステムを作るという点では通じるものがある)

マイクロサービス(microservices)とは何か

(おれの連載はまったくマイクロサービスのマの字も意識してないのだが、だがこれも根底で通じるものがあるように見える)

まだあったはずだが忘れた。


2014-07-19

_ 最近読んだマンガ

以前購入したもののまだ読んでいなかったがらくたストリートを読む。

がらくたストリート (1) (バーズコミックス)(山田穣)

これはいい。

ジャンルとしては変な日常もの(一応等身大の登場人物がふつうっぽい街に暮らしているのだが、異物がいろいろ入りまくる)だろうけど、間違えて孔子を引用する友人と知識の固まりの友人と主人公の妙に守備範囲が広い小学生3人組(+主人公の幼馴染の女の子)がまずとても良い組み合わせ。そこに宇宙人とか稗田礼二郎とか宇宙人のペットとか山の神様とかテキヤの大将とかアナログ技術者の父親とか妙に若い母親(絵が若いだけでレコードをかけるとなるとボウイとか言い出すのでおれと同じくらいの年齢なのかも)と主人公以上に守備範囲が広いお兄さんとその友人(2人の会話にはやたらと金田という固有名詞が出てくるが、アニメのスタッフオタクらしいので金田マジックの金田なんだろうけど、おれにはさっぱりわからないが、わからなくてもおもしろく読ませるんだから、作り方がうまいのだろう。おそらく、守備範囲を広く取っているから、必ずひっかかる点を押さえてあって、30の引用のうち12以上がわかればはまり込めるのだろう。というわけで金田はわからなくても稗田とかボウイとかはわかるわけで問題なし。で、そのあたりの機微をうまく会話に盛り込んでいるのがうまさの秘訣ではなかろうか)

妖怪ハンター 天の巻 (集英社文庫)(諸星 大二郎)

それにしても、それでも町は廻っているとか、このタイプのマンガの秀作が次々出てくるってのは良いことだ。

というのとは別に、以前から気になっていたうしおととらを読む。

うしおととら(1) (少年サンデーコミックス)(藤田和日郎)

なんか、女性関係を把握するためにも最初から通して読めというアドバイスをもらってなんのことだかさっぱりわからないまま、結局1から全巻読んだが、なるほど、やたらと女性が出てくるマンガだった(が、そこはあまり重要ではない)。これは確かに良い作品で繰り返し売られているのも良くわかる。マスターピースだな。

で、読んでいてつくづく感じたのが、実に少年サンデーなマンガだということだった。

1960年代に週刊の少年マンガ誌というのが出そろって、その当時の子供だったおれはほぼ全部読んでいたのだが、途中、1970年になると父親が購買対象を少年チャンピオンと少年マガジンに集約したため、サンデーやジャンプはたまに友人の家や床屋などでしか読むことがなくなったのだが、それでも1960年代の頃からのカラーはあまり変わっていないように思える。(キングも稀に読むことはあったが、まさにそういう分布だったのだろう、結局週刊誌としては最初に消えていった)

少年マガジンは、作家主義の雑誌で、カラーはその時点の主要な作家のカラーで決まる。で、なぜか主人公のヒーロー主体のマンガが多い。1960~1970年代は梶原一騎だ。水木しげるはゲゲゲの鬼太郎。赤塚不二夫はバカボンで手塚治虫は三つ目が通る。永井豪ならデビルマンだ(いやはやなんともってのもあったけど)。

こういった作品に対して少年サンデーはもう少しパターンがはっきりしている。

赤塚不二夫はおそ松くんで、藤子不二雄のオバQで、手塚治虫はバンパイアやどろろだ(いずれも大して人気は出ずに早く終わる。確かサンダーマスクもやたらと早く終わったような)。特に少年サンデーのカラーが顕著なのが水木しげるの作品が河童の三平なことで、全部(おそ松くんは直接的ではないが)、比較的普通な人たちのところに異界のものが訪問してきて居ついてしまうことから物語が始まる。鬼太郎は鬼太郎が主人公だが、三平は三平の家に居ついた河童やタヌキとの共同体のお話だし、オバQ以降の少年サンデーらしい藤子不二雄の作品はすべて普通の家に居候(怪物君は隣家にだが)として住み着いた不思議者とのお話で、遥か後になってうる星やつらを読んだら同じく普通の家に住み着いた不思議者のお話でサンデーはサンデーだなぁとつくづく思ったが、うしおととらも普通じゃないがまあモティーフは近いものがある。少年マガジンのタイプじゃない。ヒーロー主体ではなく、人間と異形のペアが主体だ。

あと、少年サンデーのマンガは少年マガジンのマンガに比べて女性が相当重視されている印象がある。もちろん巨人の星には明子がいるし、明日のジョーには紀子がいるし、愛と誠は愛が主人公だし、翔んだカップルはマガジンだが、主人公の愛ですら、重要ではないように感じる。

それに対して、BBの(名前忘れた)主人公の恋人はえらく重要だし(森山の次に重要)、うる星やつらではラムちゃん抜きでは作品が成り立たないし、あだち充のマンガも同じで女性抜きでは成り立たない。成り立たないのは、物語へ意思を持った人物として介在しているからだ。愛と誠の場合、物語の意思は作家の梶原一騎にあるから(そこがマガジンは作家主義と感じさせる点だ)、実は愛はいなくても物語が成り立つように思える。

で、うしおととらについても、作中の主要なエピソードを(途中の全員集合するところはどうでも良い気がするのだが)女性たちが支えているので、これもまた少年サンデーっぽいなぁと感じたところだ。一言でいえば、少年サンデーのマンガに出てくる女性はキャラがたっているということだな。(全然重要ではないスプリガンの女泥棒が異様にキャラだちしているのも少年サンデーのマンガということで納得してみたり)

で、家のネコを見ていて、ときどき、とらみたいだなぁと感じたりするのだが、つまりはとらがネコみたいなのだな。多分、すごく自分勝手なことを考えているのだが、そういはいってもなんだかんだと飼い主になついている感があるところとか、主人公との距離の置き方とかが本物のネコみたいだ。


2014-07-08

_ 僕は蛾のことはあまり知らない

家にオリーブの樹があるのだが、というか買ったのだが、もちろんそれは多少はアッパスキアロスタミの影響があるのだが、最初の夏にでっかな芋虫に出会って仰天した。

オリーブの林をぬけて [DVD](アッバス・キアロスタミ)

地面に手りゅう弾のようなパイナップルを小型にして縦横に刻み目を入れた黒い塊がたくさん落ちていて、これは何かなと思っていたのだが、ある日、とてつもなく巨大な芋虫がいたのだった。

その芋虫は脱皮の都度倍々になるということをあとで調べて、なるほど止めで倍になったときにはじめてわかるのかと納得したが、それにしてもおっかない。良く見ると周囲は丸坊主になっている。でかいだけにばりばり食うのだ。

さて次の年、これがまったく出ない。その年の春が例の3/11なので一瞬、おお人間様には気付かない何かが原因で虫も活動しないのかと思ったが、そんな馬鹿げたこともあるまいと考え直し、ということは最初の年には小豆島から卵が産みつけられた状態で東京に来たのが孵化したのであって、それが飛び立つ前に叩き潰したから、もう無いということなのだな、と納得した。当然、その翌年もいない。

ところが、その次の夏には出ましたよ。

はて、どういうことなのか? と、知り合いになった蛾の博士に聞くと、あっさりと、ふらふらしているし東京にも普通にいるから来たんでしょと言われた。

なるほど、そういうものなのか。

ということで、あまりに蛾のことを知らないことに気付き、蛾の話を教えてもらうことにした。

で、今を去ること6/25に総勢5人の蛾の話を聞く会が開かれた(博士1人に聞き手4人である)。

MOTHPHILIA 氷堂涼二“蛾”集(氷堂涼二)

(蛾萌え本の監修者)

_ 昆虫の先生とは何か

まあ、昆虫の先生といってもファーブル博士くらいしか知らないので、まず一体どういう学問なのかそれを教えてもらった。

生物学というのは2種類の柱から構成される。1つはメソッド(目的)と、もう1つはマテリアル(材料)。メソッドには遺伝とか発生とか分類とかがある。マテリアルには昆虫とか魚類とかがある。学会にも材料系学会とかある。

(突然、「自己犠牲のFactorに覚悟と命名」という走り書きがここに入っているが、Factorがなんだか忘れたが、遺伝子だろうな。日本人の学者が発見したので、自己犠牲だけに覚悟と命名して、それが国際学会でも用語として通用するようになっているという話のようだ。もちろん覚悟完了だろうなぁ)

覚悟のススメ(1) (少年チャンピオン・コミックス)(山口貴由)

メソッド系。

分類というのは、学名を付けることである。これは記述型学問である。学問が深まると知識が貯まるが、他分野とのインタラクションはない。

クラゲの発光物質の研究:物質自体の研究、薬効の研究(ピアネスとメモしてあるがなんのことだ?)→バイオミメテックス(模倣学、ミミックのことらしい)

バイオミメテックス→たとえば構造を真似て製品化する。

例)フクロウは音をたてずに飛ぶ→尾羽の構造が特殊だからだ→新幹線のパンタグラフとして製品化

---

経済活動としての生物学

・生物の保全から利益を得る→途上国の生物には多様性がある→ABS(遺伝子情報へのアクセス)。

その国の生物から得られる知見から得られた知財を元にした製品の利益は、元の国の資源を利用しているのであるから還元すべきであるという考え方。

(日本はリソースを輸出し放題の状態)

_ 先生の仕事

蛾の分類、新種の発見。データベースの作成。

都立大学は牧野冨太郎(小学生のころ、「がんばれ土佐っぽ」という紙芝居を見させられたなぁと思い出すのだが、思い出すのは「土佐っぽ」という妙な響きの言葉だけだったり)の標本館があるので、植物、動物の分類のメッカ。

南西諸島から台湾の蛾。

DNAを使って名前を調べる→DNAを利用しての同定というのは、完全に一致するわけではない(「グラデュアルに違う」)。ライブラリの整備によってDNAを使って名前を調べることが可能となる。違う種と考えていたのが同じ種ということは良くわる。

_ 昆虫とは

節足動物。カブトガニ、三葉虫、蜘蛛、ダニ、サソリ、ムカデ・ヤスデ(多足類)、昆虫(脚6本、頭胸腹)。

蝶や蛾はトビケラから進化。

蛾は日本で知られているのが6000種。25年前は4800種だった。おそらく8000種は存在すると推測している。

一方、蝶は250種。

蝶と蛾の違いはFAQの1つ。

シャクガモドキ、セセリ→腹が太い蝶

蛾は耳を持つ→夜間飛行→コウモリを識別するためだろう

蝶の学名「ロパロケラ」→棍棒状(の角)。しかしシャクガモドキはフサフサ。

一方、蛾の学名は「ヘテロケラ」(ヘテロなのでフサフサ)

蝶は派手→昼間飛ぶ。触角が棍棒状→飛びやすい

蛾はメスがフェロモンを出す。触角ふさふさで感じ取る(嗅覚を持つのは雄のみ)

蝶はたった250種しかいないのですべて覚えれば区別がつく。(専門家の意見だ!)

・夾竹桃や馬酔木を蛾が食べ、その蛾をヤモリが食べて死ぬ(なぜここにメモしてあるんだ?)

分類学史の本はおもしろいので読め。

自然を名づける―なぜ生物分類では直感と科学が衝突するのか(キャロル・キサク・ヨーン/三中 信宏/野中 香方子)

美しいでっかい青い蛾が何かというのはFAQの1つ:オオミズオアオ。ヤママユガ(天蚕の仲間)

蛾の幼虫の特徴。|| || ||のようになっている。尺取用。一方ハバチの幼虫の脚は||||||となっている。

成虫の渦巻き状の口は脚2本がくっついたもの→長いと飛びながら蜜を吸える。

ストロー状の口が無いコガネガ→白亜紀から。白亜紀には種子植物がまだ存在しないので、シダの胞子を食べる→ストロー状の口を持つ意味がない。アゴがある←(すごくおもしろい!)追記:白亜紀後期には被子植物が登場して虫媒するようになったので、それより前の時期のことだと思う。

オオミズアオ→口が無い

幼虫期は高山で2~3年、アラスカでは7~13年?と長い。

低温に強い。グリセリン濃度が高くて不凍液(サナギの話か?)。

サナギの中では幼虫は溶ける。しかし消化管、神経、?管は解けずに残っていて成虫に持ち越される)。

サナギをCTスキャンした研究がある。(ビデオ鑑賞。なぜか最後の段階を見せない)

(これかな?)

Researchers use CT scanners to watch living pupae develop into butterflies inside chrysalis

(こんなものもあった。)

(最初は鳥の卵みたいだが、途中から蛹が出てくる)

_ 最近の図鑑

最近の図鑑は白バックの写真が流行している。

(メモ取らずに見ていたのでどの図鑑(というか出版社か)わからない)

イモムシハンドブック(安田 守/中島 秀雄/高橋 真弓)

(このあたりかな? それにしても、アマゾン評を見ると、いかに幼虫を好きな人がいるのかちょっと驚き)

日本動物分類学会にはなんでもある(というメモが最後に書いてあるけど、なんのことかわからん)

おまけ

日本版ナショナル・モス・ウィーク


2014-07-04

_ 1930年代アメリカも世界の終末を見ていた

500円の図書カードをもらったので、本屋に行き、最初マンガを買うかと思ったが特に物理的な本として欲しいものはなく、この書店には岩波文庫が充実しているからドイツ文学かロシア文学でも買うかと眺めていたがそれほど充実していなくて何もなく、ふと見ると聞いたことないアメリカ文学があり、価格も540円でちょうど良いし、妙に薄っぺらいし、題名も奇天烈、帯には「≪孤独な娘≫よ、わたしを助けて、わたしを助けて」とでっかく書いてあってこれまたなんだかさっぱりわからないインパクトがあるのでそれを買って、通勤用に読み始めた。

とんでもない本だった。

孤独な娘 (岩波文庫)(ナサニエル・ウェスト/丸谷 才一)

冒頭、主人公の孤独な娘(というのはペンネームだ)は、新聞社の一室で読者の悩み相談の原稿を書くのに苦しんでいる。社名からここはニューヨークだとわかる。

悩み相談といっても、どうも日本の新聞のやつみたいに、1対1の形式ではなく、複数の手紙に対して1つの回答を書くもののようだ。

ささっと背景が説明される。

新聞社の売り上げ向上策のひとつとして読者にインタラクティブな幻想を抱かせるために作ったコーナーで、社内ではジョーク企画として扱われていること、適当に宗教的な美辞麗句をちりばめた総花的な回答を掲載すること、主人公の若者(ペンネームは孤独な娘なのだが、男だ)は牧師の息子でそれなりに宗教的素養があることから雇われたこと、時代は大恐慌が落ち着いたとはいえ、まだまだ不景気で職につけたということだけでめっけものなので、是が非でもこの職にしがみつきたく感じていること、などなどだ。

彼はとりあえず手紙をいくつか読み始める。

お産が重く次に妊娠したら命が危ないと医者に言われて、夫にもう子供は産ませないと病院で約束したのに退院したらすぐに約束を破られて、また妊娠してしまった女性から、どうすれば良いのか? という質問(彼女はカソリックなので堕胎はできない)。

16歳の女の子の自分もほかの子のように遊びたいのだが、生まれつき顔面が陥没しているため両親以外からは人間扱いされていなくて生きているのが辛いという質問。

13歳の妹がアパートの屋上である男によからぬことをされたので妊娠が心配だが、母親へ言うと逆に妹が折檻されることがわかっているので困っているという15歳の少年からの質問。

読まされたこちらがどよーんとするのと同様に孤独な娘も打ちのめされてタイプする手が止まる。

そこに上司がやってくる。ぱぱっと手紙を眺めてぽいっと投げて、いかにもでたらめな美辞麗句をふんふん口述させる。後は自分で考えろといって出て行く。

この上司はこの後も出ずっぱりなのだが、実に軽薄にしてスマート、知的にして無慈悲な、ニューヨーカーだ。

孤独な娘は、牧師の息子ということだけで雇われた(本人に宗教的な気持ちはまったくない)ので、最初は上司とウマもあって、適当に書き飛ばしていたのだが、徐々にアメリカ1930年代を覆う空気のうち読者たちの側に精神を同調させはじめている。

1955年の翻訳ということで、ジーザスクライスト! と罵るのだが、「ちぇっ」と訳してルビでジーザスクライストと書き、訳注でイエスキリストの意味と説明してある。

古い翻訳だが抜群に日本語がうまいので、一体誰が訳したのかとあらためて表紙を引っくり返して丸谷才一と知る。そりゃうまいはずだ。

丸谷才一は中学生のころ、笹まくらを読んで心を揺さぶられたが(元々はNHKラジオの朗読の時間で聴いたのだったが、結局本で読んだ)、日本語のうまさ(語彙選択のセンス)は圧倒的だ。

笹まくら (新潮文庫)(丸谷 才一)

(太平洋戦争を徴兵忌避者として切り抜けた男が、戦後もなにかからの逃走者として絶えず不安な人生を送る(その象徴が笹まくら――藪での青姦――という雅語)様子を描写することで、近代的自我が持つ不確かな現実感と表面的な平和の裏にある暴力の予兆に対する不安を象徴させた作品、お、さすがに読後30年もたっているだけにすぐさま教科書的な解答が書けたぞ)

そこで読者はジーザスクライストがキーワードとわかる。

最後の章に至るまで、孤独な娘の魂の放浪が続く。仕事(実質的な仕事、つまり宗教的な美辞麗句を垂れ流す、ではなく、魂の救済を求める読者からの真摯な声に応える、という徐々に芽生えて来た主人公の気分のこと。このネジレが本書のテーマとなる)に対する葛藤から就業放棄して寝込んでみたり、酒場(本来の当時のアメリカ人の読者にとっては自明なことに禁酒法時代なので、特にそういう説明はないのだが、訳者がうまく処理しているため、読者のこちらも自明に禁酒法の下ということがわかる)で上司や同僚と酒を呑んで暴れたり、公衆便所に潜む同性愛者をいたぶったり(kill by numbersってこういうことなのか、とえらく納得した。down in the parkだ)、婚約者をいじめたり、上司の奥さん(を誘惑し|から誘惑され)たり、外交官に捨てられたせいで不具者と結婚した女(ここにもドラマがある)の悩みの手紙を個人的に解消させてしまったり、また寝込んだりする。

その合間にも職場に行って手紙を読み、上司が持ち込んだ手紙を読まされる。

肩幅の広い女(これも聖書にある言葉なのだろうか?)からの手紙がインパクトが強い(翻訳もうまい)。

そういった外界のできごとに応じて、孤独な娘は世界を否定したり、寛容になったりするが、最後、巌のような心の持ち主となり、すべてを受け入れられるようになる。そして、キリスト! と叫びひと悶着あった末にあっけなく死ぬ。

もちろん、ジーザスクライストの受難物語の1930年代アメリカ版を意図したものだろう。

作者は30代まで極貧(といってもパリへ遊学したりしているが、文学者として生計をたてようとしたから極貧になったと考えても良いのだろうな、というか1920年代に文学者が食べていくのはどう考えても大変なことだろう)、後にハリウッドに招かれてシナリオを書くようになり、そこで結婚、やっとのことでとった長期休暇で奥さんとドライブに行って奥さんともども交通事故で死ぬ。

この作品は解題しているやつによればブラックユーモアだそうで、確かに書き方は内容が異様なまでに深刻であるにもかかわらず滑稽な表層を持つ(これも丸谷才一のうまさが光っている)。が、そういってしまうと新約聖書もブラックユーモアということになってしまう(という読み方も確かにできなくはない)。

確かに岩波文庫に収まるにふさわしい文学の傑作だった。

が。

#コミットしてこの日記の題を見て思い出したが、元々はイリアエレンブルクを持ち出して第一次世界大戦のアプレゲールな気分(世紀末が何事もなく過ぎ去ったら、世界の終わりが待ち受けていたという衝撃)についてヨーロッパとアメリカの違いについて考えていたのだが、それは忘れていた。


2014-06-29

_ ためになる本

例によってアスキーというかカドカワの鈴木さんからもらった本を読んだので紹介する。っていうか、最近、このての記録がやたらと多い気がするが、もらった本のうち、何冊かは(実はここに書いてないけどもっと山ほどもらっている)こりゃおもしろそうだとか、今まさに欲しい本だとかで読むし、読めば記録するんだからしょうがない。

で、シェルスクリプト高速開発手法入門だ。

おもしろかった。でも、これは弱ったな(本当に弱っているのではなく、なんか照れているような、そんなニュアンス)。時代の風をびゅんびゅん感じるぜ。

おれは、今、Insider.NETにASP.NETによる軽量業務アプリ開発っていうのを連載させてもらっているんだけど、以下の諸点において、著者と同じ空気を吸っているようだ。

・コマンドラインとエディターが楽。

・後付けのソフトウェアをできるだけ避けて箱をシンプルに保つ(ただし、本書の著者はMACが好きらしくHomebrewしている)。

・少ない(注しておくと、少ないのは領域だけだ。その領域内については相当知っている必要がある)共通的な知識でまかなう。

もちろん技術的諸要素は全然違うのだが(おれはWindowsだが、こちらはMACとUbuntu(かつ補助的にしかし技術的にOpenBSD+FreeBSDが入り込む)、おれはC#+PowerShell(つまりCLR)、JavaScriptだが、こちらはbash、GNUツールズ(gawk, gsed, ggrepなどなど)、JavaScript、おれはSQL ServerだがこちらはUFS系)、多分、それ以上に近いものがある。

で、この本を一言で片づけると、次のようになる。

1)今すぐ仕事の現場で使える本が読みたい→他の本を読むべし

2)コンピュータをまともに使う方法を知りたい→この本を読むべし

おそらく1)の人が、そういう要求を持っているということは、既に手遅れだ。おそらくその現場にはEclipseかVisual Studioがあるから、それの操作方法と、関連したフレームワークについて学習するほうが良い。しかし余裕があるのなら、その余裕を2)として、この本の読者となれる。

あと、少しレイヤーが変わるが、3)Unixコマンド(特にgrep、sedやawk)を覚えたいがマニュアル読むのかったるいから誰か使い方教えてな人は、これを読んで使われ方を見ると間違いなく参考になる。

書き方はいささか馴れ馴れしく押しつけがましいので、そういうのが嫌いなら避けたほうが良いかも知れないが、おそらく相当に意図的にやっていそうだ。これも雰囲気というかみんなが嫌いな『空気』の問題だが、Unixスタイル(ある意味ではハッカースタイル)のノリがある。

最初にテキストがある。テキストをコマンドを通すことで変形する(ccを通せば実行可能なプログラムになるし、nkfを通せばエンコーディングが変わるし、grepを通せば目当ての文が見つかる)。

次にパイプがある。プロセスがテキストを出力すると次のプロセスがそれを入力としてテキストを出力すると別のプロセスがそれを入力して……というのがうまいことキューされて並列に動作する。

少なくとも現在のコンピュータはUnix文化内だから、結局のところ、Unixスタイルが最低限身に着けておくべき作法(この用例では確実に「さほう」)なのだ。それが具体例つきで学べる本だ。最近だとあまり他に例がないんじゃないだろうか。その観点からは相当な価値がある。

全体は一緒に作ろうチュートリアル的な構成になっているのだが、書き方もあって、むしろ開発日誌(という読み物)っぽい。

まず、WordPressのデータの保持方法にうんざりし、ブラックボックス化されたプラットフォ-ム部を解析する面倒くささにうんざりし、なんでUnixをある程度わかっている俺様が、Unix上で動くソフトウェアをいじくるのにこんな無駄な苦労をしなければならないんだ? というモティベーションが説明される。せっかくUnixというテキスト処理のためのワークベンチを使っているのに何かが間違っている。

そもそもWebって、テキストベースのヘッダ変数とリクエストに対してテキストベースのレスポンスを返す仕組みじゃん。

ならば、シェルで十分以上だ。では諸君、戦争だ。と物語が始まる。

ただ、ばんすか原理主義的な雰囲気を漂わせながら、shではなくbashとか、whileやforを使うのは悪手、できるだけseqかxargsとパイプとか、こだわるところはこだわる。というか、forやwhile使わずにseqやxargsばかり使っているので見た目は関数型っぽい(というわけで実際にはシェルそのもののプログラミングというよりは、grep、awk、sed、seq、xargs、[の世界を効率よく組み合わせるためのシェルプログラミングだ。もちろんcurlやopensslも使うけど)。

最初はMacを使っている人のためのHomebrew導入講座で、続いてデータ構造の決定とディレクトリ、ファイル、日時操作のシェルプログラミング、続いてHTML吐きだしのための仕組みとシェルプログラミング(というか、grep、sed、awk)、さらにtimeを使って、何をどうするとどのくらい処理時間がかかるか、キャッシュ(memcachedとかじゃなくて、OSのファイルキャッシュ)のききによってどのくらい影響されるかどうすれば有効に使えるか、さらにTwitter APIをシェルで呼ぶ(OAuthのパラメータをnkf、oepnssl、awk、sedを駆使して作ってcurl)とかした後に、ログ解析のシェルプログラミング。

という物語(実際、読み物として読める――ただしsedのパラメータは除く)にはさまって、こう書いたほうが良いとか、こう書くのが素敵だとか、こういう書き方は汚いとか、このコマンドはこういう問題があるからこう避けろとか、たとえばsshを使ってリモート経由のパイプとかheadはパイプをbreakするからやばいのでawkで回避しろとか、というような項が入って来る。

さらに第二著者によるガチなBSD技術コラムが入る。これがまたおもしろい。

そんな具合に全体の雰囲気そのものがUnixスタイルっぽくて楽しい(たとえていうならば、先輩のコンピュータ談義を聞きながら教えてもらっているような感じだ。反面、最初に書いたようにちょっとはなにつくところもあるのだけど、こういうスタイルはある種の伝統芸のような気がする)。

フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門(上田隆一/後藤大地/USP研究所)

一言でいえばおもしろかった。知らなかったこともあって、そういう点は参考になった(xargsとか完全に覚えたっぽい)。(しかしおれはシェルプログラミングではWebアプリケーションは作らないだろうなとも確信したけど)


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|

ジェズイットを見習え