2011年2月Archives

大手町,寄り道

午前中,とある顧客と会議があった。東京駅日本橋口すぐそばの日本ビルヂング。名前からして古いビジネスビルで,昔の丸ビルのように,高層ではないが広大な敷地を占有している。

会議のテーマはシステムの法改正対応について。省庁の公報に掲載されているが,現在の「不作為」菅内閣のあの体たらくのおかげで法審議がまったく進んでいないある案件について(「不作為」だけなら役人が政治家を鼻で嗤いながら頑張るんだろうけど,この内部抗争で法律を成立させる本来の仕事がガタガタなんである)。「どうも今年度成立は無理そうだ」—「時期を決められないので困りましたね」というような議論になった。同じような悩みに入っている企業は多いはずである。DB にある国コード・コンスタントについても,「中東のいまの状況じゃまた新しいコードが出て来る可能性大ですね」のようなホットな話題が出た。流動的な状況について,とりあえず顧客と方針だけは立てることができた。

打合せが終わって,この暖かい陽気にすぐ帰社する気にもなれず,飯を食ったあと丸の内 OAZO の丸善に寄り道した。サラリーマン風景としてよくニュースの背景映像で用いられる東京駅丸の内北口も,この暖かいお午時,なんとものどかであった。この本屋は開店当初から気にはなっていたんだけど,東京駅で立ち寄る本屋は八重洲ブックセンターと決まっていたこともあり,じつは今回はじめて覗いてみたんである。なかなかの品揃え。音楽関係のコーナーで『バッハの暗号』なる本を見つけ少し立ち読みし,次にコンピュータ関係の書架の間を歩いた。奥村先生の『改訂第 5 版 美文書作成入門』のできたてのほやほやの第二刷が並んでいて,おおさすがだと思った(川崎の丸善ではまだ第一刷が並んでいたから)。第一刷にあった誤植がきちんと訂正されていた。

本屋で一時間も時間を潰してしまった。勤務時間中の寄り道としてはさすがに自責の念に駆られた。通勤定期の経路上,もっとも安上がりの山手線・新橋経由で帰社。新橋駅ホームで,お茶を手に会社に急ぐガッキーの広告ポスターに目が止まった。もう春ですねぇ,とガッキーにご挨拶。いかん,急がなくっちゃ!
 

20110224-marunouti3.png

帰宅してニュースを見たら,ニュージーランドの不幸な地震災害の報道は当然としても,どこもかしこも小向美奈子・覚醒剤取締法違反のネタ。ついこの間までは海老蔵のケンカ,その前は朝青龍のケンカ,またその前はノリピー,押尾学裁判。この国の報道は狂っている。昔は芸能人のクスリや賭博ネタは下劣週刊誌の領域だったのである。新聞記者は,危ない職業人たちの淫微な「話題」と,国民に知らしめるべき事実とをきちんと峻別していたはずだ。それがいまやボーダレスになっている。こんな見識のない週刊アサヒ化した大マスコミは,そのうちインターネットの真のボーダレスによって取って代わられればよい。

先日,スポルト見たさでフジテレビを点けたら,滝クリのいなくなったニュース・ジャパンが放映中。菅内閣と民主党の混乱についてフジの解説委員が「いまの政治家はレベルが落ちた」と嘆じていた。「何言ってるんだ,小沢問題を焚き付けているのはいったい誰なんだ? 政治のくだらない側面ばかりを伝えるお前たちマスコミの質が地に落ちたことが,この政治レベル低下の元凶じゃねえか」と,唾を吐きかけたくなってしまった。

ロンドン在住のロシアの女流作曲家エレーナ・フィルソヴァが,Facebook の私のウォールにビデオをシェアしてくれた。2 月 18 日にロンドンで行われた,彼女の作品:チェロ協奏曲第四番作品 122 "Concerto-Elegy" 演奏の模様である。このコンサートは少し前に Facebook でアナウンスがあったのだけど,私はロンドンになどとても行かれず,でもこうしてすぐ YouTube で観れるようになったことに,時代は変わったと思わずにおれない。

演奏は Anatole Liebermann (Vlc), St Paul's Sinfonia (Orchestra), Andrew Morley (Conductor)。本作品はチェロ奏者,指揮者としてもはや伝説になったムスチスラフ・ロストロポーヴィチに捧げられている。ソヴィエト体制のなかで藝術的意思を貫いたスラーヴァ(ロストロポーウィチの愛称)へのオマージュである。第二部の冒頭の神秘的な木管,チェロのカデンツァが印象に残った。ここにもエンベッドしておきます。
 

 

YouTube のフィルソヴァのチャンネルでは,これ以外にも彼女の作品の動画が観られる。うれしいことに『Music for 12』もある。これは,1987 年のベルリン藝術週間・特集『モスクワの今日』を NHK-FM 放送で聴いて,そこでフィルソヴァの名をはじめて知った曲である。私はこの放送でソヴィエト「現代音楽」の素晴らしさに目覚めたのだ。当時,彼女はソヴィエト当局から反体制的作曲家のレッテルを貼られていた(『フレンニコフの七人』の一人として批判にさらされた)。時代は変わったなあ。

フランスのブルカ禁止

娘が私の Mac でフランスのブルカ禁止法について調べていた。レポートを書かないといけないらしい。

昨年の半ばだったか,フランスでムスリム女性の特徴的衣装であるブルカを公的な場で着用することを禁止する法が成立した。NHK 解説委員のブログなどを見ると,その理由には「『政教分離』の原則などに照らして」だとか「イスラムの信仰よりもフランス的価値観を優先しなければならない」というものがあるらしい。「フランス的価値観」なんて「美しい日本」のような底の浅い臭いがします。

フランスは自由と平等の国というのは幻想であることはもともとわかっているのだけれども,それでもフランス人は個人の自由を論理でもって(悪く言えば理屈を捏ねて)主張するのがよいところでもある。そんなフランスで賛成多数でこの法案が可決されたというのだから驚く。宗教的かも知れない「属性」を「公的の場」に持ち込むことが「政教分離」に反するものなのか,なぜ禁止されなければならないのか,私は理解に苦しむ。十字架のペンダントも同じく禁止されているのだろうか。本当はどういう理屈なのか,知りたいものである。

私の目から見ると,これは一般大衆に定着してしまったイスラムへの反感の現れだとしか思われない。「美しい日本」が反中,反朝鮮半島でしかないのとまさに同じ。ぞっとしません。こんな法案が通るのが,スペインやロシア,テロ被害のあった英国ならまだしも,フランスとはね。フランスという国はもっと「理性的」な国だと思っていたんだけど,国内事情により排外的政策を取らざるをえない情勢になってきているらしい。ドイツ人からは「昔のオレたちとオンナじだ」と笑われているんじゃないだろうか。米国からは厳しく批判されている(アンタにだけは言われたくねぇと思うフランス人は多いんじゃなかろうか)。

