あたらしものずきっ!

試してみたものとか、遊んでみたものを色々記してみます。

Perl

書いてるTestの変移

Testを書く度に色々と手間を省いたり、分かりやすくしたくなっていき、こんな経過を辿った。Test::Simple -> Test::More -> Test::Class-> Test::Class::LoadTest::Class::Loadを使う時にはちょっとだけ注意が必要で、テストケースの拡張子がtではなくpmでな…

OSX Leopard で Terminal から TwitterにPOSTする

TwitterにPostするために専用クライアントへ切り替えるのが面倒になってきたため、投稿用に書いた。文字化けを防ぐために、Encode::Guess使って判定してる。 #!/usr/bin/perl use warnings; use strict; use Encode::Guess qw/shift-jis euc-jp 7bit-jis/; u…

Module::Setupのflavorをつくってみる

Module::Setupで自分色に染めるためにflavorを作ってみた。 sudo cpan -i Module::Setup .... .. module-setup --init haoyayoi flavorというのは、モジュールを新規作成するためのひな形のようなもの。毎回モジュールを作成するたびに書き加えたりすること…

iPhoneにpushするApple Push Notification Serviceなコードかいてみた

とりあえず動くこと最優先。実務に使うにはやばい出来です。Moose使ってNet::APNSなモジュールに書き直してる最中。phpのサンプルが文字コードに触れてなかったので、その部分手を抜いたら大やけど。pushで送られるpayloadはunicodeのようです。まぁ、当たり…

OpenSSLにはIO::Socket::SSLではなくNet::SSLeayらしい

Apple的なお仕事絡みでperlからOpenSSL弄る方法探してたけど、どのモジュールなのかよくわからなかった。一通り考えられうるモジュール使ってコード書いてたけど、専門書籍によればNet::SSLeayが最適解らしい。OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細―…

テストで悩む

お仕事で、自動テストで手間省きとばかりにTest::More使ってみた。TODOは正直都合よすぎる処理だと思う。書いていて悩むのは、テストの分け方。それぞれテストする内容毎にtファイルを分けているけど、「これとこれは一緒にしちゃっても問題ないか」とか、「…

Catalystで遊んだり仕事したり

会社と自宅の両方で、それぞれアプリケーションをCatalystで作成中。参考にしてるリンクを幾つか。 Catalyst チュートリアル - 第2章 Catalystによるアプリケーション開発 Catalyst::Manual::Intro - はじめてのCatalyst model、view、controllerを夫々作っ…

1983ersなOPML

1983パーリィ!参加者リストが出来上がっていた。見てみると、いい具合にBlogURLが並んでいるので、「Plaggerで「Perler in Japan」なOPMLを作った」からソースを拝借して作ってみた。http://haoyayoi.sakura.ne.jp/1983ers.opml においてます。 plugins: - …

Arkをいじった

どういうわけかローカルで動作しない問題が解決しないので、やむなく直接さくらサーバにインストール。会社にて進行中のプロダクトをperlで組む事にしたので、試しに開発環境へArkをいれてみた。が、XML::LibXMLを使ってみたところXML宣言しか出力されない。…

Arkはじめ

でたばかりのフレームワークを試さない手はない、と思ってインストール。ただ、やっぱりすんなりいかない。連載みたいな表示がでないことはもちろん。 Result: PASS /Users/haoyayoi/Ark-0.001000_001/. /usr/bin/make test -- OK Directory '/Users/haoyayo…

Google SpreadSheetからSQLiteに出力する

お手軽にiPhone上からデータをいじれた上で、アプリ向けにそのデータを配信する方法はないかと模索したところ、この組み合わせになった。 Net::Google::Spreadsheets DBIx::Class 最初はSQLiteにDBIで出力を考えたけど、モダンにDBIx::Classを使うことにした…

SakuraでHatena::Bookmark Web Hook

なんかTwitterにWebHookでPOSTするのがはやってるぽいからやってみた。コードは下記から頂いた。 404 Blog Not Found:API - Twitterfeed から Hatena::Bookmark Web Hookへ Sakuraでは、特にいじってない場合、cgi形式にした後でchmodにて755なりにする必要…

nicocache_nlのキャッシュ名からhtmlタグをけす

たまたまconfig.propertiesの指定がミスってたのか、cacheファイル名にhtmlタグが混じってしまっていたのでワンライナーで駆除った。 perl -le 'my @allfile = glob "*"; foreach my $var(@allfile){my $rename = $var;$rename =~s/<.+\./\./;rename $var,$…

再度Catalystを入れ直し

OSをリカバリしたので、Catalystを入れ直してる最中。以前はすんなりいったはずのインストールでちょっとはまったのでメモ。HTML::FormFuのインストールで下記のエラーがでてこけた。 t/filters/formatnumber.t ................................. 1/3 # Fai…

Security Update 2009-001の対処をおこなった

