ページ内ジャンプ:

アレゲなニュースと雑談サイト

Oliverによる 2004年12月18日 19時30分の掲載
表は華麗に、裏ではゴリゴリ部門より。

Anoymous Coward曰く、"本家記事より。あるブロガーによってGoogle Suggestのコードが解読された。もともと、JavaScriptで書かれたGoogle suggestのコードIOCCCのコードかと思われるほど詰めて書かれており、ちょっと見ただけでは動作の詳細までわからないようになっている。この解読でこの便利なUIのいっそうの普及を期待したい。"

この議論は賞味期限が過ぎたので、保存されている。 新たにコメントを書くことはできない。
表示オプション しきい値:
  • 解読? (スコア:3, 参考になる)

    Anonymous Coward : 2004年12月18日 21時05分 (#667874)
    「解読!」というのはちょっとどうかと。

    変数名縮めてあるぐらいで、特に難読化されてるわけではなくJavaScriptに詳しい人なら普通に読めるかと思うのですが。
    動作原理はXMLHTTPを使ってバックエンドで検索結果を取ってきて、画面に書き出しているだけです。

    Google Suggestより以前にもXMLHTTPを使った検索を実装しているサイト [bitflux.ch]があります。

    OperaがXMLHTTPに対応したのはつい最近みたいなので、古いブラウザに配慮するなら、IFRAMEに検索結果を読み込んで似たようなことができます。
    • Re:解読? (スコア:2, すばらしい洞察)

      airhead (13423) : 2004年12月18日 22時35分 (#667895) ホームページ 日記

      解読じゃなくて解説、あるいは注釈と考えればいいんじゃないですかね。

      var w="";var pa=false;var ta="";var da=false;var g="";var G="";var m="";var j=-1;var h=null;var Z=-1;var za=null;var Ca=5;var q=""; (以下略)
      オリジナル [google.com]

      ↑こういうのを、

      var w="";
      var pa=false;
      var _oldInputFieldValue=""; // inputField value (set during call to google...)...(was ta)
      var da=false;
      var _currentInputFieldValue=""; // also inputField value (was g)
      var G="";
      var _eventKeycode=""; // event keycode... (was m)
      var _highlightedSuggestionIndex=-1; // currently hightlighted suggestion index (was j)
      var _highlightedSuggestionDiv=null; // currently highlisted suggestion div... (was h)
      var _completeDivRows=-1; // completeDiv rows at time of keypress... (was Z)
      var _completeDivDivList=null; // completeDiv div list at time of keypress (was za)
      var _completeDivRows2=5; // was Ca... initially 5? not sure difference between this and _completeDivRows...
      var q=""; (以下略)

      解説版 [fastbugtrack.com]

      ↑こうしてくれているわけでしょう。それだけでも彼はエライと思うけどなあ。

      • Re:解読? (スコア:2, 参考になる)

        Anonymous Coward : 2004年12月19日 6時36分 (#668017)
        >セミコロンをセミコロンと改行に置換すればよいだけのような
        コードを読んだ事が無いか、英文が読めないのですか?
        //の後に目を向けてください。

        airhead氏は、「動作原理を"解読"」というタレコミを肯定して
        「偉い」と言ってるのではなく、「動作パラメータを"解説"」
        しただけでも「偉い」と一行目で言ってるのですね。

        ですから、マシンは勝手に解読してくれるセミコロンを改行に
        置換しただけのどこか偉いのかというツッコミは激しく見当外れ。
      • 1個のコメント が現在のしきい値以下です。
    • Re:解読? (スコア:3, 参考になる)

      Anonymous Coward : 2004年12月18日 23時53分 (#667915)
      たれこんだ人ですが、タレこみ時には「!」は付けてませんでした。
      ついでに言うと、JavaScriptアプリケーションではこのようなコードの切りつめが(比較的)一般的であることとRinGOch等ですでにこのUIが実装されてたことも書いていたんですけど削られてますね…

      誰でも時間掛ければ出来ることだけど、それに時間掛けて成果をオープンにしたところが素晴らしいなと個人的には思いました。
      読みづらいコードがあるだけでは、コードが見える価値はあんまりありませんから。もちろん、パクるのが正義ってことじゃないですけども。
    • 2個のコメント が現在のしきい値以下です。
  • n68 (18156) : 2004年12月18日 20時59分 (#667873)
    > Google suggestのコードはIOCCCのコードかと思われるほど詰めて書かれており
    単に転送量を少しでも下げるためにああいう風になっているのではないのですか?
    容量を減らすような「最適化」を施しているだけで、元は普通のコードだと思いますよ。

    # 思っているだけなので実際のところは解りませんけど。
  • も出ているので、結構はやくから解析されていたのではないでしょうか?

    http://forums.mozillazine.org/viewtopic.php?t=182186 [mozillazine.org]
    右上のグーグル検索バーにオートコンプリート機能をつけます。

    # FireFox大好き
  • こういったjaphとか訳のわからないコードをちゃんと読み込んで解釈できるコンピュータはつくづくすごいと思う。

    #読めないようなコード書いちゃうと後でバグが見つかってもどうしようもない気がするのだが。特に開発者が不幸にして無くなった場合とか。
  • 年刊 Ah!scii (スコア:2, 興味深い)

    ribbon (11750) : 2004年12月18日 20時29分 (#667867) 日記
    確か年刊 Ah!sciiにも、最密充填リスト、というのがあったような。

    1) BASICの行番号付きのリストを行番号順ではなく、長さ順に並べ、半分の所で折り返し、残りは逆さまにする。

    2) 行番号順ではあるが、改行コードを特殊な文字にして、改行を全部つぶす。

    の2種類があったような。

    ちらっと見た限りでは 2) に近いかな。
  • 4個のコメント が現在のしきい値以下です。