学生時代まで私にとってフランスは憧れの文化国家であった。ま,映画『地下鉄のザジ』を観てからは,地下鉄がしょっちゅうストで止まっている楽しい国のイメージしかなくなってしまいました。この法案で反イスラムの独善国のイメージがくっついてしまった。フランスはいまそうとう酷い状況にあるようだ。イスラムの人々から反感を買うこんな法律は,フランスをいよいよ危険な事態に陥れると私は思う。でも,心あるフランス人はいる。理屈が通ることはきちんと認めることのできる尊敬すべき国民性をもつ。

怖く面白くなってきました

怖く面白くなってきました。

チュニジアの「ジャスミン革命」の波が止らない。エジプト,リビア,バーレーン,イラン,サウジアラビア,... 「民主化デモ」というと聞こえがよいけれども,この情勢は日本にとってロクな方向に働かないと思う。米国が「民主化デモ」を讃え,煽っているようにも見えるのが,まったく理解できない。これまでの飼い犬に次は噛み付かれるかも知れないのに(確かにイランの反政府的騒擾は米国にはウェルカムなんだろうけど)。

中東各国の政情が不安定になると,石油価格が高騰して日本の脆弱な景気感がすぐまた下降するのは間違いない。また,これまで米国の飼い犬だった「穏健」アラブ国家でこれまで押さえ付けられていたイスラム原理主義勢力が台頭して,イスラエルとの関係がいよいよ緊迫し,本当に戦争が起こるかも知れない。そうなると「不安定」どころか「石油ショック」が起こる。イスラエルは核弾頭を使うかも知れない。アジア杯,漢詩プログラムなんかに現を抜かしている間に,怖い状況になったものである。

一方,わが国のこの体たらく。小沢さんが党員資格を凍結されたのを受け,小沢さんの子分たちが菅政権に造反する態度を鮮明化させ,民主党はいよいよ党内分裂が決定的になりつつある。

それでも菅政権が窮地に陥れられるのを見るのは面白い。なんのために政権交代したのか初心をお忘れの菅不作為内閣はさっさとつぶれてくれ,と私は思っているからである。予算関連法案が党内のもめごとで纏まらないとなると,党首,ひいては政権のだらしなさが物笑いの種になる。いままで「何も決断できなかった」奴が外的要因で自滅するのを見るのはホント面白い。政治を Let it be でやってくれる奴は Let it be で亡びる。下品ですみませんが,世の中はそうじゃないと面白くない。とにかく,予算法案が可決しそうになければ,衆議院解散・総選挙。小沢さん一派は新党を結成して総選挙に臨む。これを期待したいと思う。

こんな世界情勢のなか,永田町は内部抗争なんてお気楽なものだから笑ってしまう。中東の政情不安の諸問題に対しここで日本が平和的秩序維持において率先してコミットし,安定化に動けば,カッコいいんだけど,無理ですね。日本は政府・政治家のコントロールではなく,民間人のしたたかさで国が保っている。そういう意味で日本は民主的国家の代表のようなよい国だと思うんだけど,国がコミットすべき領域では「不作為」の権化のようなところがある。Let it be — あとで痛い目に遇いそうである。

misima 漢詩分析・詩語検索機能について,簡易版を追加した。旧版は SQL を直接入力する形態だった。これは DB に蓄積しているすべての項目について,柔軟な検索ができるのだけれども,SQL 操作ということもあり,限定公開とした。簡易版はごく限られた条件指定しかできない。それでもこれくらいありゃいいか,ということでこちらは一般の漢詩作成者の方々のお役に立てればと思い,一般公開とする。旧版も expert 版ということで残してある。方式的には expert 版も簡易版も同じで,簡易版は SQL 組立ての JavaScript を追加しただけである。

開発・本番環境は FreeBSD 8.0-RELEASE, Mac OS X Snow Leopard, Tiger, J2SDK-1.5, J2SDK-1.6, Tomcat-5.5, DWR-3-rc1, SQLite-3-5.6, SQLite-JDBC-3.7.2。ブラウザは Safari-5.0.3, Safari-4.1.3, Google Chrome-9.0 にて確認している。Windows ではまったく試験していないのでちょっと不安。

ここで簡易版の使い方を簡単にしるしておく。misima 漢詩分析・詩語検索機能のコンセプト,実現方式については『misimaKansiServlet 漢詩 Chinese Verse 平仄音韻分析』,『DWR with Java: misima 漢詩詩語検索』を参照。

misima 漢詩平仄音韻分析(Servlet版)』ページの「詩語検索」欄にある をクリックすると,別ウィンドウで検索画面が開く。検索はここで実行する。検索条件は図 1. に示す「平仄パターン」,「詩語」,「韻字」,「韻目」 を指定できる。
 

20110220-condition.png

図 1. 検索条件

「平仄パターン」(A) は求める詩語の平仄の並びである。プルダウンで平仄を設定する。「」は「平」,「」は「仄」を意味する。初期表示では「○-○-○」,すなわち「平-平-平」の 3 文字詩語の条件になっている。もし 2 文字の詩語を求めたいなら,3 番目のプルダウンで「-」を選択しなければならない。

○,●」いずれの場合も,検索結果に「」記号のものが含まれる。これは両韻を示す記号である。例えば,「思」という文字は意味によって「上平聲四支」と「仄去聲四寘」と平・仄どちらでも使用される可能性をもつ。もちろん詩語においてはどちらかに決まるのであるが,misima 平仄辞書で両韻のものは平・仄いずれの条件でもヒットするようになっている。だから当該詩語でその両韻文字がどちらの平仄で用いられているのか,辞書に当たって意味を確認する必要がある。

「詩語」(B) は指定した一文字を含む条件である。一文字しか指定できない。

「韻字」(C) 指定は詩語の末尾文字の条件である。押韻文字が決まっているときに用いる。

「韻目」(D) は「一東」などの韻目で検索するための指定である。押韻文字が決まっているとき,その韻目を含む詩語を閲覧したい場合などに用いる。韻目指定は面倒なので,ポップアップから選択するようになっている。「韻目」の入力エリアにカーソルが位置づけられると,入力メニューがポップアップされる(図 2.)。その一覧から検索したい韻目をクリックすると,入力エリアに韻目条件が設定され,メニューが消えるようになっている。
 

20110220-inmoku.png

図 2. 韻目ポップアップメニュー

条件 (A) は必須である。かつ,(B),(C),(D) から少なくともひとつは条件指定をしなければならない。そして,検索は (A) and ([(B)] or [(C)] or [(D)]) ([ ] 内はひとつ以上必要) という条件で実行される。これは長大な検索結果を防ぐためである。簡易検索はこれ以外の条件指定はできない。

簡易版検索結果例を図 3. に示す。これは「●-○-○」の 3 文字でかつ韻字が「秋」である詩語の検索条件である。
 

20110220-simple-search.png

図 3. 簡易版検索結果例

詩語韻目は,「ニモニック:番号:韻目」の様式で出力される。ニモニックの意味は次の通りである。hk: 上平聲; hs: 下平聲; sj: 仄上聲; sk: 仄去聲; sn: 仄入聲。「hk:01:東」は「上平聲一東」を意味する。; (セミコロン) は当該文字が複数の韻目を有することを示している。A;B;C は A, B, C 三つの韻目を持つ文字であることを示す。対応する文字の区切りは - (ハイフン) で判断できる。

