トップ 追記

日々の破片

Subscribe with livedoor Reader
著作一覧

2018-05-24

_ そろそろ体制が変わる節目だ

牽強付会ではあるが(と最初に明言)、大体において人類の歴史では70~80年というのは節目で、大きく体制が変化する。

これは3代目理論によるものだ。

初代は強力な理念と運とカリスマによって混沌の中に新しい体制を作る。2代目がそれを保守する。3代目になると新機軸を打ち出そうとするか、あるいは惰性でどうにか継続させようとするがぐだぐだになって瓦解と混沌が始まる。で、どうにもならなくなって次の体制が生まれる。

年齢的には30~55歳くらいの中心人物が3代交代して75年というのが根拠となり(かっきりいくわけではないので、大まかには70年から80年というところに収斂するわけだが)、太平洋戦争前に、大日本帝国がこのままではまずいぞと「売り家と唐様で書く3代目」と放言した尾崎不敬事件が念頭にあったりはするが、3代目が唐様で書くのは尾崎の発案ではなく詠み人知らずの格言で、古来日本でもなんとなくそんな感じの歴史観があったという証左でもある。

(当たり前だが、下部構造のほうが大きいので、人間の直系3代というように収まるわけはない)

もちろん、日本で体制が大きく変わったのは1946年だから、70を足せば2016年で、そういう体制瓦解期にはすでに足を突っ込んでいる(おれには末期に見えるが、始まっているように見たい人たちがいるのは知っている)。

1946年の前は1868年の維新、その前は1787年の寛政の改革で、旧体制の田沼をみんなが懐かしむくらいに様変わりして近代へ突入した時代だ。

そも前は1680年代後半あたりからの元禄時代の始まりで市民文化の始まりである。明確な区切りがなく始まるのが市民文化というところだ(その分、寛政の改革は完全なる別体制の始まりらしくかっちりとしている)。この期は中心人物がばらけているので100年近くもったというか混沌としている。

もちろん、その前が幕府開闢1603年。その前の区切りは混とんとしているが鉄砲伝来1543年あたりとしよう(戦争のありようの変化の始まり)。

そして1467年が応仁の乱で多頭体制の始まり、1378年に花の御所で室町時代が本当に始まる。このあたりからは30歳~55歳の25×3の周期が25歳~45歳の20年くらいに縮まるので大体60年くらいで1体制となる。

他国へ目をやると、中国は1978年の改革開放-1912年の中華民国建国-1840年のアヘン戦争-(1760あたりを適当に埋める)-1681年(康煕20年の三藩の乱鎮圧により康熙帝の完全支配開始)というようになる。この区切りだと今の中国は皇帝元年というよりは、改革開放路線の爛熟期に突入した(過渡期の始まり)なのだろう。

というわけで、2020年のオリンピックの前後で、戦後民主主義レジームが終わり次が始まるわけだが、どういう方向に進むのか、興味津々だ(が、小泉だけは選ぶなよ)。


2018-05-22

_ 現時点で最もRailsの美点と感じること

db:migrate

――これに尽きるのではないか。

というか、コードのリファクタリングは(テストのことはちょっとおいておくとしても)すさまじく低コストにできるのだが、リレーションのリファクタリングはとてつもなく高コストなはずなのに、db:migrateによってえらく低コストになっている(と実感している)。

すでにインスタンスを永続化していても、タスクをちょろっと書いてrakeを流せば済むようにフレームワークがあるので実にお気楽にできる。

これはとんでもないなぁ。

・結果的にデータモデルを多少バータリーに決めても、後で軌道修正が無茶苦茶簡単にできる。

_ 複数のリレーションと1対多でリレーションシップを持たれるリレーションをどうActiveRecordで実現するか

例としてタイヤのテーブルと、自動車のテーブルとオートバイのテーブルがあり、自動車用のタイヤもオートバイ用のタイヤも同じタイヤテーブルで管理しているとする。

自動車はタイヤを持つし、オートバイもタイヤを持つ。

一方、生産年度というかロットでタイヤを管理することで、不良品のタイヤを履いている自動車やオートバイに対して通知をするような仕組みが必要とする。つまりタイヤ側からもオートバイや自動車に対してのリレーションシップが必要だとする。

ActiveRecordの楽ちんなhas_manyとbelongs_toを使いたいというのは大前提だ。

とすると、自動車 has_many タイヤであり、オートバイ has_many タイヤなのは当然としてタイヤ側にとってはbelongs_to 自動車であり belongs_to オートバイなんだが、これは嬉しくない。

なんで嬉しくないかといえば、商売を広げて飛行機が出てきた場合、飛行機 has_many タイヤとして、タイヤ belongs_to 飛行機を追加するのか? ということになる。

