« ヨドバシのソフトバンクモバイルが大盛況 | トップページ | ソフトバンクモバイル、MNP一時停止 »

2006年10月29日 (日)

週末Script Kiddie

_1_1既存のスクリプトを改造したり組み合わせたりしかしない人をScript Kiddieと呼びますが、僕のPerlに関する知識は、まさにKiddieとしか呼べないほど幼稚なもの。

とはいえ、Perl以外に使い慣れた言語が沢山あるので、Perlをいじるときというのは、前任者がPerlでガリガリ書いてしまっていた場合や、どうしても使いたいコードがPerlで書かれていた場合に限られますが、Perlの特徴の一つはシェル向けのスクリプト言語なので理論上はなんでも組み合わせを記述できてしまう、という利便性にあるのかもしれません。僕がPerlをあんまり好きではないのは、文中にいきなりHTMLが現れたりするあたりとか、後付けのオブジェクト指向のあたり(あともちろん実行速度)なのですが、それこそ滅多に呼ばないようなことをさせるには往々にしてPerlの方が便利な場合があります。

その最たるものはCPANと呼ばれるライブラリ群でしょう。

CPANには基本的には凄く便利なものが沢山アップされているのですが、まあ最近はRubyにしろPHPにしろ便利なライブラリは沢山アップされています。

その中でもとりわけ僕が羨ましいと思ったのは、Win32::CaptureIEという、IEの出力をそのままキャプチャしてしまうライブラリです。

これは残念ながらまだRubyには存在せず、Javaでやろうとするとかなり難しいライブラリです。
もちろんWindowsプログラムを書けばすぐに作れますが、いまさらWin32-APIを復習したいとは全く思わないので、「既存のライブラリでできればかなり楽だわい」と思って導入してみました。

ところがこの導入がえらく面倒臭くて、忘れてしまいそうなのでいまのうちにメモを書いておきます。

いろいろ調べた結果、かぜぷろの日記とWeb ApplicationとPerlとLinuxを参考にするのが一番良いみたいでした。

Win32::CaptureIEはかなり昔からバージョン更新が止まっているので、結構どれも記事が古くてバージョンがマッチしなかったりするので注意が必要です。

手順としては、先ほどのページにもあるように

1:Active-Perlを入れる
2:Win32-OLEを入れる
3:ImageMagickのバイナリー版を入れる
(このとき、ftpサイトで迷子になりそうになりますが、binariesからDLL版をダウンロードしてインストールしましょう)
4:ppmでインストール
  ここで先ほどのページにあるやり方でやろうとすると、僕の場合はなぜか「Image::Magickがない」と怒られたので、「c:¥>ppm gui」でGUI環境を起動し、設定画面の「Repositories」でLocationに「http://theoryx5.uwinnipeg.ca/ppms/」を追加(Nameは適当)して、Win32-OLEとWin32-ScreenshotとWin32-CaptureIEをそれぞれマークすると「PerlMagickが見つからない」とエラーで怒られますが、無視して「ctrl+enter」でインストール開始。
5.先ほどのブログページにあるサンプルコードを試す。

というわけで出来ました。
コマンドラインからppmインストールしようとすると、「PerlMagickがない」と怒られて先に進まなくなるのでGUI環境でやったらなぜかうまくいきました。謎ですね。

という一連の操作をMacBook ProのParallels上で行って見たのですが、グラフィックアクセラレータのないせいか、なかなか遅い。

mod_perlとかで常駐化すれば多少は速くなるんでしょうか。
あと、原理はScreenshotを取っているだけっぽいので、複数のスレッドが同時に動いたらきちんと動作するのか不安な部分もあります。まあ本当に本格的に使うならやっぱりWindowsアプリケーションでサーバを組むのが一番速くて安全そうですね。

でもやっぱり簡単にいろいろできてしまうと、それをベースにして他のことが考えられるので、研究者の人たちが好んでスクリプト言語を使う気持ちが解るようになってきました。

「とりあえずやってみたい」っていうのは動機として重要ですよね。
商売としてやるなら、どのみちキッチリ作り直し始めるタイミングがあるはずですからね

週末の会社でちょっとした息抜きでした

|

« ヨドバシのソフトバンクモバイルが大盛況 | トップページ | ソフトバンクモバイル、MNP一時停止 »

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/32098/3994388

この記事へのトラックバック一覧です: 週末Script Kiddie:

» ブラウザの画面をキャプチャする方法 [のぶろぐ]
アキバ系!文京区本郷四畳半社長: 週末Script Kiddie その中でもとり... [続きを読む]

受信: 2006年11月 4日 (土) 22時05分

« ヨドバシのソフトバンクモバイルが大盛況 | トップページ | ソフトバンクモバイル、MNP一時停止 »