タグ

ブックマーク / labs.gmo.jp (8)

  • FirefoxのlivehttpheadersでHTTPリクエストの中身が見られるしくみ - bits and bytes

    サーバに送っているHTTPリクエストのヘッダやレスポンスのヘッダが見られるFirefoxのextension livehttpheaders がどうやってこの機能を実現しているのか調べてみました。 HTTPリクエストを送るタイミングでイベントを捕まえることができるんだろうと予想して探してみるとLiveHTTPHeaders.jsの43行めからのaddToListener()に function addToListener(obj) { ... snip ... // Should be a new version of Mozilla/Phoenix (after september 15, 2003) var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Compone

  • javascriptを拡張機能のコンテキストで実行できる Execute JS - bits and bytes

    先日、ブックマークレットとおんなじくらいお手軽にFirefoxで開いているページの中身をスクリプトに渡して処理したりできないかなーと思って Browse Web and Developer Tools :: Firefox Add-ons を見ていたらFirefoxの拡張機能を作るときに少し役に立ちそうなものを発見しました。 Execute JS という名前のextensionで、説明に # Execute arbitrary (multiline) JavaScript Code in every window you like. # Evaluting the properties of an object. # Modifying functions on the fly i.e. you can search for functions, load and edit them

  • クラッシュダンプを読んでその原因を究明する - bits and bytes

    最近のwindowsは普通に使っている範囲ではブルースクリーンに出会うこともなくなりましたが(デフォルトでブルースクリーンを出さずに即再起動するようになっただけでしょうか)、ドライバのコードを書いているとすぐに遭遇します。ブルースクリーンで表示されている情報は、ブルースクリーンを出す原因となった事象のコードとその事象にまつわる付加的な情報(PCの値であるとか、参照したメモリアドレスであるとか)が表示されます。しかし、自分のコードの何行目が原因だったのかを知るのにはクラッシュダンプを読んでみないとわかりません。 WinDbgのインストール クラッシュダンプを読むにはまずWinDbgというデバッガが必要です。このデバッガはカーネルのデバッグができるようにリモートから接続できるようになっていたりしますが(そういえばそんなことはgdbだとふつうにできる)無償でダウンロードできます。 Install

  • Firefox3でいちばんべんりな新機能 - bits and bytes

    Firefox3のbeta5が公開されました。 Firefox web browser | International versions: Get Firefox in your languageでダウンロードすることができます。 Firefox3はFirefox2とくらべて、メモリの使用量が減ったとか、レンダリングやjavascriptの実行が速くなったとか、いろいろ変わっています。でも個人的にダントツで一番便利になったと感じているのはアドレスバーでのURL補完機能が強化されたところです。 今のブラウザはみんなアドレスバーにURLを入れると、前にアクセスしたことのあるページでそのURLから始まっているページのリストが表示されます。よく覚えてないけどこの機能は Netscape Navigator 4.0で(自分の知る範囲では)はじめて導入されて、その後IEにも導入された機能です。でもこ

  • gmailで添付ファイルが自動でアップロードされるしくみ - bits and bytes

    gmailでメールを書くとき、添付するファイルを選んでからしばらくすると、いつの間にか添付ファイルがアップロードされています。 添付するファイルを選ぶと、はじめファイル名が表示されていたのが 自動的にアップロードされて、名前とファイルサイズが表示されています! 実は、あまり名前も聞かなくなった Google Page Creator がリリースされたときにいちばんびっくりしたのはページの右下にこのgmailの自動アップロードとよく似たしくみがあったことでした。で、さっそく解析してマネしてみたことがあります。今回はgmailでその仕組みを見てみます。 ちなみにその Google Page Creator には、ログインすると右下にこんな ファイルをアップロードするのに使う部分があります。 gmailの場合、メールが自動保存されるタイミングでアップロードされているかんじでしたが、こっちのはBr

  • ファイルの先頭8バイトだけで画像のフォーマットを調べる - bits and bytes

    PHPでファイルをアップロードしたとき $_FILES にアップロードされたファイルについての情報が入っています。 そして $_FILES[...]['type'] にはアップロードされたファイルの MIME type が入っています。しかしここに入っている値は PHP: ファイルアップロードの処理 - Manual に $_FILES['userfile']['type'] ファイルの MIME 型。ただし、ブラウザがこの情報を提供する場合。 例えば、"image/gif" のようになります。 この MIME 型は PHP 側ではチェックされません。そのため、 この値は信用できません。 と書かれている通り信頼できません。ソースコードを見てみると php-5.1.4/main/rfc1867.c の SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post

  • WWW::MechanizeとSeleniumIDEで勝手APIをかんたんに作る - bits and bytes

    Selenium IDE で生成したテストケースに従ってWWW::Mechanizeを動かすためのラッパーモジュールMechanizedSelenium(仮称)を作ってみて、どれくらい使えるか試してみました。 背景 スクレイピングはもっと簡単にならなければいけないの最後でちょこっと触れていた、ウェブアプリケーションのテストケースを簡単に生成する Selenium IDE は、ブラウザでクリックしていくだけでデータを抜き出せてしまう Dapper: The Data Mapper と並んで考えさせられたツールです。 一度、ウェブアプリケーションのテストをするために HTTP::WebTest を使ってテストケースを書いたことがありました。しかし、ブラウザをマウスでちょこっとつつくだけの動作をperlで書き直すのは当に退屈な作業ですし、テストケースを書くこと自体が困難で、アプリケーションにバ

  • FUSEを使ってはてなブックマークから POOKMARK Airlines へ乗り換える方法 - bits and bytes

    Google Code で macfuse がリリースされたのをきっかけに、FUSEをみんながおもちゃにするに違いないと思ったのにだれもおもちゃにしていないみたいで、くやしかったので自分でおもちゃにしてみました。 FUSEの利点は、ファイルシステムという今まで数十年間使われてきた標準的なインターフェイスに任意のサービスをマッピングできるということにあります。数十年間、ファイルシステム上でファイルを扱うために様々なツールが開発されてきました。ファイルシステムにサービスをマッピングできるということは、数十年間蓄積されてきたファイルを扱うためのツールをそのままサービスを扱うためのツールとして利用できるということです。 例として WikipediaFS, view and edit Wikipedia articles as if they were real files を見てみましょう。このw

    kenkitii
    kenkitii 2007/02/06
    すごい
  • 1