いくらmigrateが簡単とは言え、こんな調子でばかばかタイヤに自動車_idとかオートバイ_idとか飛行機_idとか追加するのはあり得ない設計だ。

というわけで、代替案を考えると、ActiveRecordの仕組みを使った素直な実装は、STIで共通テーブル(乗り物大集合)に対して自動車やらオートバイやらのサブセットを定義することだが、おれはイヤだ。いくら方便とは言え、実装は全部入りスーパークラスの部分集合で具象クラスを表すというのは、オブジェクト側がまともに見えても下品だと感じる。

具象の世界でいえば、タイヤテーブルになんちゃらidをどんどこ追加するのがイヤというのが最初にあるわけで、同じようにウルトラスーパーな乗り物にあらゆる乗り物の属性をぶち込むなんていうのが許容できるわけがない(具体的な作業においては必要に応じてカラムをばんばん追加してどんどこdb:migrateすれば良いだけなので作業負荷はほとんどない。つまり、そんなにまずくはない。こうなると美意識の問題としか言いようがない)。

で、IOのオーバーヘッドに目をつぶれる程度のhash_manyしかないということから、has_many throughを使って、自動車とタイヤのジョイントテーブル、オートバイとタイヤのジョイントテーブルをそれぞれ作って、タイヤは何もhasせずに、ジョイントテーブルがそれぞれに対してbelongs_toし、自動車やオートバイはそれぞれの専用ジョイントをhas_manyするようにした。本物の乗り物であればジョイントというよりはサスペンションだな。

# パフォーマンス的には最悪の選択だが(STIに比べてアクセスは倍増する)、抽象モデルと具象モデルのバランスとしては、この例の場合については、おれにはhas_many throughが最も良いと感じる。パフォーマンス重視であれば(何しろアクセス倍増だから)、STIを使うべき局面ではある。というのはわかっている。


2018-05-20

_ バロッサのカレーペーストが美味しい

四谷の丸正に行ったら、やたらとBAROSSAのカレーペーストというのを押していて、つい買ってしまった。

なんか、ぱっと見はレトルトカレーに見えたが、パウチされたペーストだった。まあ、それはそれでありか。

で、買って作り方見ると、鶏肉と生クリームとか書いてあるから、それも買って、玉ねぎいためてペースト混ぜて、水600cc(1パウチで4人分くらいという量)入れたら、真っ赤になった。すげぇ辛そうと妻がびびるが、食べてみたら見た目ほど辛くはない。というか、本気で辛ければ、パッケージにもそう書くだろうが、別に辛いとも甘いとも書いてはなかった。

ふと気づくと、仕上げの生クリームを入れずに、ばくばく家族で食いまくってえらく満足した。

というか、とてつもなく美味しい。

レストランの味! というパウチのカレーソースとしては、これまでDELI一択と思っていたが、おれはバロッサのほうが美味しいと思う。

というわけで、どういう仕入れしているのか知らんが、1回こっきりの様子見だったらやばいので、丸正に行って、しこたま買い占めた。

が、良く見ると、2階の肉コーナーの脇(丸正本店は古びたビルなので、なんか汚くみえてあまり好きではないのだが、扱っている商品(高級過ぎて買えない魚(竜宮の遣い2万円とか。あー食って見たかったが、価格が価格なので買ってうまくさばけるとは到底思えないし(手がふるえちゃうよな)そもそもどうやって食えば良いかもわからん)とか牛肉とかもある)といい、陳列といい、えらくうまい)だけではなく、1階の普通のカレーソースコーナーにも置いてあったりして、単に押しまくっているだけだとわかった(特設コーナーだけなのかと思った)。で、大量買い占めを、適度な買い占め程度に抑えることにした。

それにしても、これは美味しいと思って、さてバロッサってなんだ? と(デリーとかナイルとかと違って、ずいぶんと新参だよな? と)調べたら、カレー専門店ではなくて、それも驚きだった。

バロッサ(食べログ)


2018-05-13

_ ネコ以外のネコ科は滅びの道を往く

妻がなんかテレビでチーターが走るところを観ていたので、途中まで一緒に観ていた(というか、妻は途中からいなくなった)。

チーターの筋肉の動きが実に美しい。子供はとても頭が丸くてかわいい。

どうもネコ科についての番組っぽい。

ヒョウがワニを仕留める。噛み付く力は200kg、自重は100kg近くあるのを、ヒョウは川に飛び込み脊椎を牙でくだき、血の匂いを嗅ぎつけて他のワニが攻め込む前に岸にひきずり上げて灌木の茂みまで運んでバリバリ食べる。

チーターがガゼルを追う。チーターの体重は40kgなのでガゼルくらいしか倒せない。子供も一緒にむさぼり食う。美しい。

