タグ

ブックマーク / developer.cybozu.co.jp (17)

  • Kazuho@Cybozu Labs: String::Filter っていうモジュール書いた - 続: (Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について

    先のエントリ「(Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について」の続き。 弾さんが「404 Blog Not Found:DHTML - 構造化テキストは構造化するのがやっぱ正しい」で示されているような DOM ベースの操作を行えば、原理的に XSS 脆弱性を防ぐことができます。ただ、クライアントサイド JavaScript によるレンダリングはウェブの構造を破壊するという点で筋が悪い(テーブルと FONT タグを利用したページレイアウトが批判されていた頃を覚えていらっしゃいますでしょうか。JavaScript によるレンダリングはウェブのリンク構造も破壊するので一層たちが悪いというのが自分の考え)ですし、サーバサイドでの DOM 操作は重たいので、できれば避けたいところです。 構造化テキストの HTML への変換は、よほど複雑な記法でない限り

  • Kazuho@Cybozu Labs: Releasing Starlet 0.10, now runs faster than ever

    Last Sunday my friend told me that Starman is now way faster than Starlet and I started to wonder why.  There should not be such a difference between the two servers, sicne they share a lot in common.  So I looked into the code yesterday, found the bottleneck and fixed them, as well as adding some tweaks.  Here's what I did, and the chart[1] shows how the performance changed. 1) optimize the calcu

    nihen
    nihen 2010/08/17
  • Kazuho@Cybozu Labs: blockdiff を使ったお手軽ホットバックアップ環境の構築 (Linux, MySQL, etc.)

    一昨日に開催された hbstudy #7 にバックアップの話を聞きに行ってきました。Amanda を中心にした話で、とても勉強になりました。が、設定がめんどくさそうだなぁ、とも。自分の需要にはあわない感じでした。 勉強会が終わったあとで、自作のバックアップスクリプト blockdiff に関する話を何人かの方とさせていただいたのですが、思いのほか反応が良かったので、あらためて紹介したいと思います。 blockdiff は、一言でいうと、パーティションやデータベースのデータファイルの差分バックアップツールです。rsnapshot に似ていますが、rsnapshot ではデータベースのホットバックアップ不可能です。逆に blockdiff はディレクトリ単位でのバックアップには対応していないかわり、ファイルシステムやデータベースを、一貫性を保ちつつ実質無停止で差分バックアップすることができます

    nihen
    nihen 2010/01/18
  • Kazuho@Cybozu Labs: crontab を使って効率的にサービス監視する方法

    監視とは継続的なテストである、という話 (もしくは cronlog とテストスクリプトを組み合わせた監視手法について)に続きます 今日ようやく、積ん読状態だった「Software Design 2010年1月号」を手に取ったのですが、特集が「今日から使えるスクリプト満載! [プロ直伝]お手軽サーバ監視術」。興味深く拝読したのですが、もっと楽ができるのにと思うところも。ちょうど、昨年末に運用しているサービス「パストラック」のサーバを移転し、crontab と perl で書かれたスクリプト群を使った監視環境を構築したところなので、そこで使っているスクリプト cronlog を紹介したいと思います。 特集の前書きにも書かれていることですが、サーバやネットワーク機器が多数ある環境なら、Nagios を始めとする、専ら監視のために作られたソフトウェアを使って、監視システムを構築すべきです。逆に小規

    nihen
    nihen 2010/01/16
    いいすなー
  • Kazuho@Cybozu Labs: Q4M 0.9 released

    Q4M 0.9 is now available from q4m.31tools.com, along with prebuilt binaries for MySQL 5.1.42 (running on linux and Mac OS X 10.5). The release fixes a deadlock issue under high load.  Thank you to the users for sending the necessary information to resolve the issue. If you still find any deadlocks or stability problems of Q4M, please send stacktraces of all threads (by attaching gdb to mysqld and

    nihen
    nihen 2010/01/07
  • Kazuho@Cybozu Labs: Hot-deploying Plack applications using Server::Starter

    It's time to eat my own dog food. During YAPC::Asia 2009, I wrote a tiny module called Server::Starter, a superdaemon for hot-deploying TCP servers (see Writing Hot-deployable servers (introduction of Server::Starter) for the benefits of using the module).  On the other hand, I have been involved in developing the http servers in Plack since then. And time has come.  Having decided to use the two

    nihen
    nihen 2009/12/09
  • Kazuho@Cybozu Labs: Apache で X-Reproxy-URL ヘッダを使えるようにするモジュール mod_reproxy を書いた

    ウェブアプリケーションにおいて、認証がかかっている画像や大きなファイルを配信する場合には、Perlbal 等でサポートされている X-Reproxy-URL ヘッダが有効なことが知られていて、その理由としては、 (メモリを大いする) アプリケーションサーバのプロセスを転送終了まで占有しない HTTP ベースの分散ファイルシステムとリバースプロキシが直接交信するので、ネットワーク負荷が低い といった点が挙げられます。「でも、Apache は X-Reproxy-URL ヘッダをサポートしてないんだよねー」という話が、先日の YAPC::Asia 2009 においても話題になっていました[要出典]。回避策としては、ワンタイムURLのような手法もあるのですが、セキュリティな懸念もあります。 なんとかしたいなと思っていたのですが、気が向いたので、Apache に X-Reproxy-URL ヘッ

    nihen
    nihen 2009/10/05
  • Kazuho@Cybozu Labs: Perl のテスト用に MySQL 環境を自動で構築するモジュール Test::mysqld を書いた

    ORM やウェブアプリケーション関連のライブラリなどのテストケースを書くにあたっては、 RDBMS へのアクセスが必要になります。しかし、SQLite のようなスタンドアローンのデータベースと比較すると、サーバ型データベースである MySQL に接続してテストを書くのは、既存の MySQL の権限設定やデータベース名を気にする必要があったりと、いろいろ不便です。そこで、MySQL のインスタンスをテンポラリディレクトリに自動生成し、テストが終わったら削除してくれる Perl モジュール Test::mysqld を書きました。こんな感じで使います。 use DBI; use Test::mysqld; use Test::More; my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '' }, # TCP接続を

  • Kazuho@Cybozu Labs: MySQL のボトルネックを統計的に監視・解析する方法

    MySQL のチューニング、と言った場合には、サーバーパラメータの調整や EXPLAIN コマンドを利用したクエリ実行計画の最適化が話題に上ることが多いです。しかし、発行する全ての SQL について、いちいち EXPLAIN コマンドを使って確認していては、いくら時間があってもたりません。チューニングを効率的に進めるには、まず、ボトルネックとなっている SQL クエリを特定し、次にその最適化を行うべきです。 ではどのようにして、ボトルネックを特定するのか。MySQL Conference & Expo 2009 のキーノートにおいて Mark Callaghan 氏は、Google では SHOW PROCESSLIST コマンドを使った統計的アプローチを使っていると述べていらっしゃいます (参照: MySQLConf 09: Mark Callaghan, "This is Not a

    nihen
    nihen 2009/07/22
    よさげ
  • 横浜市立市民病院に隔離されたことがある | 秋元@サイボウズラボ・プログラマー・ブログ

    隔離病棟がどんな感じなのかの体験談がどこかにないかなー。 飛行機で隣の人がA型インフルエンザだったらどうなるか – 西尾泰和のはてなダイアリー 西尾さんにリクエストされたので書いてみよう。新型インフルエンザのニュースで今話題になってる横浜市立市民病院の隔離病棟だけど、実はそこに隔離されたことがある。 卒業旅行のときの話なのでもう相当昔なのだけど、卒業する友人と3人でタイのプーケットに一週間遊びに行って帰ってきた。たぶん3月26日ぐらい。旅行の後半ぐらいからずっと下痢気味だった。 検疫では、例の黄色い問診票を書いたりそれをチェックされたりした記憶はないのだけど、今思えば成田の検疫で出頭すべきだった。(反省。もうしません) でもまあ、トイレに行く回数が多いだけで調子は悪くなかったので、普通に帰宅した。その翌々日、たぶん3月28日ぐらいに、新横浜の別の友達の家に集まってボードゲームなどして遊んで

    横浜市立市民病院に隔離されたことがある | 秋元@サイボウズラボ・プログラマー・ブログ
    nihen
    nihen 2009/05/02
    すごいなぁ
  • 父親産休を取ります | 秋元@サイボウズラボ・プログラマー・ブログ

    産休に入ります。 個人活動は平常どおりです 個人でやっている仕事プロジェクトは、在宅でできるものが多いので、通常通り行ないます。 すでに一年以上、週四日は自宅でネットサービスを企画したり、英語ブログのAsiajinの運営をしたりという暮らしを続けてきました。それが週七日になると思います。 よろしければ、当ブログ同様、個人ブログのフィードも購読していただけると、たいへん励みになります。 [追記 2009.04.16] 父親にとっての産休と育児休業の違いについてはこちらでまとめたのでどうぞ。 その後、育児休業の方も取得しています。父親育児休業開始、父親育児休業終了 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターで

    nihen
    nihen 2009/02/27
    【自由な社風のサイボウズ・ラボですが、「毎日会社に来ること」という大原則があります】
  • Sony Styleで選んでみた | 秋元@サイボウズラボ・プログラマー・ブログ

    自分のほしいオプションを選んで値段をチェックした。購入ボタンを押すのは思いとどまったけど、真剣に検討するぐらいには欲しくなっている。 VistaはBasicでいい 色はガーネットレッド プロセッサもZ520のまま SSD興味あるけど、HDも60GBのまま Webカメラは使うかどうかわからないけど後でつけられないし追加 ディスプレイアダプタはプレゼン用にどうしても必要 バッテリーパック大。色が白と黒の二種類あるのは良いなと思った。使用済みがどっちかとかわかりやすくなるので 二箇所拠点にするため、追加のACアダプタ この時点で117,900円。電池の持ち的にはもう一個交換バッテリーがほしいけど値段が… 持ち運ぶものなんで、重量は軽ければ軽いほどいいのだけど、個人的には1kgまで上げていいので倍持つバッテリーとタイプ感のいいキーボード、ディスプレイ端子がほしかった。 これはイベントで感想を求めら

    Sony Styleで選んでみた | 秋元@サイボウズラボ・プログラマー・ブログ
    nihen
    nihen 2009/01/13
    【個人的には1kgまで上げていいので倍持つバッテリーとタイプ感のいいキーボード、ディスプレイ端子がほしかった】ディスプレイ端子は同意だけど1kgになったらそれは別物になりそう
  • Google Moderator – みんなで質問内容を決める投票サービス | 秋元@サイボウズラボ・プログラマー・ブログ

    Google App Engine上で、Google社内ツールのGoogle Moderatorというのが公開された。 これは、Googleで講演会があったり、大勢の参加するミーティングをやったりするときに、あらかじめ参加者から質問を募っておくためのウェブサービス、ということだ。有用だろうということで、App Engineでの社外公開となったらしい。 他の人が提案した「こんなこと訊いたらいいんじゃない?」という質問に対して、みんなでYes/Noを投票することができるので、Yesがいっぱいついた順に質問すれば、より多くの人が尋ねたい質問ができるということになる。 Digg Dialogg – ソーシャルインタビューサービスで紹介したDiggが始めたものと同じなんだけれど、これは自由に質問相手を設定して質問相手ごとにいくらでも投票所を作ることができる。 一個作ってみた。どうだろう、Google

    Google Moderator – みんなで質問内容を決める投票サービス | 秋元@サイボウズラボ・プログラマー・ブログ
    nihen
    nihen 2008/09/26
    おもしろいね
  • 変更された画像もネットから探せる新画像検索エンジンTinEyeがプライベートベータ公開開始 | 秋元@サイボウズラボ・プログラマー・ブログ

    新たな画像検索エンジンTinEyeが、希望者によるプライベートベータ公開をアナウンスした。 さっそく申し込んで、アカウントを貰うことができたので試してみた。 以下がその検索してみた例。一番上が、僕がURLを与えることで指定した「検索したい画像」 ご覧のとおり、元の画像と同じ内容が含まれていることは人間ならわかる画像ばかりなのだけれど、たとえば 髪型が変えられていたり、 全体ではなく部分だけが抜き出されていたり、 背景や文字が加えられていたり、 といった、加工されたと見られる画像も、ネットから探し出すことができている。 TinEyeは現在までに5億枚の画像のクロールしており、画像ごとに独自のパターン認識アルゴリズムを使ってコンパクトでユニークな「指紋」を作成しているのだという。 いつものakkyロゴ でも検索してみたけれど、単純すぎて特徴がない画像は検索できない、というエラーになった。 検索

    変更された画像もネットから探せる新画像検索エンジンTinEyeがプライベートベータ公開開始 | 秋元@サイボウズラボ・プログラマー・ブログ
    nihen
    nihen 2008/06/27
    これはすごい
  • 秋元@サイボウズラボ・プログラマー・ブログ: Flashによる複数ファイルアップロードライブラリSWFUpload

    via Ajaxian SWFUploadというFlashのライブラリがAjaxianで紹介されているが、これけっこういいのではないか。 ファイルダイアログで表示される拡張子を指定できる 複数ファイルを、CtrlやShiftで選択できる イベント毎にJavascriptのハンドラを呼べる アップロード開始前にファイルの情報がわかる プログレスバーが表示できる ページ全体のリロード無しにアップロードされたファイルを表示できる Flashの動く環境すべてで動く FlashやJavascriptが使えない環境でも、通常のフォームアップロードになる 最後の項目は重要だろう。 リンク先でデモを試せる。”Try it out!”ボタンを押して、適当なファイルを複数選び、アップロードすると、ファイルサイズやプログレスバーが表示される。 複数アップロードは、Webアプリでよく要望されて困るところだし、プロ

    秋元@サイボウズラボ・プログラマー・ブログ: Flashによる複数ファイルアップロードライブラリSWFUpload
  • 秋元@サイボウズラボ・プログラマー・ブログ: 管理画面用のフリーテンプレートが公開されている

    ブログやエンドユーザ向けページのデザインテンプレートは多いけど、管理画面用でフリーでいいのはあまりない、と主張する作者による、自由に使える(言及やリンクも不要。できればブログ読んでね、だそうだ)管理画面デザインテンプレートというのがWebResourceDepotというブログで配布されていて、del.icio.us/popularに出ていた。 開くとこんな感じ。アイコンは、これもフリーアイコンとして有名なfamfamfamを使っている。 これを使った管理画面をWebアプリケーションフレームワークのAdminジェネレータで生成するようにすれば、バックエンド側の画面作成は手間が減るだろう。 via del.icio.us/popular この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の

    nihen
    nihen 2008/05/02
  • 秋元@サイボウズ研究所プログラマーBlog: iHack - 脆弱なHTMLフォームの突破ゲーム

    脆弱性のあるHTML Formゲームとして公開している 「このフォームを突破してもハック(クラック?)したことにはならないよ」とのこと。安心してアタックされたし。 さっそく遊んでみたが、レベル3で既に悩んでしまい停滞。そんなわけで先がどれぐらいの難易度なのかはまったく不明。我ながら才能無いなあ。 猛者がいるサイボウズ・ラボの社内掲示板に紹介しておいた。 # くれぐれも、解いて進んだ先のURLを直接紹介しないこと、との注意書き。ゲームがつまんなくなるんでね。 [追記] ということで社内の猛者達が全6問を解き終わった。 レベル3は「そりゃないんじゃないの」に近い仕掛けだった。技術じゃない。このへん関連のニュース、「よく使われるパスワード」みたいなのを漁るのかこれ。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「

    nihen
    nihen 2006/09/25
    挑戦してみるか
  • 1