タグ

ブックマーク / labs.cybozu.co.jp (18)

  • Kazuho@Cybozu Labs: Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性

    « MySQL の order by 〜 limit を高速化する方法 | メイン | MySQL Conference & Expo 2009 で Q4M の話をします » 2008年12月16日 Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性 先月開催された Shibuya.pm #10 でプレゼンテーションがあった MENTA や NanoA では、Mojo 由来のテンプレートエンジンを拡張して使用してきたのですが、Perl モジュールとして独立させるべきだよね、ということになり、このたび Text::MicroTemplate として CPAN にアップロードしました。 そのことを告知するとともに、作業の過程で興味深く感じた、テンプレートエンジンのセキュリティと利便性に関する話題をブログに書いておこうと思います。 テンプレートエンジンのエスケ

  • Kazuho@Cybozu Labs: ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性

    « Filter::SQL でデータベースを叩くワンライナーを簡単に書く方法 | メイン | ウェブサービスにおけるダメージコントロール (MySQL のスロークエリを自動的に kill する方法) » 2008年10月28日 ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性 実際に試してみた結果については、ウェブサービスの SSD 化について話してきましたをご参照ください。 検索エンジンや小さな行が多いデータベース等で使用する目的での SSD (Intel X25-M) のベンチマーク結果については、Kazuho at Work: Benchmarking SSD for MySQL をご覧ください (InnoDB の話をしていますが、Senna / Tritonn でも基的に同じ) Sun が SSD 製品の投入を表明 (マイコミジャーナル) したり、Google

  • Kazuho@Cybozu Labs: フレンド・タイムライン処理の原理と実践

    « MySQL のクエリ最適化における、もうひとつの検証方法 | メイン | MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 » 2008年06月09日 フレンド・タイムライン処理の原理と実践 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話に続きます。 Twitter が注目されるようになって久しい今日この頃ですが、友人の投稿を時系列に並べて表示する、というのは、Twitter に限らず Mixi の「マイミクシィ最新日記」やはてなブックマークの「お気に入り」等、ソーシャルなウェブサービスにおいては一般的な手法です。ですが、この処理 (以下「フレンド・タイムライン」と呼ぶ) は、一見簡単そうに見えて、実装には様々な困難が伴います。記事では、「フレンド・タイムライン」を実現する、プッシュ型とプル型の二種類の手法について、その原

  • Google App Engineを使ってみた

    Google App Engine(書きにくい。GAEとか略すのかなと予想)のページで、使える状態になっていたのでボタンを押して利用開始。 アプリは3つまで作らせてくれるということなので、まず Application名 […] Google App Engine(書きにくい。GAEとか略すのかなと予想)のページで、使える状態になっていたのでボタンを押して利用開始。 アプリは3つまで作らせてくれるということなので、まず Application名 “akky” を確保。 これで、http://akky.appspot.com/ が使えるようになる。(Google Appsのように、独自ドメインへのマップもできる予定) まずはローカルでちゃんと動くPythonアプリを作る、ということで、さきほどインストールしたSDK上で作業。 C:> cd “Program FilesGooglegoogle_

    Google App Engineを使ってみた
  • Kazuho@Cybozu Labs: ウェブアプリケーションにおけるHDDの正しい使い方

    « ディスクが1回転する間に複数回 fdatasync する方法について | メイン | Q4M - MySQL 上で動作するメッセージキュー » 2008年01月04日 ウェブアプリケーションにおけるHDDの正しい使い方 データベース等のソフトウェアは一般に、停電やOSのクラッシュ時にデータが破壊されないよう、HDD へデータ保存が完了したか確認しながら処理を行うようになっています。その目的を果たすためにどのような API が OS によって提供されているか、少し勉強し直すことにしました。 下表のうち、赤い部分がデータの永続性が保証されない危険な手法、青い部分が安全な手法です。したがって、各行において出来るだけ左側の (高速側の) 、そして言うまでもなく青い色の同期手法を使っていることが望ましいということになります。 OS openモード HDD または RAID 内の書込先 キャッシュ

  • CAPTCHA解読ソフトの価格表に見るCAPTCHAのレベル差 | 秋元@サイボウズラボ・プログラマー・ブログ

    via del.icio.us/popular Coding Horrorブログの記事Has CAPTCHA Been “Broken”?(CAPTCHAは破られたか?)では、CAPTCHAの解読ツールに値段をつけて売っている中国の業者の価格表を紹介していて、これが面白い。 CAPTCHA用の文字列画像を作るときは、文字を画像化したり、色をつけたり、線を引いたり、無関係な点や図形を足したり、湾曲させたり、と、いろいろな加工で「人には読めるけど機械には読めない」ように作るわけだが、この価格表では、単純なCAPTCHAで彼らの販売するツールで読み取れる可能性が高いものほど値段が安くなっているし、彼らのツールでは読み取れてない場合も多いような難しいものについては、ツールの値段も高くなっている。 この価格表で図らずも、いろいろな大手サイト(主に英語中国語でのサイト)が使っているCAPTCHA図形

    CAPTCHA解読ソフトの価格表に見るCAPTCHAのレベル差 | 秋元@サイボウズラボ・プログラマー・ブログ
  • phpspotの件のまとめ | 秋元@サイボウズラボ・プログラマー・ブログ

    phpspot開発日誌のKJさんからメールがあり、この週末にメールにて議論を行なってきた。お互いのブログに対する考え方が違うという結論についは合意できたので、ここでそれぞれの見解をまとめてこの件については終わりとしたい。 メールでの議論の内容については、KJさんの希望により、非公開とする。 合意の内容は以下のとおり。 議論の結果、お互いのブログの運営で、間違いの指摘に対する考え方が違うことがわかったとし、それぞれの考え方を説明する。 ブログで書かれた間違いの指摘や、その真偽に関する議論についての秋元の考え方は、以下の通り。 秋元は、ブログの間違いの指摘は公開コメントやブログで行い、間違いかどうかの議論などは他のブロガーやブックマーカーも含めて衆目の中全員で検証する、のがいいと思っている。 KJさん側の考え方は、最後に秋元がまとめた時点では以下だが、 KJさんは、ブログの間違いの指摘は(あれ

  • Kazuho@Cybozu Labs: E4X-XSS 脆弱性について

    « 安全な JSON, 危険な JSON (Cross-site Including?) | メイン | JSONP - データ提供者側のセキュリティについて » 2007年01月10日 E4X-XSS 脆弱性について Firefox でサポートされている JavaScript 拡張 E4X (ECMA-357) では、JavaScript 内に XML とほぼ同様のマークアップ言語を記述できるようになっています。しかし、マークアップ言語の解釈にはいくつかの違いがあり、この点をついたクロスサイトスクリプティングの可能性が (相当に小さいものの) 存在します。攻撃者は、 ウェブアプリケーションに E4X として解釈した場合に実行コードとして解釈されるコードを注入 (XSS) し、 1 のコンテンツを <script> タグを用いて参照するような別のウェブサイトを用意し、攻撃対象にアクセスさせ

    cubed-l
    cubed-l 2007/10/15
  • 秋元@サイボウズラボ・プログラマー・ブログ: 誠実なお店の看板

    via del.icio.us/popular バイク店にかかっていた正直な看板の写真だそうで。 「良いサービスを、安く、早く。3つのうちどの2つでもお選びいただけます」 良いサービスを安く、という場合は時間がかかります 良いサービスを早く、という場合はお代がかかります とにかく安く早く、という場合はサービスの質を落とさせていただきます ソフトウェアの開発も同じことで、3つを同時にいくらでも満たすのは無理。できますと言うエンジニアがいたら詐欺師かダンピングのどっちかだろう。 機能とコストと納期は、x-y-zの三軸に張り付いたゴムの膜みたいなもので、一つをグーッと引っ張ろうとすると、他の二つがつられて短くなっていくものだ。 相手が顧客でも営業でも、それまで無かった新しい制約条件を追加されたときに、「それを実現すると、代わりにこれが犠牲になります」と言えなければ、プロジェクトを制御しているとは

    秋元@サイボウズラボ・プログラマー・ブログ: 誠実なお店の看板
    cubed-l
    cubed-l 2007/10/12
    いい看板だなぁ
  • TAKESAKO @ Yet another Cybozu Labs: ついカッとなってGopherサーバを立ててみた

    gopherは非常に簡単なプロトコルのため、 telnetGopherサーバにアクセスする方法 もお手軽です。HTTPと比べて、バイク小屋の議論となるようなサーバシグネチャもありません。 そういうのの相手するくらいならhttpdはぜんぶ捨ててgopherに戻りたい…。 (gopher対ゲイツ様 : ひろ式めもちょう) 今日はなぜか空前のGopherブームでしたので、「昔のgopher時代に戻ったらどうなるのか」を真剣に考えるため、実際にGopherサーバを立ててみました。 ↑ gopher://wafful.org/ (※ Firefoxやlynxでアクセスできます) どう見ても時代に逆行していますが、 私達が今JavaScriptを弄っているのも10年前の技術の再発見に他なりません。 もしかしたらそこに新しい未来が開けている可能性があるのかもしれません。 追記:Web2.0時代のGop

    cubed-l
    cubed-l 2007/09/06
  • Kazuho@Cybozu Labs: サーバシグニチャは隠さないのが当たり前

    « Pathtraq バージョンアップのおしらせ - サイドバー表示に対応 | メイン | Perl から MySQL に非同期アクセスする方法 » 2007年09月05日 サーバシグニチャは隠さないのが当たり前 ウェブサーバ(Apache)で、404などのエラーページを表示したとき、ヘッダやページの下にApacheやOSのバージョンが表示されます。こういったサーバ情報をわざわざ表示する必要はありません。 ウノウラボ Unoh Labs: 5分でできるウェブサーバのセキュリティ向上施策 私も何年も前からセミナーではサーバ、モジュールバージョンは隠すようにと言っています。何故こんな事で賛否両論になるのか全く理解できません。 yohgaki's blog - サーバシグニチャは隠すのが当たり前 Server: ヘッダを隠すメリットについての議論はあるようですが、Server: ヘッダを表示すべ

  • TAKESAKO @ Yet another Cybozu Labs: HackerJapan9月号にTwitter特集

    ハッカージャパン9月号にて id:TAKESAKO氏によるTwitter特集が6ページ掲載されています。 Twitterを日語化する方法(家)や、Twit萌え音声、Twitterオフ会などについて言及しています。 どうぞご利用ください。

  • Kazuho@Cybozu Labs: 新サービス: Pathtraq リリースのおしらせ

    « swifty - 高速な共有メモリキャッシュ | メイン | Japanize 拡張機能 0.8.9 リリースのお知らせ » 2007年08月08日 新サービス: Pathtraq リリースのおしらせ 日、ウェブブラウザの拡張を通してアクセスログを共有するサービス「Pathtraq」(パストラック) を公開しました。いろいろな使い方ができるサービスなのですが、いくつか紹介したいと思います。 なお、Pathtraq は今朝方まで、サイボウズグループ内で、数十人で試験運用をしていただけなので、データが全然足りません。以下を読んで興味をお持ちいただけた方々には、ぜひインストールしていただいて、一緒に便利なアクセス解析システム、ランキングページを作って行ければと思っております。よろしくお願いいたします。 1. いくつかの使い方 a) 注目の情報を知る Pathtraq - 24時間ランキング

  • TAKESAKO @ Yet another Cybozu Labs: 第1回XSS祭り(サニタイズ勉強会)

    ついカッとなって企画された第1回XSS祭り、ネタかと思っていましたが、先日の日曜日に開催され、無事終了しました。 XSSの洋書 XSS Attacks: Cross Site Scripting Exploits and Defense が日に届いたので、 このタイミングに最近のXSSの傾向を整理して、それらの攻撃を防御する手法についてみんなで勉強しました。 実際、の内容にはあんまり触れなかったですけど。ネタでAnti-Anti-Antiとか。 終始まったりとした雰囲気の中、参加者の飛び入りプレゼンやSkype中継もあったりと、大変楽しい勉強会でした。 参加者が参加者だけに、国内(世界的にも)最先端の話を共有することができて、有意義な時間を過ごすことができました。 (詳細はあとで書く。) わざわざ、この勉強会のためだけに新幹線で上京された方もいらっしゃったとのことで、 その熱意には感

    cubed-l
    cubed-l 2007/06/04
  • 秋元@サイボウズラボ・プログラマー・ブログ: regist という英語は無い

    さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日のソフトウェア技術者に一番訴えたいことってなんだろう? と考え […] さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日のソフトウェア技術者に一番訴えたいことってなんだろう? と考えた。 それは、日プログラマーだけが使う謎の動詞 registについてである。そんな単語は存在しないから、ちゃんと “register” を使おう。 Google.com で regist.cgi を検索 Google.com で regist.php を検索 出てくるのは日語のサイトばっかりである。拡張子を”.jsp” や “.asp” にし

    秋元@サイボウズラボ・プログラマー・ブログ: regist という英語は無い
    cubed-l
    cubed-l 2007/05/21
  • Kazuho@Cybozu Labs: JavaScript の文字列定数でエスケープが必要な文字

    IE、 Firefox、 Safari ともに ECMAScript の仕様を満たしていません。IE6 は ECMAScript の仕様に対して上位互換だと言えるでしょうから、実質的に問題を抱えているのは Firefox のみ、ということになるのでしょうか。JSON を使う際には、注意が必要、と。 Firefox に関して言えば、 (Control Character があるとエラーになるのではなく読み落とすという性質からして) 仕様ではなくバグだと考えるのが妥当なのかなと思いました。 参考: テストコード 10:28 追記: NUL 文字について表に含めるのを忘れていたので追加しました 10:48 追記: Safari を追加 2009/02/17 追記: Firefox のバグは 2008 年 8 月に修正されたようです (ChangeLog の3.147)

  • TAKESAKO @ Yet another Cybozu Labs IE6でja.wikipedia.orgが遅い件をHTTPキャプチャしてみる

    最速インターフェース研究会 :: 最近IE6でWikipedia語版の表示が異常に遅いのはKeepAliveのせい 2月初めぐらいからか、キャッシュが空の状態で日語版のWikipediaを表示すると、IE6が1分間ほど固まる、という不具合があるそうだ。 で、Proxomitronでレスポンスとか調べてみてたりしたのだけれど、プロキシ経由だと問題なく表示される。 これ、私が普段仕事で使っているIE6でも再現していたので、HTTP Debugging Proxy - Fiddlerを使ってブラウザのHTTP通信をキャプチャして調べてみました。 (※2007/02/13追記:upload.wikimedia.orgで対策され、既に現象は解消されています) どうやら画像ファイルhttp://upload.wikimedia.org/wikipedia/ja/b/bc/Wiki.pngの読み

    cubed-l
    cubed-l 2007/02/13
    俺はParosを愛用。FiddlerってSSL対応してたっけ?
  • Kazuho@Cybozu Labs: クロスサイトのセキュリティモデル

    « Japanize - IE 系の User JavaScript エンジンに対応しました | メイン | 安全な JSON, 危険な JSON (Cross-site Including?) » 2007年01月04日 クロスサイトのセキュリティモデル あけましておめでとうございます。 昨年、社内で「XMLHttpRequest は何故クロスサイトで使えないのか。画像や SCRIPT タグは使えるのに」という疑問 (というより試問) を耳にしました。おもしろい話なのでブログネタにしようと思っていたのですが、新年早々 GMAIL の事例がスラッシュドットされていたので、自分の現時点での理解をまとめてみることにしました。文書を確認して書いているわけではないので、間違いがあれば指摘してください。また、よい参考文献をご存知の方がいらっしゃいましたら、教えていただければ幸いです。 ウェブブラウザ

  • 1