簡易版では,(A) and (B) and ((C) or (D)) などのような検索条件指定は不可である。こういう柔軟な条件設定は expert 検索でのみ可能である。expert 版の条件指定は,「実行 SQL」のテキストエリアに where 句の内容を直接コーディングする。検索キーはページにある通り,詩語: sg; 詩語平仄: hs1; 詩語韻目: in1; 押韻字: oj; 押韻字平仄 hs2; 押韻字韻: in2; 詩語字数: ss; 出典: ta が指定できる。expert 版の検索結果を図 4. に示す。
 

20110220-expert-search.png

図 4. expert 版検索結果例

 

最後に参考文献を上げておく。
 

Ajax の高度な活用集。詩語検索機能で利用した DWR についても,サンプル付で少し解説されている。しかし,addRows() 関数の仕様など,DB 検索結果表示に適したテクニックの解説までは望むべくもなく,少し自分の課題に応じた詳細事項は,やはり DWR サイトのドキュメントに当たらないと解決不可能である。
 

オライリーのクックブック・シリーズは困ったときに必ず役に立つ。本書で述べられている便利なライブラリもオライリーのサイトからダウンロードできる。
 

これは JavaScript のリファレンス本としてはいちばん優れていると思う。なんといっても,非同期通信オブジェクト,XML DOM オブジェクトについて整理されている。オライリーの『クイックリファレンス』よりも個人的には使いやすい。
 

※ 2011.12.23 付記
Spam が多いので misimaKansiServlet は限定公開としました。悪しからず。

DWR with Java: misima 漢詩詩語検索

漢詩作成支援の一環で今回,詩語検索を追加した。SQLite3 で構築した詩語データベースを Java サーブレットから JDBC でアクセスする。高速化のために Ajax + Java Servlet を基本とした。近年,Ajax も便利なライブラリが出現し,Web 2.0 の世界をより簡単に構築できるようになった。今回はそのひとつ DWR (Dynamic Web Remoting) を使うことにした。

DWR の特徴は大きく二つある。第一に,JavaScript 動作の微妙に異なる数あるブラウザへの対応を吸収してくれること。第二に JavaScript からサーバの Java クラスの呼び出しを可能としたこと。とくに後者は,非同期通信インタフェースとサーバ (Servlet) の存在をプログラマから隠蔽することにより Java Servlet の約束事に精通していない Java プログラマにも (JavaScript が書けないとならないんだけど) Web サーバ・プログラミングを近しいものとする。

以下,misima 漢詩詩語検索を作成したメモを残しておく。

詩語データベースの構築

太刀掛重男著『詩語完備 だれにもできる漢詩の作り方』は,詩語に基づいて漢詩を作成する方法を述べており,合わせて詩語集を掲載している。また,詩語の韻書としては『詩韻含英異同辨』という決定版が存在する。できればこうした詩語集をデータベースに蓄積するのがよいのだが,著作権問題があり公開 DB に入れるのは憚られる(自分だけの個人辞書として構築するならよいのだろうが)。しかも,データ入力に気の遠くなるような時間を要する。私のようなサラリーマンにはとうてい不可能である。

そこで今回の詩語 DB は,どちらかというとコーパス・ビュア風のアイデアに基づくことにした。つまり,インターネットで大量に公開されている漢詩テクストを掻き集め,その詩行を 2 文字 + 3 文字 (五言詩) や 2 文字 + 2 文字 + 3 文字 (七言詩) に分解し,それぞれを「詩語」と見なし,これらに平仄・音韻分析処理を加えて,その結果をリレーショナル・データベースに仕立て上げるわけである。平仄・音韻分析用のデータベースは,『misima 漢詩平仄音韻分析』で構築済みだった。

私はロシア語作文をする際,語結合が妥当かどうか Google で検索してみる。ロシア語は「〜において」というとき,в, на のいずれの前置詞を使うのか悩ましいことが多い。「お茶会で」は на чайной церемонии でよいのか? Google で検索するとこのフレーズを含むきちんとしたページがたくさんヒットするので,不自然ではないとハッキリする。コーパス・ビュア風というのはこういう使い方を指している。漢詩詩語についても過去の偉大な詩人の作品で同じような確認ができるはずである。もちろん,詩語の意味,題詠用の分類(秋思,離別などの詩語と結びついたテーマ論)がないと片手落ちなんであるが,求める平仄,文字,字韻とそれに合致する詩語にどのようなものがあるのかが調査でき,詩語検索機能としてはそれなりのものが得られるはずだと考えた。「平-平-仄のパターンでこの文字を含む詩語」,「脚韻がこの韻目の詩語」,程度でも検索できれば便利ではないか?

『唐詩選』などの漢詩 500 首近くをネットから wget で戴いて来て,Perl HTML::TreeBuilder モジュールでもって詩テクストを解析,抽出して約 4,000 語の詩語テクストを得た。ついでに出典(詩人,題名)情報などの属性をぶら下げた。これに詩語の平仄データ,韻目などを追加して SQLite3 のデータベースが成った。

Java 詩語検索クラスの作成

DWR は様々な Java クラスの呼び出しをサポートしている。今回は JavaBeans で行くことにした。JavaBeans はデータを保持するオブジェクトで,データ項目の出し入れに set〜, get〜 なるメソッドを一式用意しておくというモジュール構造であり,データ部品化の基本になっている。サーバで DB を検索し,その結果を Bean に入れ,JavaScript から DWR インタフェースで取り出す。基本設計はそのようなものである。詩語のための JavaBeans SigoBean.java を以下に示す。本来なら DB に蓄積している項目はいくつもあるが,ここでは詩語,平仄,韻目のみに限定してある。

// -*- coding: utf-8; mode: java; -*-
/**
 *  misimaKansi SigoBean 漢詩詩語
 *  Copyright(c) 2011, isao yasuda, All Rights Reserved.
 */
public class SigoBean
{
    /**
     *  SQLite3 database
     *  詩語 sg, 詩語平仄 hs1, 詩語韻 in1
     */
    private String sg  = null; // 詩語
    private String hs1 = null; // 平仄
    private String in1 = null; // 韻目
 
    /** Constructor */
    public SigoBean(String sg,  // 詩語
                    String hs1, // 平仄
                    String in1) // 韻目
    {
        this.sg  = sg;
        this.hs1 = hs1;
        this.in1 = in1;
    }
 
    /** Getter メソッド */
    public String getSigo()    { return sg;  }
    public String getHyosoku() { return hs1; }
    public String getSigoIn()  { return in1; }
 
    /** Setter メソッド */
    public void setSigo(String sg)     { this.sg  = sg;  }
    public void setHyosoku(String hs1) { this.hs1 = hs1; }
    public void setSigoIn(String in1)  { this.in1 = in1; }
 
    /** テキスト取得用メソッド */
    public String getSigoBean(String sep) {
        return sg + sep + hs1 + sep + in1;
    }
}

