タグ

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

  • Firebugクックブック #1 - bits and bytes

    最近の中学生のはじめてのプログラミング言語がJavaScriptだったりするこの時代、最も使いやすいJavaScriptの実行環境であるFirebugは現代のコマンドラインです。UNIXコマンドラインでgrepやuniqを使って、日常の細々した処理を行うのと同じようにFirebugとjavascriptを使いこなせると、日常作業のちょっとしたことをさくっとこなすことができます。ちょっとした作業だから手作業でやってもいいけど自動でやればミスったりしないし、気分的には楽なので自動でやりたい、という作業がけっこうないでしょうか。例えば、ページの中の特定の部分の文字列をリストにしてテキストファイルに保存したい、とか。 そこで今回は私が普段よくやっている単純作業をFirebug+javascriptでさくっとかたづける方法を2回にわけてご紹介します。 ページの中からテキストや属性の値を拾う ページの

  • WebKitでサポートされているJavaScript1.6のべんりなArrayメソッド - bits and bytes

    常識なのかもしれないですけど、先日たまたまJavaScript1.6で追加されたArrayの拡張メソッドがWebKitでもサポートされているのに気がつきました。 ちゃんとした文書をみつけられなかったのですが[webkit-reviews] review denied: [Bug 6252] JavaScript 1.6 Array.lastIndexOf : [Attachment 10095] lastIndexOf javascript patchというのが出てきたので、WebKitでも正式にJavaScript1.6がサポートされてるようです。 こういうときにべんり 追加されたメソッドで最も便利なのがmap()です。mapは引数に関数を渡して使います。配列の各要素を引数にして渡された関数を実行して、関数の返した値を配列として返してくれます。mapは戻り値として配列を返すのに対して、何

  • javascriptで作るGearmanクライアント - bits and bytes

    Webアプリケーションの中には、ときどき時間がかかる処理をしないといけない部分があります。アップロードされた画像のサムネイルを多数生成するときや、クライアントからのリクエストに応じてさらにリモートのサーバからファイルを取得してきたりするとき、ふつうに作るとユーザは処理が終わるまでの数秒~数十秒間待たされるのでイライラしてきます。 こんなときには昨年のYAPCでLiveJournal: Behind The Scenesの中で紹介されている、perlで書かれた非同期処理サーバのGearmanが役に立ちます。Webアプリケーションから時間のかかる処理を別プロセスで動いているGearmanに依頼しておくことで、時間のかかる処理が終わるまで待つことなくユーザにレスポンスを返すことができます。 ほんとうは、時間のかる処理の性質と、必要とされる機能に応じてGearmanとTheSchwartzとを使い

    shidho
    shidho 2008/06/05
    気にはしておこう。
  • てきとうにクリックしたらてきとうにWeb::Scraperのコードを作ってくれるWebScraper IDE - bits and bytes

    まえに作ったWeb::Scraperのjavascriptバージョンwebscraper.jsとXPathをてきとうに作ってくれる機能を追加したwebscraperp.jsにHTMLのドキュメントから繰り返し部分をみつけてSITEINFOをつくるAutoPagerize Iteration Detectorみたいなみためをくっつけて、取り出したい部分をクリックしたらてきとうにXPathを生成してWeb::Scraperのコードにして出してくれるFirefoxのextensionを作りました。Firefox3専用です。ごめんなさい。 ダウンロード WebScraper IDE (for Firefox3) 使い方 今回もいつもお世話になっているスターバックスさんの店舗検索結果(住所・店名・条件から探す)を例に使い方をご紹介します。 WebScraper IDEをインストールするとツールメニュ

    shidho
    shidho 2008/03/13
    こういうの欲しかった。
  • Firefox3のクロスサイトXMLHttpRequestの仕様 - bits and bytes

    補足 2008.3.28 Cross Site XMLHttpRequest (XHR) Removed From Firefox 3 | Robert Accettura’s Fun With Wordageによると、最近XMLHttpRequestの仕様ドラフトに変更があり、Firefox3のリリース(今のところ6月の予定だとどこかで読みました)には実装が間に合わなそうなので、Firefox3の初期バージョンにはCross Site XMLHttpRequestは載らないことになったそうです。 Firefox3ではドメインが異なっていてもXMLHttpRequestでリクエストが出せるのをmal_blue@tumblrで知りました。 すごいじゃーんというわけでJohn Resig - Cross-Site XMLHttpRequestに書かれている使いかたを参考にちょっといじってみま

    shidho
    shidho 2008/01/18
    明示的に許しているところだけ許可するわけだ。えーとそこんところの詳しくはあとで調べる。
  • HTMLのドキュメントから繰り返し部分をみつける - bits and bytes

    RSSを生成していないページからRSSを生成するなんでもRSS 0.1bは、公開されているJSAI2005: なんでもRSS - HTML文書からのRSS自動生成によると、日付情報を目印にしてそのHTMLドキュメントの構造を推測して、各エントリ(item要素)のタイトルと文を単語の統計的に処理して決定し、フィードを生成していると書かれています。 ウェブ上にあるHTMLドキュメントは Ask.jp : "xml" Search results. のように、RSSitem要素に相当する部分に日付が含まれていないものもあります。 その中でも、大量のデータを複数のページにわけて表示しているHTMLドキュメントを対象に、ドキュメント中に含まれる繰り返し部分のXPathを生成するブログラムをjavascriptで作りました。 アプローチ 大量のデータを複数のページわけて表示しているドキュメントを

    shidho
    shidho 2007/11/02
    うまく動くのかな?
  • 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

    shidho
    shidho 2007/08/20
    なるほど。
  • LWP::UserAgentでBASIC認証つきでリクエストする - bits and bytes

    恥ずかしながらいままでLWP::UserAgentでリクエストを送るときにどう書くのかがいまいち分からず、ずっと毎回検索していました.... 今回検索して LWP::UserAgentでBasic認証サイトにアクセスする方法|blog|たたみラボ を読んで、そのあと HTTP::Request::Common - Construct common HTTP::Request objects - search.cpan.org と見比べて、ようやくいままでの謎が解けました。 use HTTP::Request::Common するとGETやPOST などの名前で HTTP::Request のインスタンスを返す関数がエクスポートされるので、 $ua->request(GET 'http://labs.gmo.jp/blog/ku/'); と書いたりできるようになるのだと知りました.....

    shidho
    shidho 2007/06/05
    twitterAPIってBASIC認証なの?ととんちんかんなコメントつけてみる。
  • ファイルの先頭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

    shidho
    shidho 2007/05/20
    UNIX系はどうやって判別してたっけ。
  • 1