タグ

2007年12月17日のブックマーク (8件)

  • Mint's log: Pittsburgh Perl Workshopメモ1日目:Natural Language Processing in Perl

    Perl英語の自然言語処理をするときの基礎。日語に比べると英語は機械的に処理がしやすいものの、複数形や過去形をちゃんと扱う処理を自分で書くのは面倒だし、すでにいろいろな人がモジュールを公開している(そのため、質は玉石混淆であり、こういうプレゼンテーションはありがたい)。全部インストールして試してみたが面白かった。 Lingua::EN::Conjugate 主語、動詞、時制を入力すると動詞の変化形を教えてくれる。goの過去形はなんだっけ、と思ったら $string = conjugate( verb => 'go', tense => 'past', pronoun => 'he' );とするとhe wentと出力される。 Lingua::EN::Fathom 文章の「読みやすさ」を判定する。会場ではGPLの文(gpl.txt)を解析させ、「読みにくい」という判定が出たところで聴衆が

    lesamoureuses
    lesamoureuses 2007/12/17
    使ってみたい。笑った>文章の「読みやすさ」を判定する。会場ではGPLの本文(gpl.txt)を解析させ、「読みにくい」という判定が出たところで聴衆が受けた。一文一文が長く、難解な用語が多いかららしい。
  • 第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp

    前回はスクリプトインジェクションがなくならない理由を紹介しました。それをふまえて今回はスクリプトインジェクションを防ぐ10のTipsを紹介します。 デフォルト文字エンコーディングを指定 php.iniには、PHPが生成した出力の文字エンコーディングをHTTPヘッダで指定するdefault_charsetオプションがあります。文字エンコーディングは必ずHTTPヘッダレベルで指定しなければなりません。しかし、デフォルト設定ではdefault_charsetが空の状態で、アプリケーションで設定しなければ、HTTPヘッダでは文字エンコーディングが指定されない状態になります。 HTTPヘッダで文字エンコーディングを指定しない場合、スクリプトインジェクションに脆弱になる場合あるので、default_charsetには“⁠UTF-8⁠”を指定することをお勧めします。サイトによってはSJIS、EUC-JP

    第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp
    lesamoureuses
    lesamoureuses 2007/12/17
    当たり前のところもあるけど後で見返せるように
  • iandeth. - Javascriptで快適・お手軽OOP - オレ的まとめ

    Javascriptでオブジェクト指向なコードを書くには、prototypeベースな言語ゆえ、他のOO言語と異なり多少の小細工が必要になります。やり方は幾つもあるようですが、自分であれこれ試してみたうえでのまとめをここで共有してみます。 OOPと言っても、あくまで個人的に最低限必要だと思うこれら機能の実現を目的にしています: 子クラスのコンストラクタにて、親のコンストラクタを実行 他のOO言語では空気を吸うがごとく実装されている機能 メソッドの継承 Child.prototype = new Parent() なんて親インスタンスを作る事無くなんとかする これらをいかに少ない手間で実現できるか。hacker諸氏ならばちょろっと頭使えばできるのでしょうが、自分はウダウダ時間かけて悩んでしまいました orz。以下3通りの解決策です。 目次 専用のextend関数を使う 使い方 サンプルおよびテ

    lesamoureuses
    lesamoureuses 2007/12/17
    継承の方法いろいろ。
  • VoxもmixiもGmailも早くなる!? JavaScriptのおまじない - カイ士伝

    VoxもmixiもGmailも早くなる!? JavaScriptのおまじない(ただしXP&IE6限定)スター users ※Windows XPでInternet Explorer 6を使っている向けの情報です。 何回かのエントリで書いている通り、毎週Voxで行なわれている「美味しい動画コンテスト」に参加しているのですが、Voxが重いのがちょっと困ってました。ページが出るのに時間がでるだけでなく、タブブラウザでタブ開きまくってるとブラウザ自体がフリーズすることすらあったので。 最近mixiもユーザー数が増えたからかかなり重くなってて大変こまりもの。仕事中はmixi日記は書かないので夜にまとめて書こうと思うとあまりの重さに書く気なくしてしまう、なんてことがここ最近しょっちゅうでした。 そんなことをちょいと愚痴っていたら、ある日天の声がとどいたのです。 てんくうの ちをひきし わかものよ この

    lesamoureuses
    lesamoureuses 2007/12/17
    体感的に速くなるってだけでもやる価値はあるかな
  • javascript vs perl - プライベート変数による初期化 : 404 Blog Not Found

    2007年12月15日20:00 カテゴリLightweight Languages javascript vs perl - プライベート変数による初期化 はてブを見ると、「これ、ほんとに差が出るの?」と思っている方も結構いらっしゃるようなので。 Life is beautiful: Javascript、クロージャを使ったプライベート関数の隠蔽について 「うーん、マッピングのためのオブジェクトを毎回作り直しているところかな。」 以下、10000回実行した結果をミリ秒で表示します。ここで_nがnaiveな実装、_cがクロージャーを使って変数初期化を一度で済ませている例です。疑っている方はソースをご覧下さい。 プログラム: p(benchthis(10000, code2name_n, 'ja' )); p(benchthis(10000, code2name_c, 'ja' )); 出力

    javascript vs perl - プライベート変数による初期化 : 404 Blog Not Found
  • Javascript オブジェクト判定あれこれ - 木曜不足

    JSRuby でここらへんのことをやるのに、Javascript でのオブジェクト判定をあれこれ試したので、TIPS 的に書いてみる。 といっても、教えてもらったり、blog で読んだりしたことを試してまとめてみただけなのだが。実はもっと良い方法があると言うことであれば教えてもらえると嬉しい。 オブジェクト判定 typeof とか instanceof があるので、ここらへんを使えば済みそうなのだが、ちょっと問題が。 typeof "abc" // => "string" typeof new String("abc") // => "object" "abc" instanceof String // => false new String("abc") instanceof String // => true cho45 さんが書かれているように「 Javascript では全てがオブ

    Javascript オブジェクト判定あれこれ - 木曜不足
    lesamoureuses
    lesamoureuses 2007/12/17
    >typeof とか instanceof があるので、ここらへんを使えば済みそうなのだが、ちょっと問題が。
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    lesamoureuses
    lesamoureuses 2007/12/17
    そうなんだよな。ちゃんと仕組みを考えないといけないんだよな。>担当者がかわるとテストがメンテされなくなる
  • MT::ObjectこそがMTの本質であると勝手に思っている。 | Junnama Online

    MT::ObjectこそがMTの質であると勝手に思っている。 公開日 : 2007-12-16 02:27:47 MTとは何だ? MTって(あなたにとって)何? って聞かれたなら、僕は『MTとは「MT::Object」である』と答えるかな。 loadメソッドは間違いなく最も複雑なメソッドです。 とあるけれど、これこそが MTの質なのですよ。きっと。 MT::Entry とか MT::Blog とか MT::Category とかみんな MT::Object のサブクラスであり、オリジナルのクラスを作ることも簡単にできる。 MTObjectBuilder(MT::Objectのサブクラスを作ってDBのテーブルを簡単に拡張するためのcgi)。 MT::Object についてちょっと書いてみる。 MTOSによって、これがオープンソースになるのです。だからMTOSは「ただで使えるブログソフト」

    MT::ObjectこそがMTの本質であると勝手に思っている。 | Junnama Online
    lesamoureuses
    lesamoureuses 2007/12/17
    >MT::Entry とか MT::Blog とか MT::Category とかみんな MT::Object のサブクラスであり、オリジナルのクラスを作ることも簡単にできる。