タグ

2009年9月28日のブックマーク (5件)

  • 「テキストプロトコルは遅くないよ」という話 - kazuhoのメモ置き場

    「バイナリプロトコルは速い」「テキストプロトコルは遅い」という言説を、ときおり目にするけど、それって当なのか。個人的には、それって昔の話だと思ってる。 SMTP みたいな、ペイロードについてもターミネータ(とエスケープ)を使うプロトコル*1は確かに遅い。で、FTPプロトコルでは、大容量のデータを「高速」に転送するために、制御用のTCPコネクションと転送用のコネクションを分けたりしてた。 だけど、HTTPプロトコルは、テキストプロトコルだけど、ペイロードについてはターミネータを使わない。keep-alive を行う際には、Content-Length ヘッダ(あるいはchunkedエンコーディング)を使うことで、ペイロードのパース/変換処理を不要にしている。別の言い方をすると、テキストプロトコルだからと言って、バイナリプトロコルよりペイロードの処理時間が長くなるとは限らない。HTTP 以降

    「テキストプロトコルは遅くないよ」という話 - kazuhoのメモ置き場
    isdyy
    isdyy 2009/09/28
  • 第4回 memcachedのCASとmixiでの運用動向 | gihyo.jp

    今まで簡単に触れてきたmemcachedのCAS(Compare and Swap)機能ですが、今回はその具体的な使用例や、プロトコルの違いによる特徴を紹介します。また、mixiでの今後のmemcached運用動向を紹介します。 CASの概要 memcachedには特定のデータに対してアトミックな更新を試みる機能が存在します。この機能の仕組みは単純で、クライアントは特定のコマンド(テキストプロトコルの場合は“⁠gets⁠”⁠)を実行することにより、サーバから特定のレコードとその状態を表すユニークな識別子を与えられます。 この識別子はレコードが何らかの手段によって更新されると変更され、クライアントが保持している識別子とは別の値になります。したがって、クライアントは与えられた識別子を更新命令と一緒に送信することで、サーバはレコードをアトミックに更新できるかを確認することができます。もし識別子が

    第4回 memcachedのCASとmixiでの運用動向 | gihyo.jp
    isdyy
    isdyy 2009/09/28
  • Rails 2系のXSS脆弱性がRuby 1.9では影響なしとされる理由 - 岩本隆史の日記帳(アーカイブ)

    Rails 2系のXSS脆弱性を修正するパッチが先日公開されました。 4日(米国時間)、Ruby on Railsの2系すべてのバージョンにXSSの脆弱性があることがRiding Rails: XSS Vulnerability in Ruby on Railsにおいて発表された。特定のUnicode文字列を使ってチェックをくぐり抜け、任意のHTMLを送り込まれる危険性がある。なおRuby 1.9系で動作しているアプリケーションはこの影響を受けない。 http://journal.mycom.co.jp/news/2009/09/07/048/index.html この件に関して、大垣さんは次のように説明しています。 RoRの脆弱性に関連してRuby1.9では安全、と解説されていますが、それはRuby1.9は不正な文字エンコーディングを受け付けないからです。 何故かあたり前にならない文字エ

    Rails 2系のXSS脆弱性がRuby 1.9では影響なしとされる理由 - 岩本隆史の日記帳(アーカイブ)
    isdyy
    isdyy 2009/09/28
  • れぶろぐ - [Canvas] IE で Canvas を使えるようにする FlashCanvas を高速化してみました

    修正したソースコードも含めてまとめておきましたので、欲しい人は持っていって下さい。 ただし、Canvas の基的なコマンドしか実装されていないので、 現段階では上のサンプルくらいしか動かず、実用性は乏しいです。 FlashCanvas-0.2a.tar.gz 覚え書きとして、どのような改良を行ったかを記しておきます。 stroke(), fill() のタイミングでデータを送信するようにした 例えば、Canvas で座標 (x0, y0) から (x1, y1) への直線を描くために、 ctx.beginPath(); ctx.moveTo(x0, y0); ctx.lineTo(x1, y1); ctx.stroke(); のようなコマンドを実行した場合、 オリジナルの FlashCanvas では、各コマンドごとに ActionScript の関数を呼んでいました。 これははっきり言

  • Greasemonkey ver 0.82解説 - 枕を欹てて聴く

    なんか解説を待たれていたらしいので, Twitter上だけでなく, 詳しく. 該当記事はこれ. http://www.greasespot.net/2009/09/greasemonkey-082-released.html * Do not inject scripts into file: and about: URLs by default, for security reasons. (#1000) * The GM_openInTab() function respects the background loading tab behavior from Firefox preferences. (#1003) * Specify label/control associations in "New Script" dialog, for accessibility. (#101

    Greasemonkey ver 0.82解説 - 枕を欹てて聴く