2011-01-01から1年間の記事一覧

kakoroku で保存したタイムシフト放送を NNDD で再生するときのテクニック

Windows の kakoroku でタイムシフト放送をダウンロードした後、Mac の NNDD で(むりやり)再生させるのですが、このときコメントが途中からしか流れない不具合にまみえます。この回避方法として、NNDD の InfoView にある「過去コメント」タグにて、「更新…

ニコニコ動画の検索一覧に総合ポイントを表示するユーザスクリプト【NicoSearchPtsDisplay】

GreaseMonkey ユーザスクリプト(Firefox, Chrome, Safari で動作確認)。 ニコニコ動画の キーワード/タグ 検索一覧に総合ポイントを表示します。 総合ポイントはニコニコ大百科の計算式で算出されます。 4 カラム 適用前 4 カラム 適用後 2 カラム 適用前…

Django のテンプレートシステムをローカルアプリケーションで使う

Python で実装された Web アプリケーションフレームワーク Django の HTML テンプレートエンジンだけを、スタンドアロン(ローカル・アプリケーション)で利用します。以下の Python スクリプトを renderer.py などの名前で保存して、実行します。 #!/usr/bi…

ui.Popup の表示・非表示イベントを監視する

goog.ui.Popup は Positioning 可能なポップアップ View を扱うクラスです。 setHideOnEscape() や setAutoHide() でポップアップ要素を自動的に隠すイベントは、スーパークラス goog.ui.PopupBase の EventType に定義されています。 // Popup の表示・非表…

DragListGroup のドラッグ & ドロップ・イベントを監視する

goog.fx.DragListGroup は dragListElement として追加したノードに含まれる DOM 要素群を、ドラッグアンドドロップで位置交換できるようにするクラスです。 DragListGroup で発生したドラッグ・イベントは、draglistgroup.js の goog.fx.DragListGroup.Even…

Closure Library で新しいページを開く goog.window

API リファレンスからは検索しにくいのですが、Closure Library にはウィンドウ操作のための関数群が window.js に定義してあり、require('goog.window') で利用可能になります。 goog.window には以下の関数が定義されています。 goog.require('goog.window…

DOM 要素のドラッグ&ドロップには Dragger をイベント登録する

goog.events.listen() 関数で DOM 要素のドラッグアンドドロップ・イベントを登録したい場合、DOM 要素を goog.fx.Dragger インスタンスとして登録する必要があります。http://closure-library.googlecode.com/svn/docs/class_goog_fx_Dragger.htmlまた、イ…

$ を使って 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 に移行したとしても、…

ニコニ広告の宣伝ポイントを取得する

動画 ID (sm***, nm***, so***, etc) から、ニコニ広告の宣伝ポイントを取得する Python スクリプトです。 このスクリプトは urllib2 で取得した広告動画ページから、BeautifulSoup と正規表現で値を取り出しています。 import urllib2 import re from Beaut…

説明文に含まれるニコニコ動画のリンク記法を タグに置換する正規表現

テキスト中に含まれるニコニコ動画のリンク記法(動画 ID)をすべて <a> タグリンクに置換する Python 正規表現です。sm[0-9]+ や mylist/[0-9]+ のような数値が付くリンク記法に対応。 import re adict = { 'sm': '<a href="http://www.nicovideo.jp/watch/\g<1>">\g<1></a>', 'nm': '<a href="http://www.nicovideo.jp/watch/\g<1>">\g<1></a>', 'lv': '</a>

ニコニコ動画の最新ニコレポをスッキリさせるユーザスクリプト【NicorepoHidden】

Firefox の GreaseMonkey ユーザスクリプト。ニコニコ動画(マイページ)の「最新ニコレポ」で、動画投稿や生放送開始以外のお知らせを非表示にして、スッキリさせます。 適用前 適用後 【過去のニコレポを見る】で Ajax 取得した お知らせ にも対応。 原宿バ…

ニコニコ動画などで Flash 動画プレーヤーの選択状態を維持しないユーザスクリプト【PreventFlvSelection】

Firefox の GreaseMonkey ユーザスクリプト。 Opera には非対応。ニコニコ動画や YouTube で、Flash 動画プレーヤーをクリック後、選択状態を自動解除(アンフォーカス)することで、キーボードによるページ操作(移動等)が妨害されなくなります。ニコニコ…

ニコニコ生放送でプレーヤーより下方を非表示にするユーザスクリプト【NicoliveHidden】

Firefox の GreaseMonkey ユーザスクリプト。 ニコニコ生放送で、プレーヤーより下方にある HTML 要素群を隠すことで、プレーヤーの位置調整を簡単にします。 原宿と Q バージョンに対応。 適用前 適用後 インストール:http://userscripts.org/scripts/sour…

ニコニコ動画でプレーヤーより下方を非表示にするユーザスクリプト【NicovideoHidden】

Firefox の GreaseMonkey ユーザスクリプト。 ニコニコ動画で、プレーヤーより下方にある HTML 要素群を隠すことで、プレーヤーの位置調整を簡単にします。 マイリスト連続再生にも対応。 原宿と Q バージョンに対応しました。 Q バージョンで、タグをクリッ…

ニコニコ動画ランキングから「ゆっくり実況プレイ」タグが含まれる動画を抽出する

ニコニコ動画 ゲーム・デイリー・ランキング 100 件から、特定タグ(ゆっくり実況プレイ)を含む動画だけを抽出します。 使用する RSS フィード: http://www.nicovideo.jp/ranking/fav/daily/game?rss=2.0 使用するニコニコ動画 API:getthumbinfo このスク…

ニコニコ動画 URL から動画 ID (sm, nm, so) 以下を抽出する正規表現

ランキング一覧の URL から動画 ID (sm***, nm***, so***) を抽出する Python スクリプトです。 パターンは '[sn][mo]\d+' を使ってみました。 import re urls = [ 'http://www.nicovideo.jp/watch/sm123456', 'http://www.nicovideo.jp/watch/nm123456', 'h…

jQuery UI 1.8.16 がリリースされました

Button, Datepicker, Dialog, Draggable, Droppable, Effects, Mouse, Widget Factory モジュールのバグフィックスが行われました。 詳細:jQuery UI 1.8.16 Changelog | jQuery UI 記事:jQuery UI 1.8.16 | jQuery UI Blog ダウンロード: 【jQuery UI バ…

16 進数の文字列 (NSString) を数値型 (int) に変換する

NSColor が気の利かない子なので、#FFFFFF など 16 進数の色指定を各要素ごと自前で解析することに。 @"FF" のように、16 進数を表した NSString は、NSScanner の ScanHexInt: メソッドで、(unsigned)int 型の 255 に変換できます。文字列は @"0xFF", @"0XF…

jQuery UI 1.8.15 がリリースされました

Datepicker, Slider, Mouse モジュールのバグフィックスが行われました。 詳細:jQuery UI 1.8.15 Changelog | jQuery UI 記事:jQuery UI 1.8.15 | jQuery UI Blog ダウンロード: 【jQuery UI バンドル】 http://jquery-ui.googlecode.com/files/jquery-ui…

JSLint を MacOSX の JSC でローカル(コマンドライン)実行する

JavaScript のエラーチェックツール JSLint を、ローカル環境 (MacOSX) のコマンドラインから実行します。 JSLint は Windows の WSH, Mozilla の Rhino の他、MacOSX の JSC (JavaScriptCore) フレームワークからローカル実行できます。 1. JSLint のソース…