Home > Perl Archive

[ << < 1  2  3  4  5  6  7  8  9  10  11 >> ]

Perl Archive

MTOS ちょっとづつ (15)

MTOS ちょっとづつ (14)

  • MT::Plugin::HikiDoc で escape_html してるので、グローバルフィルタかけると場合によってはおかしくなる ( &lt; が &amp;lt; になるってことね)
    • MT::Plugin::HikiDoc::Plugin だけ抜き出して他のフォーマットで使うのが Wikish ってことにするかなぁ。。。
  • AutoPagerize が 3 ページめ以降効かんのは、まだ放置中
  • 「日記」なんで日別アーカイブとか長年日記とか欲しいんだけど、再構築重たいなぁ。。。ちょっと再考
  • とかやってるうちに、2008/05 くらいまでコンバート終わり

7 月中くらいには FSWiki から MT に移行して、作ったプラグイン全部公開したいもんだ

MTOS ちょっとづつ (13)

約 4 ヶ月放置してたように見えるが、そんなに放置してたわけでもなくて、

  • MT::Plugin::HikiDoc はほぼ完成だと思う
    • でも footnote を数字連番にしたのは失敗だったかなぁ。。。
  • Text::Wikish というライブラリと、MT::Plugin::Wikish 作った
    • Text::Wikish::Plugin として amazon、gmap、amap、mp3 等作った。gmap は要改良
  • Safari 4 になって、今まで通りだと AutoPagerize が 3 ページめ以降効かん。そのうちタグ見直す
  • カテゴリアーカイブが大変なことになってたので、PageBute いれた
  • とかやってるうちに、2007/07 くらいまでコンバート終わり

そろそろ作らなあかんプラグイン減ってきたな。次は長年日記だな

CPXXXAN プロジェクト

http://googlewhacks.blogspot.com/2009/06/perl-cpxxxan.html

Mint's log で紹介されていた。こういうのはすばらしい

このようなやり方で古いPerlのユーザーを救済するやりかたは美しい

御意

Net::Domain::ExpireDate とりあえず patch 送った

ひさびさに英語書いた。どんな単文でも、ふだんやらんことはしんどいな

OSX の Net::Domain::ExpireDate を .jp でも使う

仕事中にNet::Domain::ExpireDate使おうとしたら、対応コード入ってるっぽいのに .jp で使えなかったので、別の方法で解決したんだが、気になるので、ちょっとやってみた

Leopard だと strptime() が LANG=C じゃないと null 返すのでハマったが、それは後で調べる

Net::Domain::ExpireDate はいじらずに、そのまま使う

use strict;
use warnings;
use Net::Domain::ExpireDate;
use Encode;

my $domain = "haro.jp";
my $whois = Net::Whois::Raw::whois($domain);
$whois = encode('iso-2022-jp', $whois);
my $expdate = expdate_fmt($whois, 'jp','%Y-%m-%d');

print $expdate,"\n";

Net::Domain::ExpireDate にパッチ当てる

でも、こんな感じで普通に使いたい

use strict;
use warnings;
use Net::Domain::ExpireDate;

my $domain = "haro.jp";
my $expdate = expire_date( $domain, '%Y-%m-%d' );

print $expdate,"\n";

さらに、Net::Domain::ExpireDate は、.co.jp や .ne.jp だと使えない
つうわけで、こんな感じ

