Responder in paradise[1] ほんとの第一歩

これの続き。

PythonでResponderというと、サンプルとして必ず出てくる

import responder

api = responder.API()

@api.route(“/”)
def nanntarakanntara(req, resp):
………

な感じのアレ。恐らくFlaskユーザへのラブレターなんだろうが、Flaskを知らないユーザはアレを見てどう思うだろう?

俺は最初「 最も重要なAPIのインスタンスがグローバルな場所に無操作に置かれている」のが嫌で、これを自前クラスの中でself.apiとした。ところがこれだと@デコレータでのルーティングができない(!)。

この時点で心折れそうになったが気を取り直して本家ドキュメントを読み、その代替手法たるadd_route()の存在を知った(たぶんfalcon伝)。そしてその結果、ルーティングにクラス内のメソッドを使えるようになった。

が、これだけだといずれクラスの肥大は免れない。そこで更に「クラスベースのルーティング」を試してみることに。やり方は簡単でadd_routeの第2引数にクラスの名前を書くだけ。これでresponder.apiのクラスと、ルーティングの対象に応じて使われるクラスとが分離されてスッキリした。

がしかし、今度は後者でapi.templateを使おうとして躓いた(分離したのだから当然だが)。暫し悩んだ後、後者をインスタンス化して__init__でapiを渡し、add_routeにはクラス名でなくそのインスタンス名を書いてみたら○。

という訳で結構苦労したが、ここまででルーティングの手法を「デコレータとメソッドで」から「add_routeと別クラスで」へとすることができた。この拘りはいずれ己を救うと信じている。以上!

    Responder in paradise[0] はじめに

    長いことWeb方面で食ってきたこのワタクシが昨年Embeddedな世界に戻ってきて以来、自分でも呆れるくらいずっとPython漬けな日々が続いている。おかげでいまやPHPとかJavaScriptとかに強烈な違和感を覚えるようになり、もはや併用は無理と判断するに至った。そして遂には、ApacheやPostgreSQLとの組み合わせで20年近くも使ってきた前者を「すっぱり捨てる」覚悟を決めた。そこでまずは定番Djangoから始めてみたが、すぐに「俺にこの思想は向かない」と感じ、以後最近この界隈で話題のResponderで行くことに決めた(注1)。

    とはいうもののResponderはまだデビューから間もないとあって、情報が圧倒的に不足している(注2)。そこでここは一念発起、自らResponderの「人柱」となるべく備忘録を兼ねてこのスレッドを始めることにした。いわゆる「はじめてのResponder」は数多のヨソ様におまかせするとして、ここではその応用編・実用編、それもPHP(とかPerlとか)から流れてきた人向けという感じな展開ができればと思っちょります。乞うご期待!

    次回「ほんとの第一歩」に続く

    注1: FlaskでもFalconでもない理由は既に多くの人が語っているので省略
    注2: 現在本家サイトにhttpsでアクセスできないし …

      かつて演劇部長を務めたことのあるわたしと「いだてん」

      カイロでのIOC総会で東京五輪の開催を勝ち得た嘉納治五郎は日本への帰路、船中で没する。それが叶わなかったことを知っているだけに、これはアカラサマなまでに「泣かせ」な展開だが今回ばかりは完全に釣られた。視聴率で苦戦を強いられっぱなしなNHK大河「いだてん」と、当時のこの国の四面楚歌な立ち位置がカブってしまって、それはなおさらだった。

      その嘉納治五郎は船内のロビーで「あなた方のこれまでで一番楽しかったことは何ですか?」と、周囲の者に尋ねる。俺はそこで「ハイ!」と挙手。びっくりしたように振り向く役所広司。

      「EXPO70です!」
      「は、エクス … ? 何かねそれは?」
      「大阪で開催された日本万国博覧会、昭和45年、わたしが11歳の頃のことです!」

      あれほどまでに指折り数えて待ち、そして期待を遥かに超えた感動を与えてくれた催しは後にも先にもあれだけ。更にはあの時以来流行語となった「コンピュータ」というカタカナ言葉が脳裏に焼き付き、それは結果的に俺の生き方を決定づけてしまった。

      尤もそれはまだ当時の俺が幼気な「子供」だったというところもあるんだろうが、あの時周囲を歩いていた大人らも、みなそんな目をしていた。つまりあの頃のこの国は、今よりずっと若くて元気だったのでしょう。

      「1970年? わしが110歳か、楽しみだねそれはハハハ!」
      「いまや既にそれから49年経ってますよハハハ!」


      少子高齢化でお先マックラですけど …

      NHK大河で真に「歴史に学ぶ」を実感したのは本作が初。総合で日曜20:00でなくて一向に構わんので、この路線を継続してほしい。

        群馬県は近きにありて遠かった

        この週末のミッション、それは

        * クルマに高齢者2名を積んで長野県諏訪市を出発
        * おとなり群馬県吾妻郡で結婚式(自分のではない)
        * その日のうちに戻る

        というもので、直線距離にして片道100kmちょい。楽勝でしょうと思っていた。が、カーナビのおススメルートは

        佐久まで山中の一般道 → 中部横断自動車道 → 上信越道 → 関越 → 一般道

        な約300km、3時間超。これが山岳地帯の宿命である。走り出すとさっそく最初の区間でトラックやら軽やらに行く手を阻まれ、予定時刻の30分オーバーで到着。休む間もなく宴は始まった。

        Canon EOS 6D (90mm, f/4, 1/350 sec, ISO1250)

        Canon EOS 6D (70mm, f/4, 1/180 sec, ISO6400)

        Canon EOS 6D (90mm, f/5.6, 1/90 sec, ISO6400)

        それは大盛況感動ウルウルのうちに終了。がここまででHPを大量に使ってしまっていたので、帰路は高速優先でと検索したところ

        一般道 → 関越 → 上信越道 → 中央道 → 一般道

        で約400km(!)。以後ずっと「何が悲しゅうてわしらこんな遠回りしとんねん … 」と嘆きつつ、走り続けることまたまた3時間超。無事ミッション完了とはなったものの、クルマを降りた時点で完全にKO。そのまま泥のように寝た。

        中部横断自動車道が全線開通となればこれも大幅に改善されるんだろうが、果たしていつのことになりますやら。次回、同様のミッションの際にはどっかで1泊が必須ですなこれは。隣県なのにー!

          ようやく「秋」が

          昨夜は早くに就寝。網戸にしてエアコンOFFで寝られたのはいいが、強烈な高気圧感で早くに目が覚めた。この時期にしてこれは異常。玄関の扉をあけたら強風でエライことになった。ま、それも午後には落ち着いてきて、あたりにはようやく初秋な空気。洗濯物を取り込もうとベランダに出た時、その向こうに広がっていたのがこれ。

          Canon EOS 6D (90mm, f/5.6, 1/250 sec, ISO2000)

          秋はいちばん好きな季節。その訪れを感じるたびに毎年「ホッ」とした気分になる。だがそれは年々「遅く、短く」が加速している気が、更には「日本の四季のバランスが崩れてきている」と実感する機会が増えてきている。いきおい「来年の今頃はどうなっているのだろう?」と不安になってくる。

          自分にできることは何か? 今はそれを、けっこうマジで考えている。