2008年5月20日

WordPressへ移行しました

Bloggerが予想以上に使いにくかったので、WordPressへ移行してみた。
移転続きで申し訳ないです。

新しいURLはこちら(http://zero-code.com/)
お手数ですがよろしくお願いいたします。

2008年5月17日

FileMaker Pro + AppleScript で Perl

FileMaker Pro + AppleScirpt + Perl


FileMaker ProのWebビューアーを使ったスパイダリング(HTMLの収集)に限界が来たので、Perlでの開発を現在行っている。
HTMLのダウンロードという意味では、Perl等をかましてレンダリング・目的のHTML以外(画像等)のダウンロードを行わせないようにすれば、さほど変わらないのだが、スクレーピング(HTMLを分解し、必要な情報のみを抽出)は桁外れにPerlの方が早い。

ということで、FileMaker ProAppleScriptPerlという流れで情報収集を行っている。

FileMakerからAppleScriptを実行する方法はスクリプトステップの「AppleScriptを実行」というのは説明するまでもないか?w

AppleScriptからPerlを実行する時はdo shell scriptを使う
do shell script "perl 〜.pl"

""の間はターミナルで実行している命令と一緒。

perlを実行する手前でcdコマンドを実行したい時等は、
do shell script "cd ./Document/; perl 〜.pl"

というに、セミコロン(;)で区切って複数の命令を書く。

PerlをTerminalから実行する時、色々とメッセージを返すようにしていたとしても、コマンドの実行が終わるまで基本的に何も出来ない。
なので、基本的にlogとしてデーターを残すようにしている。
do shell script "cd ./Document/; perl 〜.pl > 〜.log"



もうちょっと、AppleScript


作ったperlのスクリプトではLWP::UserAgentを使っているのだが、1ページダウンロードに通常1秒〜1.5秒かかっている。
ただし、何故か分からないのだが、同じスクリプトを2コ同時に実行すると、実行して少し経ってから1ページのダウンロードが0.3秒〜0.7秒にまでスピードアップする。

スクリプトを2つ実行することで、結果的に2倍のスピード!
──というのならばまだ分かるのだが、スクリプトを2つ実行することで、4倍以上のスピードが出るのは何故だ?
ちなみに、2つ実行してスピードが速くなった後に、片方のスクリプトを停止しても、1ページのダウンロードが0.3秒〜0.7秒というスピードは変わらない。
※通常1秒間に数ページみに行くのは相手側のサーバーに負担になります。マナー違反になるので注意!

1つのドメインに対してのみ現在は行っているので、もしかすると相手側のサーバー側の問題なのかもしれないが謎だ…。
お分かりになる方いらしたら、是非教えて頂きたい。

とりあえず原因は不明だが「なら、2つ以上のPerlを同時に動かせばいいのか!」という結論に至り、バックグラウンドでdo shell scirptを実行出来ないかと調べてみると、アップルのテクニカルノートにあった。do shell script in AppleScript

do shell script "perl 〜.pl > 〜.log 2>&1 &"

とすれば良いらしい。
これを上手く使えば、分割処理が出来るので更なるスピードアップも望める!

さらに色々調べていると面白そうな記事を発見!
AppleScript で Perl に GUI をつける

これは、かなり勉強になりそう。後日挑戦してみたい。

2008年4月30日

Perlは手軽で、強力なツール

皆さんはプログラミングを始めた切っ掛けってなんですか?
今から始めようと思ってる貴方は何の為に始めようとしてますか?

小学校時代の私にとってのパソコンとは、Macとは、テレビゲームの無い家での唯一のブラウン管を使った遊び道具でした。
とはいっても、当時はTVゲームのようなゲームは持っていなく、同世代の人には多いと思うけどドローソフトで絵を描いて遊んでいた。年賀状なんかもそれで作ったこともあった。

その後特にデザイナーという訳でもないが、親の影響でPhotoshopをバージョン5.5から使い始め、高校卒業の頃にはオペレーターとしてデザインの仕事もしていた。

ある日、今のバイト先でもある会社で使っていたFileMaker 8.5の新機能であるWebビューアーでHTMLをダウンロード出来るという情報を聞き入れ、小学校時代からたまっていた自動処理に対するフラストレーションが爆発し、それまでプログラミングのかけらも知らなかったのですが、徹夜して6日でmixiをハックするツール「mixi Reader」を作り上げた。

そのmixiをハックツールのことは、後日お話するとして、そんなことが切っ掛けでプログラミング"らしい"ことを始め、複雑な計算式も書けるようになり、先日「aipo4」をインストールする為に存在も知らなかったShell Scriptを読む為に軽く勉強を始め、Perlが Shell Script と同じように手軽に使えるツールであることに気付いた。

今思うと、小さい頃当たり前のように始めたパソコンの用に、Perlにももっと早く触れる機会があればと想う。


Perlが手軽というのも、ある程度前置きがあって始める切っ掛けがフェイドインのような自然な流れだったから思うのだが、改めで思ったのは、プログラムは「print "Hello World!"」以上でも以下でも無い。ということ。

printという命令(関数)を使ったら、その後に続く文字が出る。
別の命令を使えば、別の答えが出る。
じゃあ、やりたい事にはどの命令を使えばいいのか。それを考えるだけ。

もちろんスピード等を求めたり、とても複雑な事をやろうとしたら、大変だけどでも、これの積み重ねでしかない。
ただ最初に本を読むと自分の目的には必要の無いことが大量に出てくる。訳側からなくなりがち。

それでも、分からないことを調べたり、とりあえず進めて読んで目的の情報までたどり着くまで頑張れば「ある程度のレベル」のやりたい事なら、誰でも出来る。

プログラムなんて「1+1=2」という式が誰でも読める。英語も勉強をすれば書けるようになる。それと一緒なのだ。

とりあえず、MacOSXがUNIXベースで、Perlは元々入っていて「print "Hello World!"」まで行き着くには数クリックのマウス操作だけでいいという今の環境に感謝。

2008年4月16日

Aipo4をMacOSXにインストール!中断中

只今Aipo4をMacOSXにインストール!の記事を投稿中でしたが、ミス等がありました。その為誠に勝手ながら関連記事はアクセスが今のところほとんど無いことから、削除致しました。

問題点は、PostgreSQLのインストールが出来ない。というところ。
方法は複数あるのですが、

/usr
にインストールする為にはTerminalから実行しないといけません。

Terminalから実行することは、全く問題なく経験もあるので良いのですが、
./configure
を実行する時に、どうしても上手くいな来ません。

エラー内容を見ると、GCC4.0が原因の様なのですが色々なサイトを見て実験しても全く結果は同じ。
何が原因なのか現在突き止めているところです。

それが終わり次第まとめて再度投稿したいと思います。

2008年4月15日

【メモ】Bloggerの情報サイト クリボウの Blogger Tips

Bloggerを初めて使ってみたのだが、機能が少ない事に今更気付く。
機能が少ないということは別に悪いことじゃない。今まで色々なBlogを使ってきたが、カスタマイズがデフォルトでそれなりに出来る物よりも、色々な物を組み合わせて、完成させていくほうが逆に出来ることが多い。

でも、今まで使ってきたカスタマイズが出来るBlogというと、Bloggerのようなレンタル式では無く独自ドメインで使用するような物がほとんど。どのようにして改造していったら良いのか分からず、調べで見たら便利なサイトが出てきた。

クリボウの Blogger Tips
その中でいくつか便利そうな物をメモとしてピックアップしておこう。

  1. コードをハイライトする「Code Prettify」ウィジェット

  2. Blogger で画像の表示サイズを変更する方法

  3. Blogger でも Google Sitemaps

  4. Google ウェブマスターツールに投稿を 500 件登録する方法

  5. Google ウェブマスターツールに全投稿を登録する方法

  6. 投稿編集画面を広くするユーザースクリプト「Blogger Large Post Editor」

  7. ラベルページの投稿表示数を指定する

  8. Blogger で LaTeX 数式を挿入するための Greasemonkey スクリプト

  9. Blogger in draft

  10. Blogger でも Yahoo! Site Explorer

  11. 新 Blogger のエラーコード一覧ブログ

  12. 新 Blogger のフィード URL とパラメータ

  13. BlogPeople に更新 Ping を

  14. Blogger でもトラックバック - HaloScan


・・・と、何やら参考になりそうな物が沢山ある。
Bloggerは旧Bloggerと呼ばれるような物もあるので、実際今のBloggerのバージョンに役立つ情報はどこまであるのか分からないが、去年の記事まではあさってみた。14番目のTrackBackの記事は検索で見つけた物。

クリボウの Blogger 入門
こちらも便利そうなので、時間を見つけて見てみよう。



追記
使ってみようと思ったのですが、なんですかね。これは…。