さて,実際に詩語データベースを検索し,上記詩語 Bean の配列テーブルとして結果をストアする Java クラスが当然必要である。SigoTable.java コードを以下に示す。ここで,SQLite3 DB アクセスは JDBC インタフェースを使っている。SQLite 用 JDBC ドライバは SQLiteJDBC – Xerial – Trac から sqlite-jdbc-3.7.2.jar (2010.8.27 版) を落として,クラスパスに通しておくとともに,Servlet コンテナ Tomcat の $CATALINA_HOME/common/lib/ にもコピーしておく。

// -*- coding: utf-8; mode: java; -*-
import java.util.ArrayList;
import java.util.List;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 *  misimaKansi SigoTable 漢詩詩語検索
 *  Copyright(c) 2011, isao yasuda, All Rights Reserved.
 */
public class SigoTable
{
    /** 詩語 DB path */
    private static final String dbpath = "/usr/local/etc/misima/SIGO.db";
    /** SQL */
    private String sqlcond = null;
    /** 詩語テーブル行データ */
    private ArrayList<SigoBean> dbRowList = null;
    /** データ行数 */
    private int gyosu;
   
    /**
     * 詩語 DB を検索し,詩語テーブルを SigoBean 配列として返却する
     * @return 詩語テーブル
     */
    public SigoBean[] getSigoTable(String cond) throws Exception {
        sqlcond = "select * from SIGOTBL where " + cond + ";";
        dbRowList = new ArrayList<SigoBean>();
        /** DB検索 */
        Class.forName("org.sqlite.JDBC");
        Connection conn = null;
        try {
            // create a database connection
            conn = DriverManager.getConnection("jdbc:sqlite:" + dbpath);
            Statement sttmnt = conn.createStatement();
            sttmnt.setQueryTimeout(30); // set timeout to 30 sec.
            ResultSet rset = sttmnt.executeQuery(sqlcond);
            while(rset.next()) {
                // read the result set
                dbRowList.add(new SigoBean(rset.getString("sg"),
                                           rset.getString("hs1"),
                                           rset.getString("in1")));
            }
            rset.close();
        }
        catch(Exception e) {
            System.err.println(e.getMessage());
        }
        finally {
            try {
                if(conn != null)
                    conn.close();
            }
            catch(Exception e) {
                // connection close failed.
                System.err.println(e);
            }
        }
        gyosu = dbRowList.size();
        SigoBean[] dbrows = new SigoBean[gyosu];
        return dbRowList.toArray(dbrows);
    }
   
    /**
     * 詩語 DB 行数を返却する (for debug)
     * @return 行数
     */
    public int size() {
        return gyosu;
    }
}

DWR 環境の作成

DWR のパッケージは DWR ダウンロードページ から dwr.war (Version 3. rc-1) を落として使った。DWR のサーバ側環境設定は大きく 3 点。以下簡単に示す。

  1. ダウンロードした dwr.war を詩語検索 Web アプリの WEB-INF/lib ディレクトリ直下に格納する。
  2. dwr.xml を,以下の内容で WEB-INF/ 下に格納する。これは JavaScript の記述とサーバ側 Java クラスを結びつけるための記述である。create タグで上記 SigoTable クラスが呼び出されるよう,convert タグによってそのデータ構造へのアクセスは JavaBeans SigoBean を介して行われるよう指定している。詳細は Configuring dwr.xml を参照のこと。
  3. <!DOCTYPE dwr PUBLIC
        "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
        "http://directwebremoting.org/schema/dwr30.dtd">
    <!-- -*- coding: UTF-8; -*- 
        misima 漢詩詩語検索用 dwr.xml
        Copyright (c) 2011, isao yasuda, All Rigths Reserved.
    -->
    <dwr>
      <allow>
        <create creator="new" javascript="SigoTable">
          <param name="class" value="SigoTable"/>
        </create>
        <convert converter="bean" match="SigoBean"/>
      </allow>
    </dwr>

  4. 詩語検索 Servlet 用のデプロイメント・ディスクリプタ web.xmlWEB-INF/ 下に準備する。今回,旧字・旧仮名遣い変換 misimaservlet のサブシステムとして作成したので,すでにある web.xml に DWR 関連用の servlet タグ及び servlet-mapping タグを追加した。DWR 部分は以下とまったく同じでよいと思う。詳細は DWR WEB-INF Reference を参照のこと。
  5. <!DOCTYPE web-app
        PUBLIC  "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <!-- -*- coding: UTF-8; -*- 
        misimaServlet web.xml デプロイメントデスクリプタ
        Copyright (c) 2007, isao yasuda, All Rigths Reserved.
    -->
    <web-app>
      <!-- misimaservlet サーブレット -->
      <servlet>
        <servlet-name>misimaServlet</servlet-name>
        <servlet-class>misimaServlet</servlet-class>
    ... (略) ...
      </servlet>
     
      <!-- DWR サーブレット -->
      <servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
        <init-param>
          <param-name>debug</param-name>
          <param-value>true</param-value>
        </init-param>
      </servlet>
     
      <!-- misimaservlet サーブレットのマッピング -->
      <servlet-mapping>
        <servlet-name>misimaServlet</servlet-name>
        <url-pattern>/convert</url-pattern>
      </servlet-mapping>
      
      <!-- DWR サーブレットのマッピング -->
      <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
      </servlet-mapping>
    </web-app>

クライアント・ページ JavaScript の作成

最後に DWR のキモであるクライアント側 JavaScript を作成する。サービス用 HTML から呼び出す JavaScript として DWR ライブラリを次のように指定しておく。

<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/SigoTable.js"></script>

はじめの 2 行はおまじないのようなものである。dwr/interface/SigoTable.js は,dwr.xml における javascript="SigoTable" という指定を受けて DWR が自動生成するスクリプトであり,ユーザアプリに応じて名前を変えて指定しなければならない。

さて,DB を検索し,その結果が挿入される HTML は以下の通りである。input タグに SQL 条件を入力し,「検索」ボタンを押下すると,retrieveSigo() 関数(後述)を起動するコードになっている。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/html4/loose.dtd">
<!-- Copyright(c) 2011, isao yasuda, All Rights Reserved. -->
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>misima 漢詩詩語検索</title>
  </head>
  <body>
    <dl compact>
      <dt>実行 SQL</dt>
      <dd>select * from SIGOTBL where <br> 
        <input type="text" size="70" id="condition" />;
        <input type="button" value="検索" onClick="retrieveSigo();" />
      </dd>
    </dl>
    <!-- 詩語検索結果挿入するテーブル -->
    <table border="0">
      <thead>
        <tr style="background-color: #ccc;">
          <th width="80px">詩語</th>
          <th width="120px">詩語平仄</th>
          <th width="400px">詩語韻</th>
        </tr>
      </thead>
      <tbody id="sigotable"></tbody>
    </table>
    <script type="text/javascript" src="dwr/engine.js"></script>
    <script type="text/javascript" src="dwr/util.js"></script>
    <script type="text/javascript" src="dwr/interface/SigoTable.js"></script>
    <script type="text/javascript" src="./sigo.js"></script>
  </body>
</html>