--- ExpireDate.pm	2009-04-08 17:23:06.000000000 +0900
+++ ExpireDate.pm.new	2009-06-02 22:31:18.000000000 +0900
@@ -124,6 +124,9 @@
     if ($tld eq 'ru' || $tld eq 'su') {
 	return (dates_int_ru( $whois ));
     } else { # 'com', 'net', 'org', 'biz', 'info', 'us', 'uk', 'cc'
+        if ( $tld eq 'jp' ) {
+            eval {$whois = Encode::encode('iso-2022-jp', $whois) if Encode::is_utf8($whois);};
+        }
 	my $expdate = $flags & FLG_EXPDATE ? expdate_int_cno( $whois ) : undef;
 	my $credate = $flags & FLG_CREDATE ? credate_int_cno( $whois ) : undef;
 	return ($credate, $expdate);
@@ -276,6 +279,8 @@
     # [whois.jprs.jp]                   [....]                      2006/12/31
     } elsif ($whois =~ m|\[\x1b\x24\x42\x4d\x2d\x38\x7a\x34\x7c\x38\x42\x1b\x28\x42\]\s+(\d{4})/(\d{2})/(\d{2})|s) {
         $rulenum = 7.4; $Y = $1; $m = $2; $d = $3;
+    } elsif ($whois =~ m|\[\x1b\x24\x42\x3e\x75\x42\x56\x1b\x28\x42\]\s+Connected\s+\((\d{4})/(\d{2})/(\d{2})|s) {
+        $rulenum = 7.4; $Y = $1; $m = $2; $d = $3;
     }

本当にこれでいいか、もうちょっと考えてからパッチとテストケース送ってみる

そうか、Connected とは限らんわな - ひげまる (2009年06月03日 20時25分10秒)
とりあえず報告してみた - ひげまる (2009年06月03日 21時57分34秒)

Google Analytics API を Perl で使ってみる

世間から五周回遅れくらいで、Google Analytics の API を使ってみるよ

実際使う分には JavaScript で、Developer's Guideにある通りにやればいいんだけど、Perl のサンプルがなくて寂しいので、書いてみた

Net::Google::AuthSub とか使えば、前半部分はもっと簡単になりますな

#!/usr/bin/perl

use strict;
use warnings;

use LWP::UserAgent;
use XML::FeedPP;

my $email = 'your_analytics_id';
my $pass = 'your_analytics_pw';
my $ids = 'profile_id';

my $ua = LWP::UserAgent->new;
$ua->env_proxy;

# get token
my $auth = $ua->post('https://www.google.com/accounts/ClientLogin',
                    {
                     Email => $email,
                     Passwd => $pass,
                     service => 'analytics',
                     source => 'LWP-UserAgent',
                     accountType => 'HOSTED_OR_GOOGLE'
                    }
                   );
die 'auth:'.$auth->status_line unless $auth->is_success;
my ($token) = $auth->content =~ /Auth=(.*)/;

# get result (atom)
my $url = 'https://www.google.com/analytics/feeds/data?'
    .'ids=ga:'.$ids
    .'&dimensions=ga:requestUri'
    .'&metrics=ga:pageviews'
    .'&sort=-ga:pageviews'
    .'&start-date=2009-04-01'
    .'&end-date=2009-04-30'
    .'&max-results=5';
my $req = HTTP::Request->new( GET => $url );
$req->header('Authorization' => 'GoogleLogin auth='.$token);
$req->content_type('application/atom+xml');
my $res = $ua->request( $req );
die 'data:'.$res->status_line unless $res->is_success;

# parse atom data
my $feed = XML::FeedPP->new( $res->content );
for my $item ( $feed->get_item() ) {
    print $item->{'dxp:dimension'}->{'-value'},':',$item->{'dxp:metric'}->{'-value'},"\n";
}

JPA セミナー #02 in 大阪梅田(長文注意)

職場から近いので、JPA のセミナー行ってきた
例によって、レポートではなく感想。。。。だけど、ちと長いよ(主に自分の Perl とのかかわり方的な文章)

  • 人少な! みんな、Perl 好きなんじゃなくて、はてな好きなんだろ?
  • Catalyst 力と英語力と、両方不足し過ぎ。英語読むだけならなんとか。。。とか言うてる場合じゃない
  • Moose はなんとなくしか知らないブツだったが、大変よくわかった。触ったことない者にとっては、あれよりわかりやすい説明はなかなかないと思う
  • Shibuya.pm 界隈のとんがった人たちはスゴイもの作ってすぐ飽きるらしい
  • 牧さんは気さくな方だった。もっと威圧感のある方と想像していた。ごめんなさい
  • 一緒に呑みにいった人たちも、みなさん気さくな方たちだった
  • 呑みの席で J に話しかけれる程度の英語力は必要だなぁ、と思った。猥談ならなんとか。。。とか言うてる場合じゃない

で、酔っぱらた頭で帰り道に考えたことは、

Shibuya.pm 周辺の方たちは、すごく濃ゆいことをすごい速さでやって、Perl 界隈を世界レベルで盛り上げてくれる

JPA 周辺の方たちは、今後きっと「受注して Perl で作って納品して」とか「自社開発の Web サービスを Perl で」とかいう、会社としてのメイン業務になるくらいの、比較的大がかりなあたりで、日本国内の Perl 界隈を盛り上げてくれる。Catalyst とか Moose とか FCGI とかの話は、すごく納得がいく

で、自分が Perl を使い始めてから今までいた世界は、もっと小さな世界で、5 を使えなくて 4 でとか、5 標準モジュール + Jcode.pm しかないとか、FTP しか使わせてもらえなくてローカルでコンパイルして FTP でとか、あまり嬉しくない制限のある環境。わりと最近も 5.6 な環境があったり

そういう環境は別に嫌いじゃないし、選択肢が自然と CGI::Appication だったり、フレームワークを自作したりということになるが、それもまた嫌いじゃない。環境にあまり文句を言わないので周りに重宝がられたこともあるしね。最近は、MT のことはけっこうわかってきた。MT 動かないレンタルサーバは少ないので便利。動かなければ自作フレームワークの出番

何が言いたいのかというと、自分でもあんまし考えが整理できてないんだが、Catalyst や Moose も魅力的だけど、nanoa や MENTA の世界が自分の居場所だなぁ、と。CGI だなぁ、と

自分はそういうところで、あまり予算のかけられない人や場所で、そんな大掛かりな仕組みではないけどそれがなくて困っている誰か、その人の喜ぶ顔が見たくて、その道具としてこれからも Perl を使いますよ。昭和も平成も笑顔は同じ

あ、Moose は楽しそうなので、プライベートではさわる

。。。というような事を考えるきっかけになった JPA セミナーは、今後も機会を作って参加したいし、手伝えそうならお手伝いします

MT に投稿すると同時に

Twitter に通知するプラグインなんか、絶対あるよね? と思ったらやっぱりあった。日記を MT に移行したら Wassr 用作ろ

MTOS ちょっとづつ (12)

  • 作ったはいいもののまったく使ったことがない「高橋メソッドプラグイン」、Movable Type に移植するかどうか。。。しばらく放置
  • Google Map プラグインも、MT だし、そのままタグ貼ればいいか?
  • alpslab は、本家でプラグイン配布してたな、確か
  • とかやってたら、とりあえず 2005 年分まではなんとかコンバートできたっぽ

[ << < 1  2  3  4  5  6  7  8  9  10  11 >> ]

Home > Perl Archive

Feeds

Return to page top