ヌーを狩りする雄ライオン3人組。ライオン3人がかりでやっと仕留める。その間ヌーは一斉に逃げるが、1頭が襲われると逃げるのをやめてそれを眺める。2頭目は襲わないと知っているのだな。

ライオンのメスがチーターの縄張りに入ってくる。チーターの匂いがしたからだ。

ナレーションが入る。

匂いを嗅ぎつけてメスライオンはチーターの子供を殺しに来たのです。

考える。チーターの子供はヌーなんかと違って食べるエサとしては意味がない。それなのに殺すとしたら、同じく肉を食べる敵だから排除しようということだな。

ナレーションがライバルは、と続いたので考えが正しいことを知る。

チーターの母親はライオンのメスを挑発する。ライオンはチーターを追う。が、追いつかない。というか、本気でライオンは追っていないように見える。そこでチーターがまた近づく。何度も繰り返すうちに、雌ライオンは疲れたのかゆうゆうと引き返していく。が、母親に近づいてきた子チーターを一人噛み殺す。そして去っていく(確かに、まったくこれっぽっちも食べようとはしない)。

ナレーションが入る。チーターの子供が大人になるのは5%です。今見ているチーターの母親はもともと3人の子供を持っていた。今、残り60%となった。が、確率的には残りの2人も殺されて終わるわけだな。

どう見ても、肉食獣はわりに合わない。食べ物が極度に限定されているからだ。ヌーの余裕っぷり(いちおう、かたちばかりは逃げるが、1頭食べさせるとあとは高みの見物態勢になるし、近くにトムソンガゼルが来ても別に気にもしていない)に比べてせせこましい。

それにしても、チーターが体をしならせて走り出す姿があれほど美しいものだとは知らなかった。


2018-05-12

_ 怪奇小説日和

MA2さんがFBでおもしろがっていたから、おれも買って読んでみた。ちくまもさっさと電子書籍出せ。

英国の20世紀初頭を中心とした怪奇小説(幽霊譚からサイコキラーものまでいろいろ)を集めているが、抜群なのはドン・ファン・グスマン・デル・プルガル、ミラモルの伯爵の永久墳墓での冒険を描いた七短剣の聖女(ヴァーノン・リーという人が書いた)だ。豪華絢爛な描写(いちいちドン・ファン・グスマン・デル・プルガル。ミラモルの伯爵と主人公の主語を書くところも含めて)が圧倒的に楽しい(というか、おれは人口楽園の描写が好きなんだな、と、先日観た空海の極楽の宴もすごく好きだったし、江戸川乱歩の末裔なのだろうか)し、最後の謎にどう答えるかのサスペンスといい、素晴らしい。この作品に比べてしまうと、ダポンテ・モーツァルトも相当にかすんでしまう(が、エルビーダが出てくるのでそこはおお、おなじみの名前だ、と楽しい。というか、ドンナアンナの名前が出てこないので、ドンナアンナと騎士長を巡る物語が始まるのかと思ったら、全然違った)。

列車もおもしろい。1950年初頭か終戦直後だと思うが、女性二人の微妙なハイカーの物語。最後、翻訳の問題かあるいは作者の曖昧描写のせいかはわからないが、2種類に解釈できる言葉が出て来るので(多分、婚約側だとは思うのだが)解釈は難しいが、そもそもはヘンリージェイムズのお国柄だ、すべては解釈できず、すべてを知ることもできない、ので、それで良いのだろう。という点からは陽気なる魂が抜群におもしろい(短いのもあって5回読み返したが、全然わからん。最初は輪廻するというか館にとらわれる物語かと思ったが、そうではなく立場の変化に過ぎないような気がしているし、単なる誤解の物語のような気もする)。もしかすると、加齢によって読解力が落ちたのかも知れない。その分、何度でも解釈し直せるので楽しいとも言える。

ターンヘルムはできの悪いヴァグナーみたいだが、ミーメの役回りがぷくぷくした感じが良い人で、ハグリットそっくり(というか、性格、容姿、行動、どう読んでもハグリットなので、ローリングがハリーポッターを書くにあたって引用したとしか思えない)なスティーブンスがおもしろかった。というか、ハリーポッターの原型に読めるんだよなぁどうあっても。

というわけで、英国人は気分が悪い連中で、怪奇小説を書かせたら世界でもっともうまい連中なのは間違いない(創元文庫の5冊組を読んで確信したことを再確認した)。

怪奇小説日和: 黄金時代傑作選 (ちくま文庫 に 13-2)(西崎 憲)

#1番の怪奇は、同じオチの作品があると書いてある解説で、どれだかわからない。多分。


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|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|

ジェズイットを見習え