検索ボタンに紐づけられた検索実行制御処理 retrieveSigo() 関数は以下の通り。上記 HTML の sigo.js にこれを定義しておく。ここでサーバとの非同期通信を担っているのは SigoTable.getSigoTable(sql.value, ...); の部分である。サーバ側にある SigoTable クラスの getSigoTable() メソッドをコールしている。これは Java クラスを操作するのと同様の様式であり,DWR の特徴となっている。このコーリング書式は クラス名.メソッド名(メソッド引数, コールバック関数); である。サーバで実行されたメソッドの返値を引数として コールバック関数 が実行される。このなかでブラウザ表示に必要な処理を記述する。

// -*- coding: utf-8; mode: javascript; -*- 
// misima 漢詩詩語検索
function retrieveSigo() {
    var sql = document.getElementById("condition").value;
    var cellFuncs = [
        function(data) { return data.sigo; },    // 詩語
        function(data) { return data.hyosoku; }, // 平仄
        function(data) { return data.sigoIn; }   // 韻目
    ];
    // insert table contents from DB    
    SigoTable.getSigoTable(
        sql,
        function(data){ // callback
            dwr.util.removeAllRows("sigotable");
            dwr.util.addRows("sigotable", data, cellFuncs, {
                // 偶数行の背景色を変更
                rowCreator:function(options) {
                    var row = document.createElement("tr");
                    if (options.rowIndex % 2 != 0) {
                        row.style.background = "#cccccc";
                    }
                    return row;
                },
                escapeHtml:false 
            });
        });
}

retrieveSigo() 関数の引数のなかに関数が記述されておりそこでさらに関数が入れ子になっている。わかりにくいのでもう少し説明しておく。ここでサーバからの返値は function(data) 関数 (コールバック関数) に渡され,こちらは DWR util.js のユーティリティ addRows() 関数で HTML のテーブル (上記 HTML の <tbody id="sigotable"> の位置) にデータを展開している。addRows() 関数の書式は以下の通りである。

dwr.util.addRows(id, array, cellfuncs, [options]);
- id: テーブル要素の id。テーブル要素は <tbody id="id"> とするのがよい。
- array: 表にしたいデータ配列
- cellfuncs: 行データの各セルに応じた処理を行う関数の配列
- options: オプション (rowCreator, cellCreator, escapeHtml から複数指定可)

retrieveSigo() ではサーバからの出力 datacellFuncs という名の関数配列で項目を抽出しつつ id="sigotable" のテーブル要素に編集している。この際,rowCreator オブジェクト・オプションを指定し,これに偶数行ごとに背景色を変える関数(= その返値オブジェクト)を対応づけている。また,escapeHtml:false オプションを指定して HTML タグのエスケープをしないようにしている。addRows() 関数は実行のたびに行を追加するだけなので,removeAllRows() 関数で予め行を削除する前処理を行っている。

DWR の JavaScript の書き方,関数仕様詳細は DWR サイト・ドキュメント を参照。悩んだのは cellFuncs 関数配列中の data.sigo 等のオブジェクト指定であった。このうちの sigo の部分は JavaBeans の get〜 メソッドの 〜 を指定しなくちゃならないことに気づくのにえらく時間を要してしまった。それでも MVC デザイン・パターンに従って,しこしこ JSP をコーディングしていたのに比べると,遥かにわかりやすいと思う。DWR なら MVC のうちの C (Controller つまり Servlet) をほぼ意識せずに Web アプリを書くことができるからである。

以上でリソースは整った。Java コードをコンパイルした上で,リソース一式を Tomcat 環境にデプロイしておく。

実行イメージ

misima 漢詩平仄音韻分析』ページに「詩語検索」のボタンを追加した。これをクリックすると,詩語検索のウィンドウがオープンして,詩語の検索ができる。詩語と平仄パターン,韻目が表示される。以下に検索イメージ図を掲げておく。これは平仄パターンが「○-●」(平-仄)もしくは「○-◎」(平-平仄両韻)の 2 字詩語で,かつ「秋」という文字を含む詩語を検索した結果である。ただし,今回作成した版は,直接ユーザが SQL を入力するというイビツにして危険なものであるため,公開は友人限定としている。(2.20 付記:その後,詩語簡易検索機能を一般公開した。その詳細は記事『misimaKansiServlet 漢詩平仄音韻分析・詩語簡易検索』を参照ください。)
 

20110220-expert-search.png

検索イメージ

 

※ 2011.12.23 付記
Spam が多いので限定公開としました。悪しからず。

Michael Jackcho

どこ押さえとんねん。

michael-jackcho-20110212.png

drawn by Fumio, pen, 12 Feb. 2011.

岩波日本古典文学大系全 102 巻

古書で岩波日本古典文学大系本第一期・第二期の全 102 巻(総索引 2 巻含む)を手に入れた。1957--1967 年にかけて刊行されたいわゆる赤大系本である。全巻揃いで古書が出るのは珍しいと思う。送料込みでなんと 27,000 円。見つけた瞬間に購入してしまった。妻も『今昔物語集』を制覇したい(全編完全収録本は大系本くらいしか私は知らない)というので,半分ずつお金を工面した。学生時代からこのかた私も 20 冊近く大系本を読んで来たのだけど,全巻セットは貴重である。重複する本を古書で売りさばいて,お小遣いを補填しなくちゃいけない。

このシリーズの一冊・菅原道真『菅家文草 菅家後集』を探していたのだけれど,これは古書でも 4, 5 千円の高値が付いていて,これまで買うかどうか悩んでいた。それだけでなく,個別に欲しかった本 — あのシュールなエロ哄笑潭『きのふはけふの物語』(以前,そのネタをここに書いた)を収録した『江戸笑話集』等の世俗草子集,『文華秀麗集』等の漢詩文集,近世の思想家文集・芸術論集,中世の説話集などなど — をすべて含めて,この価格。お買い得感があった。

とはいえ,102 冊の函入り全集は狭い我が家のロフト書斎の書架にはとても収納し切れない。妻が読みたいという 20 冊は寝室のラックにぶちこんだ。あぶれたものは,さしあたり書斎の床に直に並べ置いて,どう整理しようか思案中。
 

20110211-koten.png

北方領土問題,尖閣諸島問題その後

露大統領,北方領土での軍備拡充を指示』(YOMIURI ONLINE 配信)をみた。菅総理(意図的かどうかは別としてネットでしばしば「管」と誤字を宛てられてしまう,その通り中味がスルーの菅総理)がメドヴェージェフ大統領の北方領土訪問を名指しで「暴挙」と非難したことを受けて,ロシアは実力行使に出ようというわけである。それぞれ日露間の軋轢を必要以上に大きくしたくないはずだとは思うんだけど,これは「売り言葉に買い言葉」的ツッパリ合いである。さしあたり,それぞれ,思い切り,許す限り,自分のいい分を言いまくって,交渉のハードルをどんどん上げればよいと思う。どこかでブレークスルーが得られたとき,麻生さんの言うような「かつてない独創的アプローチ」がリバウンド的に(これは普通悪いことに使う言葉なんだけど)果たされないとも限らない。とりあえず,前原外務相の訪露でどんな場面が見られるかが楽しみである。

