調子良い人のブログ

I'm Feeling Good , And You ?

YAPC::Asia にはじめて参加した

去年は TOUR DE JAPAN に参加して、途中で参加を断念した YAPC::Asia に初めて参加することができました!

f:id:ctyo:20120928115042j:plain


Perl書くときに参考にしているページを作っている人とか、普段使っている CPANモジュール を作った人とかでいっぱいでインターネットが現実化したみたいなように感じられました。
特に LarryWall に直接会えたのがミーハーではありますが、嬉しかったです。

f:id:ctyo:20121001214645p:plain


発表している人たちはコーディングは魔法使いだし、プレゼンも最高に上手いので2日間で飽きることはありませんでした。どうしたらこうなれるんだろう。
一番心に響いたのは、他の言語の良い文化はどんどん盗みましょうということでした。今は会社で PHP書いてるけど、良い所どんどん探したい。



来年はPerlじゃなくてもなんらかの形で発表できるようにしたい

FSWikiのプチプラグインを書いた.

大学の時からかなりFreeStyleWikiを使ってきました. コンパクトにPerlだけ作られているので, ちまちま改造させてもらったり, かなり便利に過ごさせてもらってきました.

ただ最近公開されているプラグインの投稿が少なかったので, 手軽に書けるものを投稿してみました.
ちょっと作者になった気分ですね(笑). 投稿したのは以下の2つです.

BugCloud

TagCloudみたいに現在BugTrackPluginで管理しているバグリストをTagCloudみたいに表示します. それだけです.でもバグの見逃しとか全体の把握が出来るので便利だと思います.
f:id:ctyo:20120724224906p:image

Markdown

こっちはwiki記法ではなく流行りのMarkdown形式での記入を可能にするものです.
ただ中身は文字列をText::Markdownに渡してるだけです. fswikiのwiki記法はサポートしている表現があまり多くないので便利だと思います. JavaScriptでの脆弱性があるんじゃないかと思ってますがよくわかってません.


小さいサーバにwikiとか作る人は使ってみてください.
あと私はことわざプラグインとかが好きです. 使用は自己責任ってやつですね.

追記

gist 使ってみた

jQueryのgetJSONメゾットで詰まった.

ナルホド香川大学でリリースしているナルホドテレビの次期バージョンとしてHTML5を使って開発することにしました.
f:id:ctyo:20091111162829j:image:medium:right

そこでcgiに問い合せて再生リストのリストをJSONで返すようにしていたのですが,PerljQueryのデータの受け渡しで詰まるところが多かったのでメモします.

詰まり所

ajaxメゾットと違う点
データにヘッダ的なものを付ける必要がある点
cpanのJSONでencode_jsonしたままの形式だとjQueryがJSON形式のデータとして扱ってくれない点

ajaxメゾットと違う点

クロスドメインでは対応しないよということが分かったのでgetJSONを使うことに.2つの違いが以下

データにcallback用のヘッダ的なものを付ける必要がある点

ajaxの時はそのまま以下のような形で送ればデータとして読み込んでくれたのですが,getJSONではcallback用のヘッダ的なものを付ける必要があるとのことでした.

 ajax: ["hoge", "fuga","foo", "bar"]
 getJSON: jQuery123456777["hoge", "fuga","foo", "bar"]

cpanのJSONでencode_jsonしたままの形式だとjQueryがJSON形式のデータとして扱ってくれない点

PerlのJSONモジュールのencode_jsonをドキュメント通りに配列のリテラルを渡すようにすると,以下のように書き出される.

#!/usr/bin/perl
use strict;
use JSON qw/encode_json/;

my @array = qw();
my $json = encode_json(\@array);
print "Content-Type: application/json; charset=utf-8\n\n";
print $json;
jQuery123456777["hoge", "fuga","foo", "bar"]

が,jQueryがJSONだとして取り扱ってくれないので,カッコをつけるようにしました.こんなのでいいのか....

print $callback.'('.$json.')';
jQuery123456777(["hoge", "fuga","foo", "bar"])

そんなこんなで3時間ぐらいはまってしまっていました.しょーもなっ
f:id:ctyo:20110617211606p:image
画像はfrickerのapiが返してくるデータ,これを参考にコードを直しました...
参考
http://www.ibm.com/developerworks/jp/web/library/wa-aj-jsonp1/#jquery_support
http://search.cpan.org/dist/JSON/lib/JSON.pm#encode_json