タグ

ブックマーク / tkng.hatenablog.com (6)

  • 【Firefox】JSONViewは神拡張【Google Chrome】 - 射撃しつつ前転 改

    JSONViewを知らない人が社内でいっぱいいたので、これは宣伝すると他にも幸せになれる人がたくさん居るだろう、ということで宣伝してみる。 近年、JSON形式でウェブAPIを作成する機会が増えてきた。しかし、JSONで出力された場合、日語の文字列はエスケープされる実装が多く(仕様的にはエスケープしてもしなくてもどっちでもいい)、結果を目視で確認することができなくて困るということがよくある。 そのため、JSON APIをたたいてパースして出力するだけのスクリプトをわざわざRubyで書く、というようなことを繰り返していた(前に書いたスクリプトを探すよりも新しく書いたほうが早いのだが、それでもAPIを調べ直したりで3分ぐらいはかかる)のだが、JSONViewという拡張を使うことで、ブラウザ上でのJSONを、XML風に見やすく整形してくれることがわかった。以下のスクリーンショットに、JSONVi

    【Firefox】JSONViewは神拡張【Google Chrome】 - 射撃しつつ前転 改
    sshi
    sshi 2011/02/09
  • Mozc(Google日本語入力)のコードを読んだメモ - 射撃しつつ前転 改

    Google日本語入力がOSS化されたということで、気になっていたところをいくつか確認してみた。 変換アルゴリズムはどんな感じか? twitterの工藤さんの発言にも「わりと古典的な最小コスト法」とあるけれど、まさにそんな感じ。人名の処理とかでちょっと特別なコードが入ったりもしているが、ほぼ基的な統計的かな漢字変換のモデル。係り受けの情報とかは使っていない。Viterbiでベストパスを求めて、品詞ベースで文節にまとめあげている。コストモデルは接続コストが品詞対品詞で、単語コストの方は単語毎に設定されているっぽい。 src/converter/immutable_converter.ccのImmutableConverterImpl::ViterbiがViterbiアルゴリズムの部分で、その後にMakeSegmentsで文節にまとめている。読むならImmutableConverterImp

    Mozc(Google日本語入力)のコードを読んだメモ - 射撃しつつ前転 改
    sshi
    sshi 2010/05/16
  • AKB48の44枚問題とTeao分布 - 射撃しつつ前転 改

    AKB48というアイドルグループが、CD付属のポスターを全員分集めると参加資格が得らられるリリース記念イベント「春の祭典」を開催するそうだ。2chとかでも反応がすごいみたい。1枚1250円のCDで、ポスターはランダムに付属、人数は44人という、直感的にはどれだけ金をつぎ込めば参加資格が得られるのか分からないイベントだ。 最低限の枚数44枚の購入で揃う確率は44!/44^44で、だいたい2.9x10^-72 1.29x10^-18(追記:計算間違えてた)になる。ほぼ0と言って良い。では、すべてのポスターの出現確率が一様であるとして、どれぐらい買えば44枚をコンプリートできるのか。 このように、おまけをコンプリートするために必要なおかしの数を計算する問題は一部では玩問題と呼ばれており、また、m個のおまけがn個のおかしの購入で揃う確率に関しては、奈良の方ではTeao分布と呼ばれている。 詳しい

    AKB48の44枚問題とTeao分布 - 射撃しつつ前転 改
    sshi
    sshi 2008/02/29
  • πの情報量 - 射撃しつつ前転 改

    πの持つ情報量というのは多いのか。少ないのか。 πの値を数列とみなしたとき、そのランダム性はかなり高いらしい。つまり、次になにが来るかを予想することは難しい。しかし、それがπの値を計算したものだという事がわかっているならば、かなりの確率で次の数字を当てることができる。というか、何桁目なのかわかってたら、確実に当てられる。 情報量というのは- log pであるので、p = 1であれば、0だ。つまり、πの情報量は0である…というのはなんだかおかしい。それはさすがにおかしい。 その数列がπであるかどうかは(有限桁の数列を見ただけでは)わからないので、「その数列はπである」ということ自体の情報量が大きいんだろうか。 いやいや、確率が計算できるということ自体がおかしいのかな。あー、だんだんわからなくなってきた。

    πの情報量 - 射撃しつつ前転 改
    sshi
    sshi 2007/09/20
    「その数列はπである」ことがわかっていれば「その数列はπである」って情報自体の情報量は0なのでは。
  • 見えすぎ問題 - 射撃しつつ前転 改

    大きすぎるファイルを削除する関数と小さすぎるファイルを削除する関数を作りたいものとする。 この2つの関数は、ファイルに対する述語の部分を除いては、まったく同一のものになるだろう。クラス指向的プログラミングであれば、まとめたければベースクラス(FileRemoverとかそんな感じ?)を作って、それを継承する事になるのではないかと思う。プロトタイプ指向の場合はどうなるのかよくわからないけど、なんかそれっぽい関数オブジェクトを作って、それをコピーして一部書き換えてSmallFileRemoverとBigFileRemoverを作るとか、そんな感じになるのではあるまいか。 一方、関数型言語…少なくともSchemeの場合では、 (define (make-file-remover condition) (lambda (filename) (if (condition filename) (file

    見えすぎ問題 - 射撃しつつ前転 改
    sshi
    sshi 2006/12/22
    コメント欄/レキシカルスコープを使った関数の可視性の制御。関数を返す関数をはさむことで局所的な汎用関数を外部から隠す。/のとはちょっと違うのかな。define_valueのあたりがよくわからず。haskellだと素直に書けるな。
  • 関数型プログラミング言語でオブジェクト指向プログラミングは行えるか? - 射撃しつつ前転 改

    Railsでたらたらと開発をするのも疲れてきたので、現実逃避をしてみる。 関数型プログラミング言語でオブジェクト指向プログラミングを行えるかどうか、という問題を考えると、なんとなく、できなさそうな感じがする。この「できなさそうな感じ」はどこから来るのか、考えてみた。 オブジェクト指向プログラミングというと、あなたはどんなものを思い浮かべるだろうか?例えば、オブジェクト指向なスタイルでテキストエディタを作ることを考えてみよう。 簡単なエディタであれば、オブジェクト指向で設計するなら、ウィンドウオブジェクトがあって、その中にはTextViewオブジェクトがあって、テキストの内容自体はTextBufferオブジェクトで管理されていて、メインループがあって、キー入力があるとコールバック関数が呼ばれ、その中でTextBufferオブジェクトの中身を適切に書き換え、それに従ってTextViewオブジェ

    関数型プログラミング言語でオブジェクト指向プログラミングは行えるか? - 射撃しつつ前転 改
    sshi
    sshi 2006/10/24
    重要な視点/このエントリでは言葉が足りてないと思うけど。
  • 1