ロシアはこのところテロ問題がかしましい。日本政府もこの問題解決への支援からロシアとのぎくしゃくした事態の改善を図ってほしい,と私は思うのだけど,相変わらず自己チューを貫くようである。ロシアなら,ま,いいか,ってなもんや。これこそ領土問題なんやから,旭日旗を振りまくって頑張ってんか。
 

* * *

漁船衝突事件の中国人船長に損害賠償を請求 海上保安庁』(産經新聞配信)だそうである。支払われるなんてまず考えられないのは誰にでもわかるのに,今度は個人攻撃に訴えるらしい。お役所は相も変わらず中途半端なポーズをやめられないな,という感じだけど,なにかをネタにネチネチとケチを付け続けるというのも悪くない。

と,何気なく『sengoku38,厳戒国会内で講演』との記事も目に留まった。「これは,自民党の保守系議員で作る『創世日本』と,たちあがれ日本,日本創新党の共同開催。安倍晋三元首相(56)ら約40人が参加した」そうである。とうとう sengoku38 氏も「美しい日本」のXX者一派(私は心情右翼なんだけど,ナショナリストには虫酸が走るんである)の仲間入りというわけか。でも,海保をクビ同然で追い出されるという制裁を受けたからには,堂々と主義主張を公の場ではじめた,というのはよいことである。これこそまっとうな政治的影響力の発揮だからである。打倒民主党政権の急先鋒になれるかどうかは疑問だけど,頑張ってほしいと思います。「仙谷三八」とでも芸名を名乗って,次の選挙にでも出てくれると面白いですね。

Old Standard Cyrillic Fonts

ロシアの LaTeX メーリングリスト CyrTeX-ru投稿 #9606 に Old Standard キリル・フォントを LaTeX で使う話題が上がっていた。興味深かったので,私もインストールして使ってみた。

Old Standard フォントは Шрифтовое семейство Old Standard サイトの説明によれば,古典文献学,聖書学,中世史学等の人文科学研究文献に適した多言語フォントとある。OpenType フォントはキリル文字のほか,古スラヴ文字,アクセント付きラテン文字,複式アクセント付きギリシア文字も含んでいる。つまりロシア語旧正書法の文字をも含んでいることになる。もともと Antiqua, New Standard 系のフォントのようである。

Old Standard フォントを LaTeX で使うには二つの方法がある。[1] autoinst による方法と,[2] CyrTeX-ru #9606 リンクにある OldStandard-source.7z を用いた方法である。ただし,いずれの方法においても,ギリシア文字の取扱いは考慮されていない。

[2] では T2A, T1, TS1 フォントエンコーディングが考慮されている。イタリック書体のとき ; (セミコロン) が出力できない問題がある(生成された Type1 フォントのエンコーディング・バグのようである)。これに対し,[1] の方法は T2A, T1, TS1 のほか,古スラヴ文字 T2D エンコーディングが利用可能だし,[2] のセミコロン問題がない。そういう意味で私は方法 [1] を推奨する。導入の手間は前提ツール次第であって,すでにツールが揃っていればどちらの方法もそれほど面倒ではない。[1] は autoinst 関連ツール(『Хартия, Эвристика フォント: Autoinst によるフォント組込み』にメモを残したので,そちらもご覧ください),[1], [2] ともに LCDF ツールを必要とする。

簡単に [1], [2] の UNIX 系システムでの導入方法をメモしておく。ptexlive-2009 環境である。端末操作は tcsh シェルである。私は Mac OS X Tiger, Snow Leopard で実施したが,Linux, FreeBSD でも同じ操作でよいはずである。

autoinst によるインストール

  1. Загрузка шрифтов (フォント・ダウンロード) サイトから oldstandard-2.0.2.otf.zip をダウンロードし,解凍する。
  2. 解凍したディレクトリで autoinst を実行する。--encoding オプションに T2D を指定するためには,t2d.enc エンコーディング・ファイルが予め TeX ツリーに格納されていなければならない。このファイルは PSCyr-0.4-beta フォント・パッケージなどで入手できる(ここにインストール・メモを記した)。
  3. % autoinst --encoding=T2A,T2D,T1,TS1 *.otf

  4. スーパユーザで以下を実行する。autoinst が生成した LaTeX リソースを TeX ツリーに格納しているだけである。これら一連のオペレーションを行うシェルスクリプト autoinst-install.sh を落として使っていただいてもよい。
  5. # setenv TEXDIR /usr/local/texlive/texmf-local
    # mkdir -p $TEXDIR/{fonts/map/dvips,tex/latex}/OldStandard
    # cp -p *.sty *.fd $TEXDIR/tex/latex/OldStandard
    # cp -p *.map $TEXDIR/fonts/map/dvips/OldStandard
    # cd $HOME/.texlive2009/texmf-var
    # find . -name lcdftools -type d | xargs tar cf - | ( cd $TEXDIR; tar xvf - )
    # mktexlsr
    # updmap-sys --enable Map=OldStandard.map

  6. 使い方は,通常のロシア語用 LaTeX 原稿のプリアンブルに \usepackage{OldStandard} を追加すればよい。ロシア語旧正書法テクストを直接入力する場合は,以下のように utf8x inputnec 及び T2D エンコーディングの設定が必要である。処理結果イメージをそのあとに掲げておく。原稿及び PDF もリンクしておく。古風な味わいのあるフォントである。
  7. % -*- coding: utf-8; -*-
    % OldStandard Cyrillic Fonts 
    \documentclass[b5paper]{article}
    \usepackage[T2D,T1]{fontenc}% T2D fontenc
    \usepackage[utf8x]{inputenc}% ucs
    \usepackage[russian]{babel}
    \usepackage{OldStandard}
    \pagestyle{empty}
    \setlength{\textwidth}{100mm}
    % 以下 T2D 用設定
    \def\cyrillicencoding{T2D}% russianb.ldf に T2D 指示
    \makeatletter% \cyrii 互換命令
    \def\@td{T2D}% 
    \let\CYRIItmp=\CYRII% upper case
    \let\cyriitmp=\cyrii% lower case
    \def\cyrii{\ifx\cf@encoding\@td\cyrizhe\else\cyriitmp\fi}%
    \def\CYRII{\ifx\cf@encoding\@td\CYRIZHE\else\CYRIItmp\fi}%
    \makeatother%
    \begin{document}
    Вопросъ о разрывѣ Татьяны съ Онѣгинымъ, несмотря на всю
    ясность. Пушкинскаго стиха, выросъ у насъ въ своего рода 
    \glqq гамлетовскую проблему\grqq,
    къ которой постоянно возвращается критическая мысль.
     
    Онъ, по выраженію Достоевскаго, имѣетъ въ нашей литературѣ
    \glqq своего рода исторію весьма характерную\grqq.
      
    Иначе говоря, вокругъ него сталкивались и боролись 
    различныя враждующія теченія соціально-политической мысли.
     
    И совсѣмъ не случайно выразителями двухъ наиболѣе 
    противоположныхъ взглядовъ на этотъ предметъ являются 
    представители враждующихъ міросозерцаній
    "---соціалистъ-радикалъ Бѣлинскій и 
    націоналистъ-славянофилъ Достоевскій.
     
    \vspace{1em}%
    \small%
    \hfill%
    \parbox[t]{.8\textwidth}{%
    \textit{А. И. Ванновский}~~Зерколо судьбы. (Сон Татьяны.)\\
    в кн.: \textit{С. А. Небольсин}~~Пушкин и европейская традиция. 
    Историко-теоретические работы. М. 1999.}%
     
    \end{document}

    20110210-oldstandard.png


