タグ

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

  • OperaのFast Forwardはどうやって次のページを決定しているのか - bits and bytes

    Operaはその独特なUIになじめなくてほとんどつかったことがないのですが、先日OperaにはFast Forwardという他のブラウザにはない機能があるのを知りました。 Fast Forwardはおおざっぱにいうと、ページが一番下までスクロールしているときにスペースキーを押すと、自動的にページの中から次のページだと思われるリンクを探してそのリンクの先をロードするという機能です。ひとが各サイトごとに手で記述したSITEINFOを外部から持ってきるAutoPagerizeとは違って、Operaに組み込まれたプログラムとデータを用いて次のページを表示するので、すべてのページで機能します。ただしAutoPagerizeのようにページが継ぎ足されていくのではなく、次のページ全体が今見ているウインドウにロードされます。 Fast Forwardについて詳しいことはFast Forward for q

    isdyy
    isdyy 2010/12/14
  • jqueryのpackedバージョンは読み込みに(80msくらい)時間がかかる - bits and bytes

    先日The JUI 2008 Tokyoに参加させていただいて、その中でGreasemonkeyの中で使うならjQueryが便利だよ!というLightning Talkを聞きました。たぶんその発表をされていた内山さんが以前に書かれたWe Ain't Seen Nothin' Yet. : GreasemonkeyスクリプトにjQueryを読み込む汎用スクリプトを今朝読んでXPCNativeWrapperがあるのでグローバルのネームスペースにいろいろ設定したりするほかのライブラリだと使いにくいというのもあるのを知りました。 コードの評価にどれくらい時間がかかるのか 自分も以前にMochiKitの非同期処理をラップしてくれるDefferedを使いたくてMochiKitをまるまるスクリプトの中に入れて使ったことがありました。そのときMochiKitをまるまるいれたら読み込むのに100msくらいか

  • 新しくなったAutoPagerizeのSITEINFOバックエンドwedata - bits and bytes

    AutoPagerizeのSITEINFOがwedataという、キーと値を管理することを目的としたwikiのようなもので管理されるようになりました。このwedataはキーと値を管理するだけの単純なデータベースを不特定多数で編集することができる仕組みです。新しく自分でデータベースを作れことができるようになっているのでAutoPagerizeのSITEINFOだけでなく、自分で作ったスクリプトのためのSITEINFOをかんたんに作ったりすることができます。 私が作ったわけではないのですが、去年のはじめからこんな仕組みがほしいなと思っていたようなものになっていてとてもうれしいので、ちょっと長いですがwedataの紹介をしたいと思います。 AutoPagerizeとそのしくみ いろんなサイトで次のページを自動的に表示するためのGreasemonkeyスクリプトのAutoPagerizeは、wiki

  • JavaScript-XPathでXPathが評価される様子を視覚化する - bits and bytes

    AutoPagerizeやLDRizeなどのスクリプトで、ページごとの構造を記述するSITEINFOに書くXPathは、どう書いたら速いのかが話題にのぼっていたので、JavaScript-XPathを使ってXPathがDOMツリーから要素を見つけ出す雰囲気を視覚化してみました。JavaScript-XPathが各ロケーションステップで要素がマッチするかどうかをテストするときに呼ばれている(んだと思う)attrMatchという関数の引数に渡される要素をロギングして、そのデータをもとにちょっと時間をずらしながら要素をハイライトしています。 前置き あくまでJavaScript-XPathでattrMatchが呼ばれている要素を視覚化したものです。実際のXPath実装とは異なります。JavaScript-XPathではdescendant::*((//*))の評価をgetElementsByTa

  • 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にも導入された機能です。でもこ

  • Web::Scraperのjavascriptバージョンwebscraper.js - bits and bytes

    perlのWeb::Scraperみたいな記述で、ページの中からデータを取り出すwebscraper.jsという小さなjavascriptのライブラリを書きました。 ブックマークレット データを取り出したいページでブックマークレットでwebscraper.jsを読み込んでFirebugコンソールで使います。 ブックマークレット webscraper コードwebscraper.js つかいかた Web::ScraperのSYNOPSISで例としてあげられているebayでapple ipod nanoを検索した結果からデータを取り出すときは 検索結果ページで上のブックマークレットを呼び出してFirebugコンソールで取り出す部分を記述します。 こんなかんじ。 SYNOPSISのperlのコードで変数$ebay_auctionに一度代入されている部分をそのままインラインで書き直すと my $e

  • 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に書かれている使いかたを参考にちょっといじってみま

  • FirefoxのsetTimeoutの実装 - bits and bytes

    Firefoxのソースコードを追っているうちに、たまたま1年遅れで IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 の裏側がどうなっているかがわかったので、その話を。 タイマーの管理方法 そもそもjavascriptからsetTimeoutを呼ぶと、どういう仕組みで指定した時間後に渡した関数が呼び出されるようになっているのでしょう。Linuxであればsleepのように一定時間後にawakeするという処理は、タイマーリストによって管理されています。カーネルの中にN jiffies(LinuxのOS内時間の単位はjiffyと呼ぶそうです)経過後に実行することリストがあって、カーネルが4msごとに毎回タイマーリストをチェックしてやることがあったときにはそれを実行しています。 FirefoxもLinuxと同じようにタイマーリストみたいな

    isdyy
    isdyy 2007/09/08
  • http://labs.gmo.jp/blog/ku/2007/07/apache_runs_on_iphone.html

    isdyy
    isdyy 2007/07/30
  • ファイルの先頭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

    isdyy
    isdyy 2007/05/23
  • php.netのあいまい検索を使ってJavaScriptのリファレンスを検索する - bits and bytesPHPには similar_text という二つの文字列が似ている度合いを計算してくれる関数がある

    php.netの右上にある関数検索は、関数の名前が正確に思い出せずに間違った名前を入れてしまったときでも、入力された名前に似ている候補が表示されるようになっています。 自分はこのリファレンスを Firefoxの Quick Search を使って利用しています。 アドレスバーに php get_file_contents と入力すると http://jp2.php.net/manual-lookup.php?lang=ja&pattern=get_file_contentsに展開されて、リファレンスが見られるようにしています。こうしておくと base64_encode だったか base64encode だったか encode_base64 だったかわからない、というときも、一度検索すれば名前を知ることができます。ちなみに正解はbase64_encodeです。(PHPならvimの omn

    isdyy
    isdyy 2007/04/28
    similar_text 知らんかった
  • twitterのコマンドラインクライアント - bits and bytes

    メッセンジャーのステータスを使って、今何をしているか、を伝えるのはよくやっていた。特に自分の場合ひとにかまってほしいほうなのでこの手のやつに人気が出るのはうれしい。twitterは、メッセンジャーのステータスのログがブログとして残って、ともだちのステータスが一覧で見られる、ようなサービスです。Tumblr 小さくてきれいなブロギングツール で書いていた Tumblr とおんなじように、ほんの少しの手間でほんの少しのエントリを投稿して、そのときの気持ちのような空気のようなものを伝えることができます。 そんなちょっとしたことをポストするのに、わざわざtwitterのサイトに行って今何をしているのか書くなんてオーバーヘッドが大きすぎる!というわけで Bin-Blog: Using Twitter, Part 1 - Command Line Twitter Client でコマンドラインからtw

    isdyy
    isdyy 2007/04/04
  • The Ever-Changing Widget Landscape てきとう和訳 - bits and bytes

    Apolloがリリースされてこの記事が書かれた頃と状況が多少変わっていますが、技術的な面でウィジェットの現在を取り巻く環境を知るのにはいい内容だったので、今年の1月末に書かれた The Ever-Changing Widget Landscape をてきとうに和訳しました。ところどころはしょっていたり、語尾も揃っていなかったりですがご容赦ください。 この記事を書いたEdは、まだ Yahoo Widget がkonfabulatorと呼ばれていて、まだWindows版が存在しなかった頃にWindows版を作ってよと言われて"Windows版なんてクレイジー"と吐き捨てつつ2日でWindows版のプロトタイプを作ってきたというオニなひとらしいです。 変わり続けるウィジェットの展望 2007/1/29 2003年にkonfabulatorが現れ、開発者にとって唯一の選択肢だったときと、widge

    isdyy
    isdyy 2007/03/27
  • cookieのサイズはパフォーマンスに影響を与えるか - bits and bytes

    私は "回線が早くなった現在、データの転送よりもコネクションの確立にかかるオーバーヘッドの方が大きい" という根拠のない信念を持っています。 だから、今ではバイト数を節約するよりも、Vitamin Features » Serving JavaScript Fast のような方法でコネクションを抑えることのほうが速度的には効果があるだろう、考えていました。 そんなところに おぎろぐはてな - Cookieがパフォーマンスに与える影響 経由で Performance Research, Part 3: When the Cookie Crumbles » Yahoo! User Interface Blog に、クッキー500バイトでレスポンスを15ms改善できるという記事を見つけて、単純に500バイトを15msで割ったら300Kbps程度で日じゃあり得ない遅さですが、小さいファイルの場

    isdyy
    isdyy 2007/03/07
  • 1