2012-03-13
■ [softs] Chromeでタブを開きまくる人は、Smooth Gesturesの「タブの分割」を使うと捗るぞ
世の中にはブラウザでやたらとタブを開きまくる人がいて、それは部屋を片付けられない人の集合と一致するのかどうかが気になりますが、 それはさておき、そんな私が最近愛用してるのがChrome拡張Smooth Gesturesの「タブの分割」という機能です。これを使うと、マウスジェスチャで現在のタブより右を新しいウィンドウとして独立させることができます。
Smooth GesturesはGoogle Chromeのエクステンションで、 マウスカーソルの動きにいろいろな機能を割り当てることができます。 その設定画面にあるのが「タブの分割」と「タブの統合」。

私の設定では、マウスを右クリックしながら「上」「下」「右」の順に動かすと、現在のタブから右が新しいウィンドウとして独立します。
何か調べ物を始めて、タブを3枚、4枚と開いていることに気づいたら、早めに「タブの分割」でウィンドウを分けておきます。こうすると、調べ物が終わったらウィンドウごと閉じればいいので簡単にタブを整理することができます。
もちろん拡張機能を入れなくとも、調べ物を始める前に新しいウィンドウを開くようにすれば良いんですが、まあ絶対忘れますよね…。「タブの分割」の場合、ページを開いたあとでもウィンドウに分割できるのが良いところです。
2012-03-27
■ [javascript] Source MapはBiwaSchemeで使えるかと思ったがそうでもなかった
- 圧縮後のJavaScriptやコンパイル後のCoffeeScriptでも、ブラウザ上で元のソースを参照できる新技術「Source Maps」登場 − Publickey
- Introduction to JavaScript Source Maps - HTML5 Rocks
- Source Map Revision 3 Proposal - Google ドキュメント
最近はJavaScriptを書く代わりにCoffeeScriptを書いて生成させたり、そうでなくても複数のJSファイルを結合して圧縮するなんてことはよく行われている。 このとき問題になるのが、「エラーが起きたときに元ファイルのどこなのか分からなくてデバッグが大変」ということだ。
Source Mapはこの問題を解決するために検討されている案だ。元ファイルと生成ファイルをもとに「Source Map」と呼ばれるJSONデータを用意することで、 実行時エラーが発生した際に、発生箇所である生成ファイルのn行目が元のどのファイルの何行目なのかを表示できるようにするらしい。
この対応づけは結構大きくなりそうだが、データ形式を工夫することで元ファイルの2.5倍程度に抑えられるとのこと。
で、BiwaSchemeで使えるかなと思ってたんだけど、CoffeeScriptのように行単位でJSと対応づけられるものならともかく、 BiwaSchemeのようにJS上で完全に別の言語を実装するようなものにはあまり役に立たなさそうだということが分かった。
■ [ruby] rrのany_instance_ofとnew_instance_of
- rrはRubyでモックやスタブなどのTest Doubleを扱うためのライブラリである
- new_instance_of(C)はこれから作られるCのインスタンスを扱う。any_instance_of(C)は既に作られているCのインスタンスも含む
- が、最新版でnew_instance_ofを呼ぶとエラーになる
- とIssuesでも報告されているのが一年前
- READMEには「any_instance_ofとmockの組み合わせはうまく動かない」と書いてある
- AnyInstanceOfのソースにdeprecatedとか書いてある
- ソース全体が激しく断片化しててよく分からない
- 7ヶ月間コミットがない…
とりあえず「これから作られるCのインスタンスに限れば、any_instance_of(C)を使っても問題ないに違いない」と言い聞かせながらテストを書いている状況。
Ruby Toolboxでは(Rspec付属のを除けば)Mochaが人気のようだ。
□ mame [タブが整理された代わりにウィンドウが氾濫するようになりました。]