タグ

2007年10月22日のブックマーク (5件)

  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
    pomo123
    pomo123 2007/10/22
    モジュール化
  • P2Pのメカニズム・デザイン - 池田信夫 blog

    先日の記事では、メカニズム・デザインは実用にならないと書いたが、ハーバード大学ではBitTorrentによるファイル共有を効率的に行なうメカニズムの研究が行なわれているそうだ。この記事だけではわかりにくいが、別の記事と総合すると、こういうことらしい。 BitTorrentは他のピアとキャッシュを共有することで効率的なダウンロードを実現する。これはダウンロードする側にとっては便利だが、アップロード側は帯域を他人に占有されるので、自分のほしいファイルだけダウンロードしたらBitTorrentを閉じてしまうことが「合理的」な行動になる。しかし、これは「囚人のジレンマ」で、全員がそういう行動を取ったらP2Pネットワーク全体のパフォーマンスが低下する。 そこで、こうしたピアの過去のダウンロード/アップロードの履歴をデータベースに蓄積する「分散型評判システム」をつくり、高速かつ切断されないピアを選

  • なぜ0で割ってはいけないのか? リンゴの分配から体の公理まで

    なんとなく作ってみた数学動画.やめときゃよかった.BGMはシェンムー第一章についてたShenmue Jukeboxより.(2009/4/26 22:50ごろ追記)久しぶりにコメントを読み耽ってました.せっかくなのでまた何か作ってみようかな.mylist/12224093

    なぜ0で割ってはいけないのか? リンゴの分配から体の公理まで
    pomo123
    pomo123 2007/10/22
  • 58. すごいリロード対策

    まず、日のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ

    58. すごいリロード対策
    pomo123
    pomo123 2007/10/22
  • MOONGIFT: � スクレイピングIDE「Web-Harvest」:オープンソースを毎日紹介

    Webサイトを自動操作するのによく使われるのがスクレイピングと呼ばれる技術だ。HTMLを解析し、その中から希望の値を取り出して処理するものだ。 大抵、スクリプト言語と正規表現を使って行われると思うが、これを発展させIDEレベルに仕上げたのがこのソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはWeb-Harvest、Webスクレイピング統合開発環境だ。 Web-HarvestはJavaで作られたソフトウェアで、スクレイピングに関する情報をXMLベースで記述していく。そのXMLファイルを設定ファイルとして、データを入れ、返却されたHTMLXPathを使って解析していくというものになる。 便利な関数が様々に定義されており、例えばHTML-to-XMLを使って解析しやすいフォーマットに変換する事ができる。そしてループやIF文を使って処理分けしていく。 サンプルが幾つもあるが、例えばG

    MOONGIFT: � スクレイピングIDE「Web-Harvest」:オープンソースを毎日紹介