タグ

ブックマーク / os0x.hatenablog.com (12)

  • 君は3つのリロードを知っているか? - os0x.blog

    はい、今さら聞けないウェブ開発者の基礎知識のお時間です。 ブラウザには3つの読み込みモードがあることはご存知ですか? 2つくらいはわかるけど、3つ目が出てこないって方は少なくないかもしれません。 リロード 一番オーソドックスなのがブラウザのリロードボタンを押したときの挙動ですね。普通ですね。 スーパーリロード ブラウザによっては、スーパーリロードという機能を備えています。IEの場合Ctrl+F5(Ctrl+更新ボタン)、Firefoxの場合Ctrl+F5(Shift+更新ボタン)、Chromeの場合Shift+更新ボタン(Ctrl+Shift+R)などでスーパーリロードを呼び出すことができます。スーパーですね。 ページ遷移(リフレッシュ) 3つ目はちょっと良い名前が思いつかないのですが、リロードではなく、通常の画面遷移での読み込みのことです。アドレスバーにフォーカスしてenterするといっ

    君は3つのリロードを知っているか? - os0x.blog
    nasunori
    nasunori 2011/06/17
    リロードとリフレッシュの違いがわからなかった
  • prototype.jsからjQueryに移行するたったひとつの冴えたやりかた - os0x.blog

    どうもこんにちは、os0xです。 実は(Twitterに書いただけで)ブログに書いてなかったのですが、3ヶ月ほど前からクックパッドで働いています*1。なんかもう今更ですよね、すみません。 さてさて、クックパッドですが、つい一昨日までprototype.jsを使っていました。で、昨日jQueryへの移行をリリースしたところだったりします。 というわけで、その辺の話を少し書いてみたいと思います。 そもそも、なんでjQueryに移行するのか まあ、prototype.jsとjQueryどちらを使うかと問われたら、大抵の人はjQueryと答えますよね。確かにjQueryの使いやすさは魅力的です。使いやすいということは、みんなでjQueryを使ってサービスを作ることができます。特定の誰かに依存してボトルネックになったりすることがないなら、それは素晴らしいですね。 しかし、ライブラリを変えるのは簡単な

    prototype.jsからjQueryに移行するたったひとつの冴えたやりかた - os0x.blog
  • valueOfとtoStringとToPrimitive - os0x.blog

    valueOfとtoStringメソッドの水深43cmぐらいの深さの話 - 三等兵のもう少し深いお話。コメント欄に書こうかとも思ったけど、最近ブログ書いてない気がしたのでちゃんと記事にしてみる。 まずは問題です。次のコードを実行したときにtrueかfalseのどちらがalertされるかそれぞれ当ててみてください。 var date = new Date(); var date_string = date.toString(); var date_value = date.valueOf(); alert(date == date_string); alert(date == date_value); true, true false, false true, false false, true (難しい問題ではないと思いますが、)この問題の答えは最後に。 続いて、もっとシンプルな問題です。

    valueOfとtoStringとToPrimitive - os0x.blog
  • CSSセレクタの高速化の話を検証 - os0x.blog

    CSSセレクタの高速化の話し - Webtech Walkerの件。元ネタは続・ハイパフォーマンスWebサイト ―ウェブ高速化のベストプラクティスで、元ネタの元ネタはWriting Efficient CSS for use in the Mozilla UI - MDC。 先に書いておくと、この元ネタのMozillaの記事には、in the Mozilla UIとある通り、FirefoxなどのUIレベルの話です。Mozillaの場合、ウィンドウとかタブとか、とにかくなんでもCSSでスタイルを指定できる(している)のでCSSのパフォーマンスについて考慮する点が他のブラウザとはズレています。 とはいえ、実際にどうなのか検証したことなかったので、少し試してみました。 今回の検証方法は、dl>dt+ddを5重に入れ子にした300KB強の大きめなHTMLを用意して、CSSを動的に適用したときの時間

    CSSセレクタの高速化の話を検証 - os0x.blog
  • AutoPagerizeを軽量化するアイデア - 0xFF

    先に結論を言うと、AutoPagerizeは拡張版がオススメです。以下その理由と余談的なお話です。 拡張版のAutoPagerizeについてちょっと勘違いしてました。AutoPagerizeは軽量化できるという話に路線変更します。 AutoPagerizeってのは、次のページを今見ているページの下に継ぎ足して、ページ遷移することなく次のページを見ることができる、ブラウザの機能を拡張するスクリプトです。 このAutoPagerizeは派生スクリプトがたくさんあって、FirefoxだけでみてもGreasemonkey版のAutoPagerize(家)、cho45さんのjAutoPagerize、Add-onのAutoPagerize(家)、AutoPager(作者は日人ではなく、どちらかというと非日語圏向けかも)などなど。他にもかなりの数があります*1。 で、Opera、Google

    AutoPagerizeを軽量化するアイデア - 0xFF
  • 毎秒100回JavaScriptが実行ってのがどの程度なのか - os0x.blog

    非ネットで聞いた話なども含め、ここまでやっても信じない人もいっぱいいるみたいで、そこまで疑う人のためにとりあえずパッチは出しておいたのだが、みんな「怪しいよね」って陰で言うだけで、誰も追試はしてくれなかったみたいだ。他人の書いた、しかもCPU使用率なんて割とどうでもいい系のエントリなんてわざわざ検証する人はそりゃいないだろうとは思うけど、気分が悪いのも確かだ。どうせ誰も試さないなら、パッチ自体は次のネタにとっときゃよかったなぁ…。 http://d.hatena.ne.jp/tkng/20091003/1254578195 では折角なので、検証を。Firefox前提なら、Firebugのプロファイル機能で一発なので、検証用マシン*1で以下のスクリプト実行。 // ==UserScript== // @name google stats // @namespace http://ss-o.n

    毎秒100回JavaScriptが実行ってのがどの程度なのか - os0x.blog
    nasunori
    nasunori 2009/10/06
    Googleトップページのアレ。
  • AutoPagerizeで継ぎ足された部分に自分のスクリプトを適用する方法あれこれ - os0x.blog

    以前からある手法から順番に見ていきます。 ページの高さの監視 setIntervalでページの高さを監視して、増えていたらAutoPagerizeが動いたとみなして処理を行う var THRESHOLD = 300; var _height = window.innerHeight; setInterval(function(){ if (window.innerHeight - _height > THRESHOLD) { // 処理 } _height = window.innerHeight; }, 300); メリット AutoPagerizeだけでなく、はてなダイアリー・ブックマーク、Twitterなどでのサイト側でのページの継ぎ足しにも対応できる デメリット THRESHOLDをいくつにするかなど、一概に決められない。タイマーをたくさん回すと重くなる。Floatしている要素を継

    AutoPagerizeで継ぎ足された部分に自分のスクリプトを適用する方法あれこれ - os0x.blog
  • Chrome Extensionsの作り方 2009/06/25版 - os0x.blog

    続きは、特集:先取り! Google Chrome Extensions|gihyo.jp … 技術評論社 と、 連載:続・先取り! Google Chrome Extensions|gihyo.jp … 技術評論社をどうぞ。 用意するもの Google Chrome 3.0.190.1以降(dev版か、latest Chromium snapshotがオススメ。) 最低限必要なもの manifest.json JSON(not JavaScriptなので、値を'ではなく"で囲まないといけないなど、割と厳格なので注意)で書く拡張の定義ファイルです。 一応必須といえるのはnameとkeyの2つですが、とりあえずはnameさえあればOK。keyはパッケージするときに自動で振られるので自分で書く必要はありません。 { "content_scripts": [ { "js": [ "all.js"

    Chrome Extensionsの作り方 2009/06/25版 - os0x.blog
    nasunori
    nasunori 2009/06/26
    3.0.190.1以降から。
  • arguments.callee.caller で UserJavaScriptのソース取得 - os0x.blog

    最初に要点を述べると、UserJavaScriptのソースはサイト側のScriptから取得することが不可能ではないので、UserJavaScript にパスワードなどを書き込む必要がある場合は実行を許可するサイトに十分に気をつけましょう(そもそも書き込まないで済むならそれに越したことはない)。というお話です。 Function.caller 9.60 beta 1 RCからFunctionにcallerプロパティが追加され、関数の呼び出し元を参照できるようになりました。caller は非標準ではありますが、FirefoxやIEでも以前から使えているようです。 そして、サイト側のScriptで、UserJavaScriptが呼び出すであろうメソッドを上書きしておくことで、UserJavaScriptの処理をフックし、そこから .caller を辿って UserJavaScript のソースを

    arguments.callee.caller で UserJavaScriptのソース取得 - os0x.blog
  • Google Chrome 2.0 で使える(自作の) User Scripts - 0x集積蔵

    やけにあっさりと Google Chrome 2.0 がリリースされました。 というわけで、Greasemetal, GreaseKit で使える UserJavaScript (自作中心) - 0xFFのGoogle Chrome 2.0版(今回は自作のみ)です。 最初に、GreasemetalはGoogle Chrome 2にGreasemonkey相当の機能が実装されたため、開発を終了しています。ので、以下はChromeに搭載されたUser Scriptsを対象とします。(ちなみに、User Scriptsを書いてみようという方は、Google Chrome 2.0のUserScriptsはGreasemonkey互換のようで、そうではない - 0xFFをチェックしておくと良いかもしれません) User Scripts の導入 起動時に --enable-user-scripts オ

    Google Chrome 2.0 で使える(自作の) User Scripts - 0x集積蔵
    nasunori
    nasunori 2009/05/23
    ああ、UserScripts用のフォルダが生産されるのか。なるほど。
  • Googleの検索結果からキーワードハイライトするGreasemonkey Script - 0xFF

    先々週くらいからコツコツと書いていたキーワードハイライトするGreasemonkey Script(もしくは UserJavaScript)をリリースします。 word highlight for Greasemonkey 今のところ、Opera9.5+(Operaで使う場合はファイル名をword_highlight.jsで保存してください。.userはつけないでください)、Firefox3+、Google Chrome2(Devリリース)、WebKit Nightlyあたりで動作します。Safari3、4は後で対応するかも。 検索語を強調表示&ショートカットが快適なグリモンスクリプト :教えて君.netで紹介記事頂きました。ありがとうございます。記事書くのすげー早い。しかも、要点書いてあるし、画像付きでわかりやすいし、ほんと嬉しいです。 特徴 高速(だと思う) XPathを使って検索する

    Googleの検索結果からキーワードハイライトするGreasemonkey Script - 0xFF
    nasunori
    nasunori 2009/05/23
    Opera、Chrome2でも利用可能。ハイライト文字は検索後に変更できる。Autopagerize対応。Minibufferとの連携もあり。
  • oAutoPagerize - 0x集積蔵

    AutoPatchWorkがOpera、Chrome、Safariそれぞれの拡張機能として利用できるようになったので、oAutoPagerizeの更新は停止しました。ご了承ください。 id:swdyh氏のAutoPagerize for GreasemonkeyをOperaやSafari,Google Chromeなどで動作するように移植*1しました。 for Opera 必須ファイルは0AutoPagerize.SITEINFO.jsと、oAutoPagerize.jsの2つです。0AutoPagerize.Settings.jsはオプションです。以下説明。 SITEINFO ファイル:0AutoPagerize.SITEINFO.js wedataのSITEINFOをまとめたファイルです。OperaのUserjsはファイル名順に実行されるので、ファイル名を0で始めています。このSITE

    oAutoPagerize - 0x集積蔵
    nasunori
    nasunori 2009/05/15
    Opera、Safari、Google Chromeで動くAutopagerize。
  • 1