2011-01-01から1年間の記事一覧

Perlモジュールの依存ツリーを視覚化するツールを作ってみた(途中)

http://metacpaninfoviz-jaqqcx56.dotcloud.com/ 仕様 左上のテキストにモジュール名を入力してsubmitすると依存ツリーを表示します。 依存ツリーはMetaCPANから取得しています。*1 視覚化にはJavaScript InfoVis Toolkitを使っています。 ToDo ソースコード…

AdventCalendar2011ビューにはてブ数とかカレンダーランキングとか追加

http://adventcalendar2011-jaqqcx56.dotcloud.com/ UI変更点 タイトルが切れていたのを直した URL毎のはてぶ数を表示するようにした 需要あるかどうかわからないけどカレンダー毎のランキングも集計するようにした ランキングにスコアを表示するようにした …

AdventCalendar2011のスマホビューに簡易お気に入り機能追加した

http://adventcalendar2011-jaqqcx56.dotcloud.com/AdventCalendar2011のスマホビューに簡易お気に入り機能を追加しました。 お気に入りはローカルストレージに保存しますので履歴消去するとなくなっちゃいますよ! お気に入り使い方 ①一覧でカレンダーを選…

AdventCalendar2011のスマホビューに「ランキング」を追加した

http://adventcalendar2011-jaqqcx56.dotcloud.com/全AdventCalendarの中でのURLランキングリストを追加しました。 ランキングの重み付けに使っているのは以下のリストです。 Facebookのいいね はてなブックマーク tweet数 単純にこれらをサマリしたものをラ…

AdventCalendar2011のスマホビューを作ってみた

なんか今年はいっぱいあるしスマホから見る機会も多いしDotCloudも使ってみたいしという適当な理由で作ってみました。 http://adventcalendar2011-jaqqcx56.dotcloud.com/ 環境 perl+Amon2+SQLite という構成でDotCloudに置いてます。 あとjquery mobile使っ…

perl俺得メモ

