トップ 最新 追記

どんぞこ日誌

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|07|08|12|
2007|01|04|08|12|
2008|01|02|03|04|06|07|08|10|11|12|
2009|01|02|04|05|06|07|08|09|11|12|
2010|01|03|04|07|08|10|11|12|
2011|01|02|03|04|05|06|07|08|10|12|
2012|01|02|03|05|06|07|08|09|10|
2013|01|02|07|08|09|
2014|08|09|
2015|08|
2016|06|07|12|
2017|01|03|08|
2018|03|
2022|03|
2023|03|
2024|02|

同人関連(どんぞこ楽屋) | 旧い雑文   


■2013-08-01

* Perl] CPANにあがってるJSON関連モジュール色々B!

JSON::XS とそれにまつわる歴史的な過去の話、まとめ。を読んで。昨日のお昼に某所でこの話題になって、Cpanel::JSON::XSやJSON::MaybeXSの話やらCPANにあがってるJSON関連のモジュールの話をしてました。せっかくだからモジュールの紹介をしてみようかと。
【追記】tokuhiromさんがツイートしてるように、今はJSONとJSON::XS/PPを使えば特に困ることはほとんどないと思います。


JSON::XS
後存知の通り、一番メジャーなXSモジュール。速い軽い。作者のリーマンさんが何かと話題になりますが、(割と)よい人です。あとjson_xsというコマンドツールがついてきて地味に便利。

JSON::PP
JSON::XSと*ほぼ*完全な互換性を持ったPurePerlなモジュール。遅い重い。作者のまかまかさんが夏コミにでるそうですよ? それはさておき、Perl 5.14から標準モジュールになったので最近のPerlをインストールすれば最初から使えるはず。あとjson_ppというコマンドツールがついてきて、地味に便利というわけではないけど、まあこれも最初から使えるという利点が。

JSON
最初にCPANに登録されたJSON関連モジュール。昔むかしは単体でdecode/encodeしてた。現在はJSON::XSがあればそちらを、なければJSON::PPを、それもなければ同梱のJSON::BackportPP(JSON::PPと同じもの)をバックエンドにして動作するAPIのラッパー。バージョン1.xから2.0になるときにJSON::PPを同梱してJSON::XSとAPIを揃えた。結果、色んな人から「いきなりAPIを変えるな!」とものすごく怒られた。

Cpanel::JSON::XS
tokuhiromさんのページで説明されているように、JSON::XSのテストが一時こけてたのに業を煮やして登場。JSON::XSからforkされた。ドキュメントでJSON関連のモジュールはたくさんあるけど、メンテナがちゃんとメンテしてないと書かれてます。すみません、すみません。特筆すべきはPerl 5.6でも動くという点。

JSON::MaybeXS
「JSONのサポートモジュールにCpanel::JSON::XSも入れてよ」といわれたのをほったらかしてたら登場した。Cpanel::JSON::XSかJSON::PPがバックエンドになる。

JSON::XS::VersionOneAndTwo
JSON::XSがバージョン2.00から2.01になるとき一部のAPIが変わった。のに怒った人たちがつくったラッパーモジュール。今使うことはないはず。

JSON::Tiny
Mojo::JSONから派生。PurePerlなモジュール。JSON::PPと違ってパース処理が正規表現なため高速。JSON::PPより2,3倍速いし、ファイルサイズも小さい。ただしオプションは少なめ。

JSON::DWIW
かなり昔からあるXSモジュール。使ったことないけど、色々できることが多そう。ここ数年アップデートされてない。

JSON::Parse
このモジュールの作者の方がJSON::XS/PPの文字列処理がおかしいというレビューをされたので、使い方が悪いのではと返事をした結果、自作された。decodeのみだけどXSモジュール。JSON::XS/PPとUNICODEの取り扱い方が違う。

JSON::Syck
YAML::Syckに同梱されてるXSモジュール。歴史は古いが、現在では代わりにJSON::XSを使うようドキュメントに書かれている。