Encode object version 2.12 does not match bootstrap parameter 2.26... な表示がNanoAとMENTAを入れようとする度に出てたので放置してたけど、MacOSX: Security Update 2009-001 で Perl がこける。Encode がぁ〜を読む限り/System/Library/Perl/5.8.8/以…

DBIx::Classの練習

perlでのO/R マッパーについてさっぱりだったので、触ることにした。use DBIx::Class 今日のCPANモジュール そもそもO/Rマッパーって何 そもそもO/Rマッパーという用語そのものを意識した事がなかったので、どういうものか確認。 O/Rマッピング(=Object / …

modelを追加してみる

modelを追加してみた。作成に当たってまとまってるエントリが見つからないので、どうしようか迷ってたけど、とりあえずCatalyst::Helper::Model::DBIC::Schemaを参照してみた。 %perl script/itscontact_create.pl model AppNames DBIC::Schema AppNames::DB…

viewを追加してみる

Controllerを作ったので、今度はviewを追加してみる。 %perl script/itscontact_create.pl view TT MyApp/root 以下にテンプレートを作成。index.ttとしておく。 MyApp/root/index.tt <p>[% title %] - index - </p> コントローラを編集。 MyApp/lib/iTSContact/Con…

Catalystふれはじめ

軽量フレームワークは安定してる訳じゃないと思うので、思い切ってちょっとハードル高めかもしれないCatalystに触る事にした。いい加減なにか一つのフレームワークを弄り尽くせるようにしておきたいし。 参考 PHP使いによるCatalyst初心者記事導入に必要なモ…

SakuraへのNanoAうぷ

ローカルで動かしてみたところ、tinybbsでDBIが見つからないらしくエラーがでる。 Can't locate DBI.pm in @INC (@INC contains: extlib app lib MENTA/lib MENTA/extlib /System/Library/Perl/5.8.8/darwin-thread-multi-2level /System/Library/Perl/5.8.8…

簡単なNanoAでの書き方

NanoAを使った書き方は公式サイトに載っているけど、pmファイルとmtファイルのネーミング等はHelloWorldが全てを物語っていることに弄った後気がついた。詳細はNanoA::Dispatchに。 NanoAの読み込み HelloWorldがstart.pmとstart.mtを使っているのを見て、「…

NanoAでiPhoneアプリサポートサイトを作ってみることにした

ブログ上の1エントリにサポートコンテンツをつくってはみたものの、URLがぱっとしないのが気に食わなかった。なのでブログ上のエントリではなく、一コンテンツとして別に立ち上げることにした。Catalystとか習熟のいい機会かなと思ったけど、そこまで大げさ…

モダンperl入門読書中

オブジェクトについて読み進めているところ。Mooseについてはプロパティしか知らなかったけど、奥深い機能があった事を知ることが出来ただけでも現時点では大きな収穫。目次見る限り、知りたかったことが全部記されているため、読了する事が現時点での課題。

Perlのサンプルコードのメールマガジン

id:perlcodesampleさんのRSS伝いで見つけた。 perlのtipsには「Perlで書く」がいいかも 最初メールマガジン登録したけど、RSSフィードがあるかどうか調べるためにLDRに登録してみたらいけた。まぐまぐがRSSに対応してるなんて知らなかったから、この際メール…

モダンperl入門を注文した

Amazonでぽちっと。ネットだとお金掛からずに情報引いて来れるけど、やっぱりすぐに索引できる資料として書籍はほしい。

Yacafiの01_podspell.tのテストが一部とおるようにしてみた

テストとおらなくても動いてたのでスルーしてたけど、MENTAをmake testしてみたらきれいにパスしたので、加筆してみた。MacでYacafiをmake testすると、以下の状態になってた。 t/00_compile........ok xt/01_podspell......sh: spell: command not found Di…

Litchey.cgiの過多エラーっぷり

Apacheのログをたどってみたところ、Yacafiで結構な数の警告が出てたため、正規表現部分に未定義判定を少し加筆して抑えた。ハッシュにしてテンプレートに渡していたけど、どうもハッシュ生成時にこけまくってるらしく文字列が渡されてない。根本的な処理の…

CPAN Author になれた

Perl Authors Upload Server からメールが来ていて、CPAN Authorになれたことを確認した。

Yacafiをつかって掲示板をこしらえてみた

Yacafiを使って掲示板をこしらえてみました。そこらへんにあるレンタル掲示板より正直低性能ですが、あくまで学習用途なので。do_*から処理を行い、&_template_param_buildにてそれぞれのテンプレート差し込み用変数をまとめてハッシュとして、templateに流…

Yacafiのデバッグモード

$Yacafi::DEBUG = 1; とすれば動いた。てっきり/dieすれば勝手に表示されると思い込んでいた…。 #!/usr/local/bin/perl use strict; use watnings; use Yacafi; $Yacafi::DEBUG = 1; dispatch; . .. ...