OldStandard-source.7z によるインストール

  1. http://narod.ru/disk/4873172001/OldStandard-source.7z.html から OldStandard-source.7z をダウンロードする。解凍には 7-Zip 圧縮をサポートしたアーカイバが必要である。
  2. Windows MikTeX ユーザなら,添付の fos-FontLab.bat を実行すればよいはずである(私は未確認)。UNIX ユーザは仮想端末から以下を順次実行する。まず,解凍した OldStandard ディレクトリで以下を実行する。これでフォント・リソースが生成される。fos-fontgen.sh としてシェルスクリプトにしたので,これを使ってもよい。
  3. % latex fos-drv.tex
    % latex fos-map.tex
    % foreach i (*.pl)
    foreach? set BS=`basename -s .pl $i`
    foreach? pltotf $BS.pl $BS.tfm
    foreach? end
    % foreach i (*.vpl)
    foreach? set BS=`basename -s .vpl $i`
    foreach? vftovf $BS.vpl $BS.vf $BS.tfm
    foreach? end
    %

  4. スーパユーザでリソースを TeX ツリーにコピーし,マップ登録を実行する。fos-install.sh としてシェルスクリプトにしたので,これを使ってもよい。
  5. # setenv TEXDIR /usr/local/texlive/texmf-local
    # mkdir -p $TEXDIR/{fonts/{tfm,vf,afm,type1,map/dvips},tex/latex}/OldStandard
    # cp -p *.tfm $TEXDIR/fonts/tfm/OldStandard
    # cp -p *.vf $TEXDIR/fonts/vf/OldStandard
    # cp -p *.afm $TEXDIR/fonts/afm/OldStandard
    # cp -p *.pfb $TEXDIR/fonts/type1/OldStandard
    # cp -p fos.map $TEXDIR/fonts/map/dvips/OldStandard
    # cp -p *.fd $TEXDIR/tex/latex/OldStandard
    # mktexlsr
    # updmap-sys --enable Map=fos.map

  6. 以上でインストールは完了。使い方は通常のロシア語 LaTeX 原稿に \renewcommand{\rmdefault}{fos} を追加すればよい。ただしこの場合,T2D エンコーディングは使えない。また,dvipdfmx で PDF を生成する際,イタリックのセミコロンがエラーになるので注意。

最近,芭蕉関係の本を読み漁っているからか,「和」の雰囲気にどっぷり浸っており,浮世絵サイトを眺めたり,音楽も日本の現代作曲家・吉松隆のピアノ曲・プレイアデス舞曲集,— なぜか — 中森明菜の 1995 年に出たリアレンジ・ベスト曲集 TRUE ALBUM AKINA 95 BEST を繰返し聴いていた。芭蕉ロシア語訳を進めている D. Smirnov のために,今日も芭蕉真蹟イメージをせっせと Facebook にアップロードしたりしていた。

芭蕉も歌麿も当時の大衆的超人気アーティストだった。風雅,風狂のみならず日常性,ユーモア,諧謔,卑俗,ときおり漂うエロチズムの豊かな芭蕉俳句に親しみ,浮世絵の極彩色の色調・独特のデフォルマシオンに感嘆していると,芸術の大衆的・世俗的側面が皮肉に眺められる現代的芸術観はどうもお高く止り過ぎているように思われて来る。

私はこのところ,浮世絵はいまのマンガ,アニメに他ならない,と思うようになった。マンガ,アニメは,素早く仕上げられ大量生産を可能とするシンプルな様式と,絵であるがゆえの非現実的描写・デフォルマシオンと,享受者を「萌え」させるに足る独特のリアリズムとを,見事に統合し作品として血肉させている。この特徴は,浮世絵,さらには文楽の人形様式,歌舞伎のどぎつい化粧様式とまったく共通する。様式素材が非現実的であるからこそのリアリティ。ヘンタイ,ヤオイなどのジャンル(米国などでやり玉に上がっている日本アニメの,恥部とまでいわれるジャンル)に認められるエロだって,北斎,歌麿などがいくつも描いたモロ出し春画とまったく同じじゃないか。そしてようやく私は,海外のオタクのみならず絵画・映画の識者にも日本のマンガ,アニメが評価されている理由が理解できたのである。かつて北斎などの浮世絵にゴッホやフランス印象派の画家たちが血道を上げたのとまさに同じだったのである。かつて浮世絵が日本では二束三文だったのに西欧で高く売れるとなったらいきなり国内でも真面目に研究されはじめた,そういう日本人自身が「芸術性・高尚さ」を認めていなかった事情もマンガ,アニメと共通である。これからは,浮世絵を芸術だと称揚する一方でマンガ,アニメというメディアをバカにする批評家を見たら嗤ってやろう。

とまあ,「和」に浸たりきっていた。そういうわけで,今夜はヨーロッパの古楽をしみじみと聴くことにした。英国 17 世紀の,芭蕉とほぼ同時代に生きた大作曲家ヘンリー・パーセルの Fantasias for viols ヴィオールのためのファンタジア集。パーセルはバッハ,ヴィヴァルディ,テレマンの次に名前をあげたいバロック作曲家なんである。演奏は Ulsamer-Collegium。独 Archiv 1977 年録音のアナログレコード。第 7 番 4 声のファンタジア・ハ短調,第 8 番 同・ニ短調は,時代を先取りするようなシャープな旋律と対位法で(こんな言葉で言ったって意味がないんだけど)私のもっとも好きな古楽のひとつである。ああ,ヨーロッパの文化もやはり最高である。
 

20110206-purcel.png

上記の盤はアナログであり,もはや廃盤となり,入手不可能のようである。CD なら,次のロンドン・バロックの演奏による盤が私のお勧めである。
 

Fantasias for Viols
London Baroque Orchestra
Capitol (1993-01-12)

ロシアの Ozon から書籍が二冊届く。ロシアの文芸学者 Ю. Чумаков ユーリイ・チュマコフによる Стихотворная Поэтика Пушкина. СПб. 1999. (『プーシキンの詩学』) と В Сторону Лирического Сюжета. М. 2010. (『抒情詩のプロットに向かって』)

ユーリイ・チュマコフは 1922 年生まれで,かのユーリイ・ロートマンと同年であるが,日本では恐らくあまり知られていない。じつは私も Пушкинский Сборник. М. 2005. (『プーシキン論集』) に収録された彼の論文 О сюжете «Евгения Онегина» (『「エヴゲーニイ・エネーギン」のプロットについて』) で,はじめて彼の名を知った。これを読んで,韻文小説という作品フォルムから詩の面白さを明らかにしてくれるこんな研究者を,大学時代に知らずにいたことが悔やまれた。詩におけるプロットが散文小説におけるその意味と異なる特殊性に注目するところ,ロシアフォルマリズムの構造的視点に似ていると思う。