JSON::Any
JSON, JSON::XS, JSON::Syck, JSON::DWIWのいずれかのラッパーとして機能する。各モジュールでメソッド名がバラバラだった時代(今でもバラバラだけど)に需要があった。最近JSON::PPとCpanel::JSON::XSにも対応。


だいたいこんな感じかしら。他にもJSONフォーマットを利用したモジュールがたくさんあるけど、ここではdecode/encode用のものということで。

[]

■2013-08-07

* [近況] YAPC::Asia 2013で同人(非電源)ゲームのトーク&ブース出しますB!

 来月はいよいよエンジニアのお祭りYAPC::Asia Tokyo 2013ですね。チケットの販売は8月11日までだそうですので、参加予定の方はご注意を。
 さて今年も性懲りもなく技術的なこと一切関係なしのトークに応募しました。仏の顔も三度までというので、さすがに今回は受からないかなと思ったのですが受かりました→地域PM紹介型ボードゲーム「PM(ぷむ)からの野望」の考案と実践 です。プレーヤーは地域PMになって会議室などを拠点にイベントを開催、参加者を増やし勢力を拡大させます。最終的には「三種の人気」を集めて武道館でライブ(コーディング)を行う…… という感じのゆるふわなゲームになったらいいかなと思います。ちなみにボードゲームじゃなくなる可能性大。もちろん、ちゃんと完成すればYAPCで頒布します。

 ということで、今年はYAPC::Asiaにどんぞこ楽屋のブースが出ます! 頒布物はこれ以外にも夏コミで頒布するものや、あと前回の冬コミで少数頒布した「新春初笑いPerlすごろく」とかも再版できたらいいかなーと考えています。会場では実際に「屋台」で出ますので、お祭りらしさを少しでも盛り上げられればと。ぜひブースにお越しくださいませ!

[]

■2013-08-08

* [近況] 夏コミ参加!B!

 直前での告知ですが、C84の2日目(日曜日)東R15a「どんごこ楽屋」で参加します。頒布物は恒例の『Acme大全2013』。



 CPANにあがっている479個のAcmeモジュールの紹介と、素晴らしい(?)初心者向けPerl入門の章がついています! えーと、去年の表紙だと買いづらい、会社に置きづらい、という声に応えて、すごぶる健全なものになっております。頒布価格は据え置きにしたかったのですが、370ページになってちょっと値上がりせざるを得ませんでした。ごめんなさい。その代わりにおまけをつけることにしました。



「はくめたいぜん」とお読みください。タイトルだけ思いついて「これだ!」って思ったのですが、中身はまだ考えていないというね…… なんとか当日には間に合わせますので! ここまで書いて、この絵だとまた手に取れない人が出ることに気がつきました……

[]

■2013-08-21

* [近況] 夏コミ参加の報告B!

 C84にサークル参加してきました。



 おかげさまで『Acme大全2013』完売しました。ありがとうございます。前回述べた「おまけ小冊子」ですが結局『10日でおぼ えきるPerl』というものになりました(『白目大全』はあまりにあまりなのと内容が思いつかなかった)。こちらは急にPerlを覚えなければならなくなった主人公のダラ子が姉者にPerlを教わり10日でCPANオーサーになる……という話だったらよいのですけどもね! もう少し内容ちゃんとして電子書籍版出します。



 今回結構誤字脱字が多かったので、正誤表を用意してあります。他にもたくさんpapixさんが見つけてくれました。ありがとうございます。「10日で……」の方もかなりたくさんあって、両方ともおいおい正誤表に反映していきますので。それにしても「どんぞこ楽屋」が「どんどこ楽屋」になってるのにはうけた!

 あとYAPC::Asia 2013の宣伝も勝手連的にやりまして、興味を持つ方も結構いらっしゃったのですが、なにぶんチケット販売締切当日だったのが残念でした。

 『Acme大全』(+『10日でおぼ えきるPerl』)はYAPC::Asia 2013でも頒布できればなあと思ってますので、見かけたらぜひ声かけてくださいね。また通販もやっていますのでどうぞよろしくお願いします。

[]