パスワードを忘れた? アカウント作成
134984 story
プログラミング

RubyとLispでウェブアプリケーションを実運用 35

ストーリー by mhatta
なんどでもよみがえるさ 部門より

本家/.の記事より。飛行機は天候や空港の都合ですぐ遅れる乗り物だが、そんなときはFlightCasterを試してみると良い。現時点では米国内便のみ対応だが、管制情報や天気予報、最近10年間の飛行記録を取り混ぜて、統計分析によってリアルタイムに飛行機の遅れを予想する新しいサービスだ。

しかし/.的に関心があるのは、どちらかというと実装の中身だろう。このサイトはフロントエンドにおなじみRuby on Rails、大規模分散計算フレームワークApache Hadoopを使い、Ruby版PaaSのHerokuにホスティングされている。しかしバックエンドの実装に用いられたのはRubyではなく、Javaで書かれたLisp方言の一つClojureFlightCaster開発陣の一人のインタビューでは興味深い内幕が披露されている。O'Reillyからは新たなLisp本の出版も予告されているが、とうとう「カッコの時代」が来たのだろうか…。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by ttm (8278) on 2009年08月24日 9時17分 (#1627919)

    BayesianなのかSVMなのかHMMなのか、どんな推定アルゴリズムを使っているのか気になったのですが、
    http://flightcaster.com/faq [flightcaster.com] より引用

    FlightCaster takes data from multiple sources - some historical, some real-time - and crunches them in a database with a patent-pending algorithm and process. We use 10-years of flight data along with current and near-term forecasted conditions to establish likely delay factors and assess the impact they will have on your flight. Our results are based on predicted arrival delays - when you will pull into your arrival gate.

    というわけで、特許出願中ということぐらいしかわかりませんね。

  • by Anonymous Coward on 2009年08月24日 0時08分 (#1627797)

    最初はぱっと見て、航空予約システムがLispなのかと思った。

    統計情報や交通事情や紛争天災年中行事から遅延を予想するサービス・・・
    実際に航空会社のサイトで運行情報を見たほうがいいのでは?

    何に使うんだろう?遅延で払い戻しが生じる事に対して保険をかけた場合、
    保険会社が査定に使えるくらいかな?

    個人で調べて、5%くらいの便は遅れて到着します、と言われてもどうしようもないような。

    いや、そうではなく。これLispだからどうなのかと。
    LispじゃなくRubyをフロントエンドに使ったタロット占いでも変わらないんじゃないかと。

    • 実際に航空会社のサイトで運行情報を見たほうがいいのでは?

      FlightCasterは、例えば明日の運行状況(遅延、運休など)を「予測する」システムなので、
      航空会社のサイトの「運行情報」のような「現況レポート」とは別物だと思います。

      親コメント
    • by Anonymous Coward on 2009年08月24日 7時21分 (#1627891)
      航空会社や旅行会社よりも数時間速いらしいですよ。
      Y Combinatorの投資家向けの発表であったんだが、日本語記事どっかに行ってしまった。
      親コメント
      • by Anonymous Coward
         確かに遅れるのが当たり前の米国では必要かも知れませんねぇ。
        日本では、羽田空港の混雑をダイヤに織り込んでいない全日空ぐらいしか必要なさそうな・・・。
    • 日本国内の某航空会社では、乗員の予約システムをLispで動かしていたことはありますな。(普通に言えば乗員のスケジューリングシステムなんだろうけど)
      #AIブームは遠くになりにけり
  • なんかさいきん (スコア:1, すばらしい洞察)

    by Anonymous Coward on 2009年08月24日 7時00分 (#1627887)

    広告がどんどんいかがわしいものになってくんだけど、どうなのよ?
    金さえ入ればいいの?

  • メッセージ用のダイアログに、ほかの人が投稿した
    既存の要望や質問を、リストアップするセクションがある。
    ほかの人の投稿に対して「禿しく同意」ボタンを押すと、
    賛同者の人数が、カウントアップされるという仕組み。
    こういうインタフェイスは、いいと思うなぁ。

  • そろそろ、こんな時代が来るんですね、、、。
    私だったら、Djangoで、GAEって言うところかな、、、。
    lispの部分は、pythonのlambda式を使えば、そのまま使えるかも、、。
    cpython の代わりにclpythonを使ったら、もっと面白いかな、、、。
    でもGAEは使えないな、、、。
  • by Anonymous Coward on 2009年08月23日 23時37分 (#1627779)
    アカデミアとインダストリアの距離に絶望した!
  • by Anonymous Coward on 2009年08月24日 0時04分 (#1627792)
    俺がSICP読み終わるまでLisp時代が来るのは待ってくれー
    • by Deasuke (34806) on 2009年08月24日 1時14分 (#1627827) 日記
      SICPの内容を理解したいなら、斜め読みで良いから、とっとと「俺様schemeを作って(実装して)しまう」のが良いと思います。
      SICPより前に The Little Lisper を軽く読んでおくのがおすすめ。これで「あれ?LISPに括弧なんてあったっけ?」と思うくらいに括弧に慣れればしめたもの。

      ・SICP読んだだけではまともにLISPは使えません。あの本ではLISPの一番強力な機構であるマクロについての記述が不足している。
      ・SICPはcommon lispではなくschemeの本(※)。
      と言った点にも注意。私見ですが、「common lisp←→scheme」間より「scheme←→javascript」間の方が近いと思っています。実際SICPを理解するとecmascriptの定義書(とくに最初は読みにくい10章あたり -- 実装する人にしか必要のないあたりですが...)が理解しやすくなるかと。あとperlが分かるなら、common lispの変数はlocal的な感覚で、schemeとjavascriptの変数はmy的な感覚。

      (※) Gauche(schemeの1つの実装)の作者ですら、実用的には(永久に自分がメンテするシステムならGauche使うけど)common lispじゃないと厳しい、と言った意味のことを言っていました(どこか忘れましたがGaucheのサイトから辿れます)。
      --
      Best regards, でぃーすけ
      親コメント
      • by Anonymous Coward
        > LISPの一番強力な機構であるマクロ

        書いて極楽、見て地獄
      • by Anonymous Coward

        >実用的には(永久に自分がメンテするシステムならGauche使うけど)common lispじゃないと厳しい

        CommonLisp全体と、
        Schemeのうちあくまで氏のオレオレ実装(独自拡張いっぱいあり)のGaucheとを
        同列に比べたら、
        そりゃ自分以外がメンテするにゃ厳しいという答えになるでしょうけど、
        それは「Schemeの」話ではなくGaucheの話ですよね。

        #実際のところどうなのかは氏のサイトの書き方しだいだけど、
        #元コメの書き方をそのまま読解すればそうとしか読めん。

        確かにSchemeは所謂フルスタックの真逆で「仕様の小ささ」「周辺ライブラリのことなんか出来るだけ関知しない」が売りなのだから、
        実用するにはスタックの足りなさを補完するようなオレオレ実装が山ほど生まれるのが宿命なのだけど、
        上コメからそこまで読み取れるわけでなし。

    • by Anonymous Coward
      と、俺も20年前に思いました。

      あの本も古いね。いつからあるんだろ。
      優れた本なのは間違いはないが、悪影響も甚だしいんだよな。かぶれてメクラになるやつが続出だ。
      • by Anonymous Coward

        >優れた本なのは間違いはないが、悪影響も甚だしいんだよな。かぶれてメクラになるやつが続出だ。
        同意するなぁ。
        講義内容を神聖不可侵な物として受け取っているとしか思えない言動するんだよね。

        かぶれると5年くらいダメだよね。
        #もちろんかぶれ無い人の方が多いのだけど、駄目な子ほど目立つというか、声がデカイというか正直邪魔

        • 話だけ聞くと、何かかつてのマルクス主義とかみたいに思えるけどそうなんですか?
          親コメント
        • by Anonymous Coward

          どの辺がそんなに悪影響があるんでしょうか。
          関数による素直な抽象の例ばかりのように思うんですが。
          OOP的じゃないから、だめとか、そういうドグマ的な話ですか?
          教えていただければ幸いです。

          • by Anonymous Coward
            > 関数による素直な抽象の例ばかりのように思うんですが。

            これは悪影響の例といっていいでしょうね
            ほら、ドグマとか言ってるし(笑)

            > OOP的じゃないから、だめとか、そういうドグマ的な話ですか?
            • by Anonymous Coward
              うーん。もうちょっと面白い回答があるかと思って質問してみたのですが。 そのうち、Lispネタを書く予定もあるので、覚えていたら、この話、ぼくのブログ http://iiyu.asablo.jp/blog/ [asablo.jp] で取り上げてみます。
          • by Anonymous Coward
            元AC> 講義内容を神聖不可侵な物として受け取っているとしか思えない言動するんだよね。

            という発言があります。なので問題はSICPの内容ではないわけです。「優れすぎ」ているでカブれて視野が狭くなる、という言い方はできるかもしれませんが。ですから

            > どの辺がそんなに悪影響があるんでしょうか。
            > 関数による素直な抽象の例ばかりのように思うんですが。

            という質問の仕方には、ああやっぱりSICPのことにしか目がいかず、外のことに目が向いてらっしゃらないな、と感じたわけです。

            ここまでなら「そんなカブれるほどの本だっけ?」という話だと解釈することもできましたが、ドグマ的うんぬんでその可能性は潰れてしまいました。
      • by Anonymous Coward
        いやでも小さいうちに一度はかぶれておいたほうがいいのは水疱瘡と一緒。
  • by Anonymous Coward on 2009年08月24日 0時15分 (#1627801)
    そういうコメントを求めているのですね?
  • by Anonymous Coward on 2009年08月24日 2時48分 (#1627856)

    深く考えないで、
    インデントのPythonとカッコのLispなんていうトンデモ組み合わせだったらもっと面白かったかもね
    なんて言ってみる。

    • by Anonymous Coward
      一人前のLisperは括弧ではなくインデントを読んでるけどね。
  • by Anonymous Coward on 2009年08月24日 7時54分 (#1627895)

    >Clojure is a LISP for the JVM created by Rich Hickey.

    リッチでヒッキーな人が作ったの?

    #三千院ナギ?
    #↑頭良くて金と暇あってヒッキーだというならゲーム三昧じゃなく自由ソフトも作って欲しいんだが。

  • by Anonymous Coward on 2009年08月24日 9時33分 (#1627928)

    Lispじゃ、UIを作れないって事だな。

    • by Anonymous Coward
      つ LTk
    • by Anonymous Coward

      Kahua Project [kahua.org]

      逆に言えばLispベースのアプリケーションサーバーなんぞにも
      ちゃんと需要はあったってことか。
      Yahooのサービスを作った時のPaul Grahamの話を読むと
      なんか確かに素晴らしい気はするんだが。

      • by Anonymous Coward

        Kahuaといえば継続ベースですなあ。

        >Yahooのサービスを作った時のPaul Grahamの話

        もちろん言語としての生産性とか自由度の問題も大きいのだろうけど、

        Graham氏の「要望が来たらその場でさくさく修正できるんだぜ」という辺りを実現してる要因は、必ずしも言語そのものの強みではなく、どちらかというと「修正後のリロードなんて野暮なことを心配しなくていい」ような処理系エンジンの作りの問題なんじゃないか?

        Javaでも(Seasarの人が)ホットリロードとか言っているわけだけど、
        状態マシンをメモリ内部※にきちんと持つ(持つことを諦めない)ならば、
        「リロード」とはどこまで行っても

typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...