チュマコフはプーシキンのとくに『エヴゲーニイ・オネーギン』の作品論で素晴らしい洞察を発揮する。今回入手した『詩学』のなかでもかなりのページ数が『エヴゲーニイ・オネーギン』に割かれている。彼はこの作品の注釈書も書いている(残念ながら私はまだ読めないでおり,Ozon で古書が出るのを待っているんである)。私も『オネーギン』がプーシキンの謎めいたもっとも魅力ある作品であると疑わない向きなので,チュマコフの論考が楽しみである。
 

20110205-chumakov.png
 

* * *

サッカー・アジア杯の熱狂のウラで,エジプト,チュニジアの「民主化デモ」が大いなる話題になっていた。民衆がインターネットを通じて連絡を取り合い,デモが拡大した — 報道はこのように伝えている。中国も「民主化」というキーワードで世界から非難される立場にあり,アフリカの騒擾にピリピリしているらしく,インターネットのゲートウェイで「エジプトデモ」などの検索キーワードをブロックしたそうである。ま,心配しなくても中国であれほど大規模な「民主化デモ」はまだ起こりそうもない。一般の生活が相対的に豊かになっている社会では,反政府的騒ぎは民衆の賛同が得られず,小さいうちに摘み取られてしまうからである。

エジプトはアラブ諸国のなかでサウジアラビアとともに米国の「飼い犬」的存在の代表である。それゆえの長期政権。そんな国に「民主化デモ」が起こり,「民主化」を謳う米国は困った対応を迫られているようである。もし新しいエジプト政権が米国の思惑から離れてイスラエルに敵対的な方向に進むとしたら ... おそらく中東はいよいよキナ臭くなる。これがいちばん恐ろしいことである。
 

* * *

サッカー・アジア杯の熱狂のウラで,日本の政局はどうかというと,元自民党議員,元たちあがれなんとかの議員,すなわち旧政権の亡霊のような与謝野さんがなんと財務大臣になっておりました(いまごろ話題にすることかよ)。こういう無節操がまかり通る民主党政権は,国民の政治意識を徹底的に殺いで — というのも,首を傾げさせるような行動を立て続けに堂々と起こされると,期待感が喪失して,ま,どうでもいいか,オレには関係ねぇやという気持ちが募るものなのだ —,無関心の上に長期政権化を図ろうとしているようである。あと小沢さんをブタ箱に送り込めば,安っぽい正義感に憤るバカどもの支持を集め,政権交代時の理想の封印が完成して自民党時代以上の官僚政治時代が訪れるんだろうな。菅内閣がなにもしなければしないほど,官僚は内閣の味方になって,政権が長持ちする。高齢のサラリーマンがほとんど役に立たなくてもそのまま定年まで職に居座るように,菅直人さんはなにもしないことで守られるというわけである。お体に気を付けて! 菅直人さんこそニッポンの象徴!

節分,サッカー世界ランキング

今日は節分。晩ご飯に恵方巻を食べた。今年は干支でいえば辛卯の年であり,恵方は南南東。ということで,南南東に向いて願いごとをしながらパクついたわけである。テーブルで家族四人で同じ方向を向いて食事をする様は異様であった。

* * *

アジア杯が閉幕し,日本は過去最多の 4 回目の優勝に輝いた。あまりのうれしさに YouTube のアジア杯動画を観て喜びを反芻しているんである。そのなかで素晴らしい映像を見つけたので,ここにもエンベッドしておきたい。作者は sonareditor さん。アジア杯公式 CF の効果的挿入,津軽三味線をフィーチャした渋い BGM,ブルーのユニフォームを神秘的に見せる暗い映像,キャプションのヨーロピアンな書体など,明らかにプロフェショナルのグラフィックデザイナの手になるものである。ウイイレ CF のヨシダくんが出て来るのが笑える。カップを手に大喜びしている吉田選手のカット。BGM の吉田兄弟による津軽三味線ともども,今大会ヨシダが目立った事の象徴か?
 

 

ところで,サッカーの世界ランキングが更新され,日本はアジア杯好成績を受けなんと 17 位に躍進したらしい。FIFA 世界ランキングはホント当てにならない指標なんだけど,これが国際的地位を端的に表現していることは間違いない。しかし,それにしても,オーストラリア 21 位,韓国 32 位に対してこのランキングは高過ぎやしないか。米国,チェコ,メキシコよりも上位というのは,逆に鼻白んでしまう。ま,パク・チソンの去った韓国よりは「確実に上」だとは思いますけど,25 〜 30 位くらいの間が今の日本の位置として妥当ではないかと思う。

今落ち着いてアジア杯を顧みると,ヨーロッパ,南米サッカーと比べて日本のサッカーはやはり質が落ちるのは明白である。なにより守備のミスがあまりに多い。吉田,今野のセンターバックのあのヘボさ加減は,とても落ち着いてみていられないくらいなのである(この二選手のファンの方,ゴメンナサイ)。オーストラリアに勝ったといっても,ラッキーな要素が相当強い。今回のアジア杯での私の喜びといったら,因縁のオーストラリア,しかもつまらないサッカーをするオーストラリアに日本が一泡吹かしてくれたこと,自信過剰でファールの多いガサツな韓国チーム(旧宗主国日本への怨念に貫かれた悲しいかつてのアジア・サッカー王者)に精神力とエレガンスとで優ったこと,その二つに尽きるんである。それゆえ今大会が最高だったのだ。世界レベルではまだまだ日本は弱いというのが実感である。

日本チームの「強さ」という意味では,2000 年レバノン大会あたりの代表メンバーのほうが上だと思う。ナショナルチームとしては当然,最高のミッションは次の 2014 ワールド杯であるわけだけど,海外と日本とのリーグ・シーズンのずれのため,欧州のクラブに移籍した選手とJリーグの選手との間での日程調整がかつてないくらい困難な状況にもなっており,監督の目指すチーム作りは今後さらに難しくなるはずである。アジア杯で優勝した直後でこんな暗い想像をしてもあんまり意味がないんだけど,私は,正直,2004 年にアジア杯を獲得したチームが「海外組」と「国内組」とでバラバラになって 2006 年のワールド杯で惨敗したあのどっちらけを,再度みなくてすむように祈るばかりである。

Moon Calendar

Profile

ISAO YASUDA。システムエンジニア。神奈川県在住。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

この文書はフィクションであり,実在する個人,団体等とは一切関係ありません。

R-18 指定サイトです。そのうち「18 歳以上ですか」の認証を入れる予定です。

文書の記述内容は無保証です。不適切な表現があればコメントにてご指摘ください。

コメント,トラックバックは,現在,運用を停止しています。ご意見等ありましたら isao@yasuda.homeip.net 宛電子メールにてお願いします。

Links

Entries

About this archive

Entries at 2011年2月 in chronological order.

Previous: 2011年1月

Next: 2011年3月

Recent Entries in Main Index.
All Entries in Archive Index.

March 2012

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Emacs: Monthly Archives

Powered by Movable Type 5.12 Powered by FreeBSD 8.2-RELEASE
blog counter