2011-09-01から1ヶ月間の記事一覧

$ を使って DOM Element を取得する

Closure Library では goog.dom.getElement(element) 関数で DOM 要素を取得できますが、頻繁にこの長い名前空間を記述するのは面倒なので、次のように変数 $ に関数オブジェクトを代入する方法があります。 goog.require('goog.dom'); var $ = goog.dom.get…

ローカルストレージのリクエスト容量増加を要求されても Flash Player 設定パネルが操作できない問題を解決する

よくあるのが、ニコニコ動画を再生したときに出現する Adobe Flash Player 設定ポップアップパネル。 ローカルストレージ res.nimg.jp はコンピューターに情報を保存する許可を要求しています。 上記のメッセージが以下の画面に表示されるのですが、希にパネ…

width, height がマイナスだと交差判定関数は正しく動作しない

どのフレームワークでも同じような問題を抱えているようです。 NSPointInRect(NSPoint aPoint, NSRect aRect, BOOL flipped) や NSMouseInRect(NSPoint aPoint, NSRect aRect) といった交差判定用の関数は、判定領域 aRect の width, height がマイナスだと…

YouTube のプロモート動画・おすすめ動画を非表示にするユーザスクリプト【YouTubePromoteHidden】

Firefox の GreaseMonkey ユーザスクリプト(Chrome でも動作確認)。YouTube 動画再生中に表示される、サイドバーの広告・プロモート動画・おすすめ動画を非表示にします。 適用前 適用後 // ==UserScript== // @name YouTubePromoteHidden // @namespace h…

Interface Builder で Form の警告 "This view is clipping its content." を解決する

Form を使っていると、"This view is clipping its content." という警告が出ることがあります。 Interface Builder で確認してみると、Form の下に + マークが出現していることが分かります。次に、Form を選択中に表示されるキーボードマークをクリックす…

goog.math.Rect の各パラメータは x, y, w, h でアクセスできない

API Documentation ばかりを見ていたら勘違いしてしまう罠です。console.log で Rect オブジェクトの中身を見てみると分かるのですが、goog.math.Rect(x, y, w, h) の各パラメータには left, top, width, height でアクセスできます。 var rect = new goog.m…

width, height がマイナスな図形は描画されない

Point(100, 100) を始点として、Point(0, 0) を終点とした rect を描画したい場合、Size(-100, -100) とできれば楽なのですが・・・ <div id="canvas"></div> var drawer = goog.graphics.createGraphics(300, 300); drawer.render(goog.dom.$('canvas')); // #canvas にレンダリン…

設定オブジェクトパターンをクラスのコンストラクタに適用する

関数の引数が多くなると、パラメータの順序を覚えたり、オプションパラメータの扱いづらくなります。 /* before */ // 定義 function test(arg1, arg2, opt_arg3, opt_arg4, opt_arg5) { ... } // 実行 test(a, b, c, d); そこで引数に辞書オブジェクトを与…

オプション引数 (opt_***) を扱う

関数の引数をオプションにしたい場合、goog.isDefAndNotNull(val) を使うことができます。 この関数は base.js に定義されています。 // 引数 arg は必須、opt_arg はオプション function (arg, opt_arg) { if (goog.isDefAndNotNull(opt_arg)) { // opt_arg…

ニコニコ動画の説明文に含まれる URL からリンクできるようにするユーザスクリプト【NicoLink】

Firefox の GreaseMonkey ユーザスクリプト。ニコニコ動画の説明文に含まれる URL から直接リンクできるようにします。 適用前 適用後 // ==UserScript== // @name NicoLink // @namespace http://d.hatena.ne.jp/shobonengine/ // @description ニコニコ動…

Google App Engine の値上げについて

参考:開発者にショックなGoogle App Engineの値上げ App Engine フレームワークの学習コストを差し引いても、価格高騰で Google を見限る開発者が増えそうです。 これが特定企業にインフラを依存するリスクなのでしょう。 Amazon EC2 に移行したとしても、…