2013年6月28日金曜日

Chrome の console で jQuery を使いたい

Web開発者たるもの、Webブラウジング中にちょっとDOM要素を弄りたくなって「Chrome のconsoleでjQueryが使えたら楽なのに」と思うことがあります。もし見ているWebページが http://www.takkyuuplayer.com/ のようにjQueryをインポートしているのであればconsole上でもjQueryを使うことができますが、そうでない場合は使えません。

そのようなときは Include jQuery in the Javascript Console - Stack Overflow のようにしてjQueryを入れれば良いのですが・・・

この方法には致命的な欠点があります。それは

  • 常に同じバージョンのjQueryが使えるわけではない
  • そもそもインポート用のスクリプトを覚えられない
ことです。すでに閲覧中のサイトがjQueryをインポートしている場合「サイトのjQueryを使う」か「新しくjQueryをインポートしてサイト上のjQueryを上書きする」かの二択を迫られてしまいます。

どちらもやりたくはないので、既存のjQueryは置き換えずにいつも同じjQueryを使うためのChrome拡張を作りました。chebo.crxをインポートすればconsole上にて、次のようにしてjQueryにアクセスできます。 withCheboの引数として関数を渡してやれば、その中でjQueryが使えるようになります。便利ですね。

Underscore.jsBackbone.jsも使えるようになっているので、ちょいちょいウェブブラウジング中にDOM要素を弄りたくなる方は使ってみてください

2013年6月17日月曜日

local package manager のすすめ

vimをインストールしたいのにmercurialが無い、ncurseが無い。それらをインストールしようにもroot権限が無い。 

そんな風に思ったことはあるでしょう。慣れ親しんだ開発環境を使えないもどかしさ、分かります。大抵ホームディレクトリにmakeでインストールするのですが、環境が変わるたびに最新のソースを探しだし、makeが終わったと思ったらprefix間違えたorzなんて経験おありかと思います。(いや、そんな環境コロコロ変わらないが)

そんな私を救ってくれたのが LPM: Local Package Manager でした。
Linux を使っていて、root は持っていないけど新規にソフトをインストールしたいと思ったことはありませんか? ちゃんとパッケージ化されていないソフトをインストールするのが面倒だと思ったことはありませんか? あなたの環境でコンパイラエラーを回避するために何度も同じパッチを当てなければならなかったことはありませんか? そんな貴方に LPM は手をさしのべます。
( LPM: Local Package Manager, http://www.kasahara.ws/lpm/index_ja.html, 2013/06/17. )
とあるように、便利でした。1ページのDocumentを読めば、すべての使い方が分かります。lpmスクリプトの書き方もわかります。

vimとかzshとかリポジトリになかったので、オレオレlpmスクリプト作成。
オレオレlpm https://github.com/takkyuuplayer/lpm/tree/master/lpm

そのうちサブミッションしてみようかな、と思います。

Wordpress on AWS やめたった

皆様、円安の昨今いかがお過ごしでしょうか?

私の方はというとAWSの1年間無料利用枠が4月で期限切れになりまして、先月よりきっちり従量課金されるようになりました。その額なんと

56.04 [USD] -> 5,720[JPY]

GW中に調子に乗ってWordpressのDBをlocalhostからRDSに変えなきゃよかった・・・。という反省はさておき、大したアクセスもないのに毎月6000円近く取られるのはキツいです。そこで
  • 開発機用EC2インスタンスを閉じ、開発にはVagrantを利用
  • BlogはBloggerに移動し、RDSは閉じる
  • そのついでに静的コンテンツもWordpressからSinatraへ移行
しました。その際困ったのがブログの更新をどうホームページ上で見せるか?というもの。

こんなの


まぁそういうのはフィードを使うと相場は決まっているわけでして、例に漏れずやってみました。

feedzirraを使った更新一覧表示

rubygemでRSSのパーサーを探していたらfeedzirraに出会いました。他にもいろいろ出会いましたがThe Ruby Toolbox - Atom & RSS Feed Parsingによると一番人気があるようだったので利用。コードは以下です。
できました!ですが、なんか重いです。それはそうです。毎回RSS取りに行ってパースするのだから。キャッシュが必要です。最初sinatraでやろうと調べていたのですが、途中でnginxに任せればいいじゃん、という事に気づきました。nginxでプロキシ&キャッシュサーバー « chibiegg日誌を参考に設定。 これでストレスなく?表示されるようになりました。