フェムトセカンド #七味とーがラジオ / @melonsode

The Destination is unknown. The Journey is the Reward.
Author: 野澤真一 / NOZAWA Shinichi , version 2.0220330 / Podcast: 七味とーがラジオ / twitter: @melonsode

CPAN CPAN CPAN!

| | トラックバック(2)

カテゴリ:

クパン。CPAN。CPAN。
しんいちはCPANを覚えた。てぃろりろってぃってぃってぃ〜

Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー

***

今日はオフだったので、強気で2回洗濯をした。
たまってた下着類とかさばる服を全部干せた。

それで、今日の午後はたっぷり時間があるから、
研究にいそしもうと思ったのだが、
GoogleAnalyticsWidgetが動かない理由が気になって、
ふたたび手をつけてしまった。
したら、もう夜だし。
ああ、バカだ。

***

当初、GoogleAnalyticsWidgetが動かないのは、
モジュールが足らないからだとか、
IDやパスワードの設定がおかしいからで、
つまり、プラグインのソースに問題はなくて、
そのソースがちゃんと動く環境にしてやれば動く、
という認識の元作業していた。

だけど、その認識は改めた方がよいという疑いが、
段々と確信に変わってきている。
おそらく、GoogleAnalyticsWidgetはMT4.1では動かない。

ひとつには、googleにデータを読みにいく際のURIが
このウィジェットが公開された当時とは変わっている可能性が大。
というかたぶん変わってる。

もうひとつは、ダッシュボード・テンプレートの書き換えが
うまくいってない。
前の記事にも書いたけど、テンプレートの一部を
正規表現で探してきて、そこを置換するという処理で、
テンプレートを書き換えようとしているが、
正規表現でマッチする部分がない。
これはおそらくMT4.0がMT4.1になったときに変わってしまったのでは
ないかと思われる。

***

というわけで、プラグインのコードをまったくノータッチで
このGoogleAnalyticsWidgetを動かすのは無理っぽい。
そうしたら、書き換えなきゃいけない。
てか、自分で一から書くのとあまりかわらない気がしてきた。

このWidgetを実現するのは実はそんなにむずかしくない。

1.GoogleAnalyticsにログインする。
2.アクセス解析のXMLを取得する
3.XMLのデータから訪問者数の部分を抜き出して、整形して保存
4.ダッシュボードに表示

これをもっと詳しくいうと

1.LWP::UserAgentのインスタンスを生成し、GoogleAnalyticsにログインしてCookieを保持
2.そのエージェントにXMLを取得させる
3.XML::SimpleにXMLを食わせて、整形したものをmt-static/support/dashbord/0/006あたりにgoogleanalytics.xmlとか名前を付けて保存
4.blog_statsのタブを参考にダッシュボードに表示するためのテンプレートをつくってcallbackで読ませる

ということだ。

1,2,はもうできる。
3,はたぶんできる。
問題は4で、まだ、callbackやMTのテンプレートについて理解していないので
模索中。

***

一から書くといっても、GoogleAnalyticsWidgetのlib/Analytics.pmは
それなりに使えそう。
オブジェクト指向で書かれていて、
Perlでオブジェクト指向には慣れていない自分にとって
いい勉強になった。

***

今日、CPANでXML::Simpleをインストールした。
感動だ。
CPANのモジュールを自分が使うなんて、
縁遠い話だと思ってた。
でも使えた。

たとえばCrypt::SSLeayはこんな感じ。

sudo cpan install Crypt::SSLeay

そうすると、パスワードを聞かれるので、
このMacのrootのパスワードを入れる。
(アプリケーションをインストールするときなどに聞かれるやつ)

はじめてcpanを使おうとしたときは、
すこし躓きそうになったが、
てきとうにチコチコとEnterキーを叩いたり、
ftp://ftp.....
などとcpanが接続するftpのアドレスを入力したりしたら
動いた。

FTPのアドレス:cpanの設定変更

おそらくCPANのバージョンが古かったので、
FTPのアドレスを入力しなきゃならなかったが、
バージョンが新しければいらないだろう。

次に入れようとしたのがXML::Simpleモジュール。
ところが、これは

sudo cpan install XML::Simple

だけではうまくいかない。

Mac OS X に XML::Parser と expat をインストール - Daio Today

libexpatというのが必要らしいが、それって何かしらない。
とりあえずDLする。
Daio Todayさんのとこには

「解凍して、ディレクトリに入る。
makeはデフォルト状態で特に問題なし。」

と、さらっとしか書いてない。
DLしたあと何をしたらいいかわからない。

とりあえず、DLしたファイルを解凍。
それからターミナルを起動して、

cd フォルダ

で、解凍してできたフォルダに移動。

んで?
「./configure」って打てばいいわけ?
打ってみた。
したら、ターミナルに文字ががーっと流れていき、
新しいファイルが次々できる。
これでよかったらしい。
それからmekeとかした。
(いまだにmakeコマンドが何をするものなのかわからん)

で、もう1回、XML::SimpleをCPANする。

できた。
ついにオレもCPANするよーになったどー
ということで冒頭のリンクに戻る。

Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー

今はレベル6と7の間ぐらいでしょうか?
レキシカル変数とダイナミック変数の違いとか知らないですが。

「レベル6: Perl の講習を受けている人もいる。
オブジェクトの使い方を知っており、
この知識とComprehensive Perl Archive Network(CPAN)を利用すれば
強力なプログラムをすばやく作成できると知っている。
次のレベルに進んで、
この能力拡大がどこまで行くのか見たいと思っている」

次のレベルに進んで、
この能力拡大がどこまで行くのか見たいと思っている、
というのはほんとにそう思う。
CPANが持っているモジュールは本当にすごい。
最近になって使い出した
LWP::UserAgentとかXML::Simpleとか、すっごく便利で、
あんなことやこんなことが簡単に実現しそうだ、
というのがいろいろ湧いてくる。

プログラムが楽しくて仕方ない。
プログラマになった方がいいのかな?

トラックバック(2)

このブログ記事を参照しているブログ一覧: CPAN CPAN CPAN!

作成:2008-07-04 00:40:02 MovableTypeのプラグイン... 続きを読む

少し前にGoogleAnalyticsWidgetをMT4に対応させたものを公開... 続きを読む

プロフィール

月別アーカイブ

全アーカイブ

フェムトセカンド1.0


メールを送る(故障中)