cpanmでインストールする時は、ファイル名のままでも可能 cpanm Plack/Middleware/AccessLog/Timed.pm Plack::Middleware::AccessLog::Timed を使うと、レスポンスタイムの記録が可能になる builder { open my $fh, "| /usr/local/sbin/cronolog /var/log/ac…

YAPC::Asia Tokyo 2011 に参加してきたお話

今回直前になって行けるかどうかが微妙になってたのですが、 無事に3日間行けました!とりあえずよかったー 今回のYAPCは新しい試みがいくつかあったようですが、すべて上手くいっていたのではないでしょうか。 そのくらい完成度の高いカンファレンスであっ…

AWS全リージョンの情報取得をperlで書いてみた

全リージョンの情報取得 (AWS x Ruby) の Python版を作ってみましたー aws.lefthandz.org こちらを拝見して「ほうほう、Perlでもあったら便利かなー」と思い VM::EC2でさくっと書いてみました。 スクリプト 使い方 # 環境変数を設定しておきましょう export …

Plack::Middleware::Pod::Site というモジュールを書いてみた

自作Plack/psgiアプリのPodをWebで見たいとは思いませんか!思いませんか… 中身なんですがPod::Site使ってパスをrewiteしてるだけなので 実はMiddlewareじゃなくていいかもしれませんね。 しかしMiddlewareでenableするだけでWebPod見れたら まあそこそこ便…

VM::EC2 EC2をコントロールするモジュール

cpan_newをぼーっと眺めてたら流れてきた。 http://search.cpan.org/~lds/VM-EC2-1.02/lib/VM/EC2.pm まだリリースされたばかりのようなのでなんとも言えませんが、 最新版のec2 APIに対応しているようですしなかなか良さ気です。 Net::Amazon::EC2にパッチ…

Amon2で遅延ロードされるモジュールを確認する方法メモ?

こんなんで合ってるのかな…? use してみたらきちんと共有されてるメモリは増えてた lib/App/Web.pm に以下の記述を追加して、遅延ロードされるモジュールを確認 チェックスクリプト(Starlet) 参考 http://bayashi.net/wiki/perl/app_cow

サイトのクローリングにはScrappyがすごくいいかもしれない

クローリング楽しいですよね! perlで高速にクロールしたいのであればGunghoなど使うのがいいかもしれませんが、 基本手軽にやりたいことが多いので WWW::Mechanize+Web::Scraper という組み合わせでクロールするのが定番でした。 しかしたまたま Scrappy を…

App::pmgrepバージョンアップ

https://github.com/toritori0318/p5-App-pmgrep新機能を2つほど追加しました。 追加されたコマンド pm-grep-inc pm-grep-project pm-grep-inc (@INC内検索) pm-grep-inc <search_string>そのままですね。 @INCに入ってるモジュールをackで検索します。 pm-grep-project (</search_string>…

ログモジュールのベンチマーク

主要なモジュールでベンチマーク取ってみました。 単純にファイル出力するだけの使い方にしてみました。出力フォーマットも統一しています。 Log::Dispatch Log::Handler Log4perl Log::Minimal バージョン perl 5.14.1 Log::Dispatch 2.29 Log::Handler 0.7…

plackアプリのステータスを表示するmuninプラグイン

Plack::Middleware::ServerStatus::Lite を利用して、 muninのグラフでplackアプリのステータスを表示するプラグインを書いてみました。 スクリプト 使い方 1. Plack::Middleware::ServerStatus::Liteを有効にしておく 2. /usr/share/munin/plugins に 上記…

実働日(営業日)を判定するモジュールを書いてみた

業務系のシステムに携わっている方には馴染み深いと思いますが、 「月初実働3日目に処理」とか「月末最終実働日に処理」とかよくある話ですよね。 この処理をしたい要件が出たのでcpanを漁ってみましたが 見つからなかったので書いてみました。 ソースコー…

東京の放射線量をIRCに通知するperlスクリプト

今更感がありますが。 最初はこちらの放射線APIを使わせていただこうかと思いましたが 何故か東京がなかったので別ページから。 都内の環境放射線測定結果(東京都新宿区百人町)に最新の放射線量が掲載されているようなので このページをスクレイピングして…

EC2へのssh接続を楽にするスクリプトかいた

EC2のインスタンスが増えてくるとssh接続が面倒になりませんか?僕は面倒です! そこで、少しだけssh接続が楽になるスクリプトを書いてみました。 スクリプト 前提条件 Net::Amazon::EC2 cpan上のNet::Amazon::EC2はAPIバージョンが古いためタグ名などが取れ…

電力供給状況をIRCに通知するperlスクリプト

東京電力電力供給状況APIからJSON取得してIRCに通知。 10分おきにAPIチェックして、更新されてたらIRCにsendします。 会社で使ってる。

Catalyst + Xslate + I18N::Handle で国際化対応してみる

CatalystだとCatalyst::Plugin::I18Nを使うのが楽みたいですが、 Xslateだと使えないようなので Text::Xslateのドキュメントを参考に自前で設定してみました。 (ちなみに今回の目的は国際化ではなく、ラベル等をファイル管理したかっただけという...) サン…

WAFLWAFLというモジュールを書いてみた

その昔、一つのアプリケーションで DBMSをまたがってシステムカタログやユーザスキーマ情報を検索/クエリ発行できる フリーソフト作ったりしてました*1その機能のひとつとして「DML文やカスタムテンプレートを出力できる」機能があったんですが、 そこだけを…

perlでFacebook Legacy REST API を使ってみる

Facebook::Graph を利用すればperlから簡単にFacebookAPIが扱えますね! http://helloperl.com/example_facebook.permalink http://d.hatena.ne.jp/sugyan/20101008/1286471717 しかし、Legacy REST API でないと扱えない情報もあったりするので もしかした…

App::pmgrepというモジュールを書いてみた

特定のディストリビューション*1内のモジュールを 文字列検索したい要件があったので作ってみました。 標準コマンドを駆使すれば出来るとは思いますが、 モジュールにしたらそこそこ便利ではないかなーと。 github https://github.com/toritori0318/p5-App-p…

外部APIを含めたWebアプリのテストをしてみる

外部APIを用いたWebアプリのコントローラテストについて。 たとえば 数値の2乗を結果として返すAPIサーバ があるとして、 そのAPIを利用した結果をHTMLとして出力するアプリケーション を考えてみます。 しかし、このように外部APIサーバを用いるとテストが…

cpanモジュールインストールするときに必要なRPM+α

perlのモジュールインストールするときに パッケージ依存してるものもありますよね! 今までの経験上、よく引っかかったり忘れたりするモジュール/RPMをメモ書きしてみる。*1 ちなみにパッケージ名はCentOS版となっております。 パッケージ依存 perlモジュ…

HTMLを解析し特定の要素以下のHTMLをそのまま取得したい場合

あけましておめでとうございます。 さて、HTMLを解析して 特定の要素以下のHTMLをそのまま取得したい場合。 こうですか!>< use LWP::Simple qw/get/; use HTML::TreeBuilder::XPath; my $content = get("http://d.hatena.ne.jp/tori243/20100123/12642633…