この度、パストラック (Pathtraq) は、2010年10月29日をもちまして、サービスを終了とさせていただくことになりました。長い間ご利用頂き誠にありがとうございました。 これに伴い、パストラック無料ツールバーをブラウザにインストールされている方はアンインストールして頂ければと思います。また、パストラックのブログパーツ、Windows用ガジェット、および開発者向けAPIは動作しなくなりますことをご了承ください。
« MySQL の order by 〜 limit を高速化する方法 | メイン | MySQL Conference & Expo 2009 で Q4M の話をします » 2008年12月16日 Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性 先月開催された Shibuya.pm #10 でプレゼンテーションがあった MENTA や NanoA では、Mojo 由来のテンプレートエンジンを拡張して使用してきたのですが、Perl モジュールとして独立させるべきだよね、ということになり、このたび Text::MicroTemplate として CPAN にアップロードしました。 そのことを告知するとともに、作業の過程で興味深く感じた、テンプレートエンジンのセキュリティと利便性に関する話題をブログに書いておこうと思います。 テンプレートエンジンのエスケ
« C-0.05 | メイン | cygwin + mod_perl » 2006年02月08日 キャッシュの上手な使い方 キャッシュといっても、ウェブブラウザやウェブプロキシのキャッシュのことです。 ・Internet Explorer のキャッシュの動作 Internet Explorer は、同一ウィンドウ内で複数回同じウェブページを読み込む場合、2回目以降はキャッシュのデータを使用します (デフォルト設定の場合、 Last-Modified または Expires ヘッダがついている場合のみ)。 つまり、同じウィンドウの中で、 ページA を読み、次にページB を読み、そしてページA を再び読み込むようなケースでは、2回目にページ A を表示する際にはキャッシュのデータが使用され、ウェブサーバへの再問い合わせは行われません。 また、 Last-Modified ヘッダと Expire
« Pathtraq の API を公開しました | メイン | 実行時間を抑制するモジュール Sub::Throttle を書いた » 2008年07月25日 最適化された最適化手法について 昨日ソフリットを会場に (壇上さん++) 開催された CodeRepos Conference #1 に参加してきました。お題は「自重しないで coderepos に貴様がいれているプロダクトについて語れ!」ということだったので、そのあたりを例に挙げながら、自分は最適化手法について (空気を読まずに) 話しました。 どちらかと言うとサーバの最適化設計を中心にした話です。いろいろ荒削りですが、そうだね、とか、そこは違うよ、とか指摘いただければ幸いです。発表の動画がニコニコ動画にアップロードされているので (coji さんありがとうございます) よろしければあわせてご覧ください。
Shibuya Perl Mongersテクニカルトーク#9 (通称:XS Nite) を2008年6月25日に開催します。 日時 - 2008年6月25日(水) 18:30-21:00 (18:00 開場) 会場 - 神保町三井ビル 17F 株式会社インターネットイニシアティブ (IIJ) 大会議室 料金 - 無料 事前登録 - (定員100名) 定員に達したので締め切りました。 キャンセルが出たので下記で追加募集中 ストリーミング 以下のURLでustream.tvの中継を行う予定です(cojiさん、ありがとう!) http://www.ustream.tv/channel/shibuya_perl_mongers プログラム 内容・順番・時間などは予告なく変更する場合があります。 第一部「XS 概論」 18:30 はじめてのXS - ハマりどころはココだ (hirose31) 18:
« メッセージキュー事始め with Q4M | メイン | フレンド・タイムライン処理の原理と実践 » 2008年06月09日 MySQL のクエリ最適化における、もうひとつの検証方法 EXPLAIN を使用して MySQL の SQL を最適化するというのは、良く知られた手法だと思います。しかし、EXPLAIN の返す結果が、かならずしもアテになるわけではありません。たとえば、以下のような EXPLAIN を見て、このクエリが最適かどうか、判断ができるでしょうか。私には分かりません。 mysql> EXPLAIN SELECT message.id,message.user_id,message.body FROM message INNER JOIN mailbox ON message.id=mailbox.message_id WHERE mailbox.user_id=2 OR
« MySQL のクエリ最適化における、もうひとつの検証方法 | メイン | MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 » 2008年06月09日 フレンド・タイムライン処理の原理と実践 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話に続きます。 Twitter が注目されるようになって久しい今日この頃ですが、友人の投稿を時系列に並べて表示する、というのは、Twitter に限らず Mixi の「マイミクシィ最新日記」やはてなブックマークの「お気に入り」等、ソーシャルなウェブサービスにおいては一般的な手法です。ですが、この処理 (以下「フレンド・タイムライン」と呼ぶ) は、一見簡単そうに見えて、実装には様々な困難が伴います。本記事では、「フレンド・タイムライン」を実現する、プッシュ型とプル型の二種類の手法について、その原
« Japanize for IE バージョンアップのおしらせ | メイン | Filter::SQL を使って掲示板を書いてみました » 2008年04月16日 Perl で埋め込み SQL を使って楽をする話 DSL (ドメイン固有言語) は、プログラム開発の生産性を向上させる有力な手段です。そして、よく使われる DSL の代表例が正規表現と SQL だと思うのですが、前者に比して後者を嫌いな人が多いようです。なぜだろうと思ってつぶやいたところ、「SQL はリテラルじゃないから!」という答えが tokuhirom さんから返ってきました。そういえば例えば Pro*C のように C で Embedded SQL というのは良く聞く話なのに、Perl では同様の例がないような感じだったので、作ってみました。Perl で埋め込み SQL を実現するソースフィルター Filter::SQL で
« Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 | メイン | Japanize for IE バージョンアップのおしらせ » 2008年04月07日 Q4M Version 0.4 で高速なクローラを書いてみた 本日、MySQL 5.1 のプラガブルストレージエンジンとして動作するメッセージキューQ4M のバージョン 0.4 をリリースしました。本バージョンでは、条件付購読 (conditional subscription) という、特定の条件を満たす行だけをメッセージキューから読み込む機能に対応したのですが、これを使って、クローラを書いてみました。 使い方は以下のとおりです。 # url テーブルを作成 % mysql -p test mysql> CREATE TABLE url ( id int(10) unsigned NOT NULL
« Pathtraq 最新ランキング ガジェットを公開しました | メイン | Q4M (Queue for MySQL) 0.3 リリース » 2008年03月10日 高速なCometサーバを書いてみた件 もう昨年の2月になりますが、Comet について調査を行いました。その際の成果をまとめたスライドは既に公開していた (Comet の正しい使い方) のですが、同時に実際に作ってみた実装についても、オープンソース化することとなりました。コードは CodeRepos に置いておきますので、どうぞご覧ください。 (Revision 7754: /lang/perl/fastr) 使い方は example ディレクトリ以下を見ていただくとして、ベンチマークの結果とチューニング手法について、記録と記憶に残っている範囲からまとめておきたいと思います。 パフォーマンスについて まず、パフォーマンスに
前回のエントリの通り、2/29 の号外BPMオフにて flowr のお話をさせていただきました。 「BPM業界と縁のない初顔が、BPMではないネタを、期末目前の月末の平日の臨時BPMオフでしゃべる(しかもピン)」という一種の罰ゲームのようなシチュエーションに、他にしゃべる人もいないのに全く受けなくてひどい空気になったらどうしようとすっかり緊張しまくっていたのですが(そんな様子は微塵も感じられなかったという意見は却下)、約30人の方に参加していただけて、それなりに楽しんでいただけた様子。中谷も大変楽しかったです。 いやでもほんとに最初は、ちゃんと会として成立するんだろうかと本気で心配していたのですが、それも杞憂に終わり(ですよね?)。それもこれも主催の id:wkzk さんたちの人徳のおかげです。参加してくださった方々も含め、改めてありがとうございました。 プレゼンの内容は基本的に以前公開し
よく思いついたなあ、というか、よく実際に作ったなあ、というか。 Guess my Crime!は、犯罪者の写真を持ってきて、その人がどんな罪で捕まったのかを当てさせるというゲームブログ。 正答は顔写真の下に見えないように隠されているだけなので、ゲームといってもたいしたゲーム性はない。それでも話題になるのは、罪を犯した人の外見というのは果たして自分の持っている犯罪者へのイメージと合っているのか、という興味を持つ人が多いからだろう。 とはいえ、写真も罪状も本物かどうかわからんけどね。 じゃあこれの日本語版を自分でやりたいか、というとそれは無いのだけれど、このサービスの発想自体は何か別のサービスにも転用できそうな気がする。 via del.icio.us/popular この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い
Google Social Graph API 基本に戻って「Googleのウェブ検索」を説明するなら、ウェブにあるページとページのリンク関係を大量に集めて、単語を入れたら関連するページを返す、ということになるだろう。 今日新しく発表されたGoogle Social Graph APIは、リンクの中でも特に「サイトと人、人と人の関係」が書かれたリンクを収集して検索できるようにしたAPIだ。 APIを使ったサンプルがあるのでこれを使ってみる。My Connectionsというサンプルでは、ブログや自分のプロフィールが載ったページのURLを入れる(複数あれば改行で区切る)と、過去にブログやSNSなどで自分が登録した情報から、関係のあるウェブサイトのURLや、知人のページを取得して表示してくれる。 人間関係やサイト間の関係はどこから取っているのか、というと、これはXFNやFOAFといったmicr
スタンフォード大で開催されたメタバースサミット(そんなのやってたのか)で、リアルタイム顔認識技術のseeingmachinesという会社のデモをRobert Scobleが絶賛しているので見てみた。 ノートPC(Mac)のカメラとソフトウェアで、目や口の位置をリアルタイムに追跡して、顔の位置を追っていSeeing Machinesという会社のデモ。 アイトラッキング用の技術は普及しているようだが、まばたきや口の動き、画面を向いているか注意がそれているか、画面はつけているけど別のところ(テレビとか)を見ているとかもリアルタイムで取れるということだ。ウェブサイト上に起こった動きに対して起こる反応や、目と口の位置の変化から感情も取れたりするのかも。 メタバース(セカンドライフに代表される仮想世界)のカンファレンスに来ているということは、カメラで撮った自分の動きを3D内のキャラクターに再現させるよ
今年のデブサミはいろんな意味でアツいです! 私もコンテンツ委員としてボランティアとして参加させていただいているのですが、 今年は Joel on Software の Joel Spolsky が日本に来る気満々です 。 人気のセッションは既に席が埋まりつつありますので、 「参加する予定だったのに登録を忘れていた!」 という方は、ぜひ早めの登録をお勧めします。 (2/13追記:事前申込は締め切られました) ちなみに、二日目(2/14)の一番最後のセッション一枠で「ネットコミュニケーション2.0」という特別企画を開催します。 ■ 開催概要 名称:Developers Summit 2008(デベロッパーズサミット2008)通称:デブサミ2008 会期:2008年2月13日(水)・14日(木) 会場:目黒雅叙園(東京・目黒) 主催:株式会社翔泳社 URL:http://codezine.jp/
1/19(土曜日)に開催された1000人スピーカプロジェクト(第1回カンファレンス)に写真係として参加してきました。 当日撮影した写真は、写真共有サイト「flickr」にアップロードしています。 (オリンパス E-330 + ZD 14-54mm F2.8-3.5 / ZD 50mm F2.0 Macro) あと、cojiさんの手によって発表の録画アーカイブはニコニコ動画にもアップロードされています。 ここで使用されていた機材は カノープス TwinPact 100 で、 プロジェクターに投影するためのD-Sub15ピンのVGA出力のアナログRGB入力信号をフックして、中継用PCで画面をキャプチャできる優れものです。 これはぜひ別のカンファレンスでも使用したいと思いました。 今回の準備で反省点だったのは長いケーブルが必要だったことですね。3mでは全然長さが足りないので、VGAケーブル・LA
« ディスクが1回転する間に複数回 fdatasync する方法について | メイン | Q4M - MySQL 上で動作するメッセージキュー » 2008年01月04日 ウェブアプリケーションにおけるHDDの正しい使い方 データベース等のソフトウェアは一般に、停電やOSのクラッシュ時にデータが破壊されないよう、HDD へデータ保存が完了したか確認しながら処理を行うようになっています。その目的を果たすためにどのような API が OS によって提供されているか、少し勉強し直すことにしました。 下表のうち、赤い部分がデータの永続性が保証されない危険な手法、青い部分が安全な手法です。したがって、各行において出来るだけ左側の (高速側の) 、そして言うまでもなく青い色の同期手法を使っていることが望ましいということになります。 OS openモード HDD または RAID 内の書込先 キャッシュ
今回はいつもとちょっと違う、個人的なお知らせエントリです。(告知に使わせてくれてありがとうございます > サイボウズ・ラボ) この後のこの件については、個人ブログの方で書くことになると思います。 昨日、メロートン社の新井俊一さんと、日本とアジアのウェブ業界情報を英語で発信する「アジアジン」という新ブログを正式にオープンしました。 del.icio.usやdiggで応援してくださった方、エントリを書いてくださったみなさま、ありがとうございました。おかげで昨晩はdel.icio.usのトップページに載ることができました。 英語ブログ開設の動機について これまで二年半、当ブログで海外のネットサービスをたくさん見て、面白いと思ったものを紹介してきました。それらの中には日本語化して日本人にも使われているもの(YouTubeなど)もありますし、日本語化しなくても使われているもの(twitterなど)も
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く