タグ

ブックマーク / www.donzoko.net (18)

  • YAPC::Asia 2011で発表します&Hachioji.pm #8 - どんぞこ日誌(2011-08-29)

    * [Perl][近況] YAPC::Asia 2011で発表します&Hachioji.pm #8 YAPC::Asia 2011のトークに応募していましたが、"Perl使いTRPGの考案と実践"が受かりました(もう片方のrejectされたものは"ithreads愛れさっず")。えー、タイトルではテーブルトークということなっていますが、実際には「Perl Mongerなりきりカードゲーム」の話になります。迫り来る納期と戦うためにCPANモジュールを駆使して立ち向かう……というコンセプトに基づくカードゲームです。なのでトークの内容はそれほど変わらないはずなのでどうぞご容赦を。恐らく今回のトーク中、一番技術的な話から遠い内容。 現在チケット発売中ですが、もうじき一旦販売を締切るそうです。参加したいとお考えの方はぜひお早めに! それから先週土曜は9回目のHahicoji.pmでした。第0回で利用

    kokogiko
    kokogiko 2011/08/29
  • ORM的なものでLEFT JOINしたカラムの値をRowオブエジュクトにまとめる - どんぞこ日誌(2011-06-08)

    * [Perl] ORM的なものでLEFT JOINしたカラムの値をRowオブエジュクトにまとめる タイトルが意味不明ですが。DBIx::Skinnyなどを使っててhas-manyな関係のデータをLEFT JOINしたりします。するとまあJOINで掛け合わせた分、Rowオブジェクトが複数個返ります。 # 著者authorと著作bookがhas-manyな関係だとして # SELECT a.id, b.id AS book_id, b.title AS title # FROM author a JOIN book b ON a.id = b.author_id # WHERE ... ... なんか色々あって my $itr = $skinny->search_by_sql(...); # この$itrを回すとbook_idとtitle以外 # (つまりid)は同じデータ while (

    kokogiko
    kokogiko 2011/06/08
  • 優れたPerlプログラマ(Acme的な意味で)を見分ける27の質問 - どんぞこ日誌(2011-03-01)

    * [Perl][Acme] 優れたPerlプログラマ(Acme的な意味で)を見分ける27の質問 えー、How to Identify a Good Perl Programmerの訳文「優れたPerlプログラマを見分ける27の質問」の日語訳の尻馬に乗ろうという寸法です。まあ、ご覧の通り、大失敗でした。 (※Acme::*を最大限利用すること) Perl5において名前空間のAcmeが示すものは何か blessを解除する際のAcme::CurseとAcme::Damnの違いは何か Acme::AnythingとAcme::Everythingの違いは何か Acme::Metasyntactic->new->nameをリストコンテキストで評価すると得られるものは何か Acme系モジュールを検索するにはどのようにするか Perl5におけるgotoとAcme::Goto::Lineの違いは何か

    kokogiko
    kokogiko 2011/03/01
  • XSからPPへ - YAPC::Asia Tokyo 2010

    #include "EXTERN.h" #include "perl.h" #include "XSUB.h" MODULE = Foo PACKAGE = Foo SV* hello(SV *sv) CODE: SV *message = newSVpv("Hello, ", 0); sv_catsv(message, sv); RETVAL = message; OUTPUT: RETVAL

    kokogiko
    kokogiko 2011/02/14
  • どんぞこ日誌(2011-01-30) Tengの素敵モジュールつくった

    * [Perl][Acme] Tengの素敵モジュールつくった nekokakさんの新しいORM、Teng(天狗 - (small|simple) DBI wrapper / ORM)を色々さわってみました。ちょうど去年の春にDBIx::SkinnyをDBICっぽくなどと、ろくでもないことをやっていましたので、今回もゴソゴソとちょっとしたモジュールを作ってみました。Acme::TengA::SchemaOnAHoleというものです。名前について説明すると、TengAのAはAdvancedのAですね。CatalystXやMooseXのようなものです。Holeというのは、Schemaモジュールに穴あけて弄くろうという心意気を表しているのですが、色々あって穴の上のSchemaになってしまいました。お察しください。簡単な使い方としては: package MyModel::Schema; use T

    kokogiko
    kokogiko 2011/01/31
    これは使える
  • どんぞこ日誌(2011-01-06)

    * [Perl] 5分で分かる Acmeモジュールを知らない人がAcmeモジュールの便利さを学べる記事を書いたよ Acmeモジュールを知らない人にAcmeモジュールを話して欲しいと言われたことはないけど日誌書きました。 難しい話は抜きにしてAcmeモジュールはuseで呼び出せば動きます。Perlが動くサーバーならなんとかなります。 コピーライトの西暦を自動更新 Acme::Currentを使えばページフッタの西暦も自動更新します。 use Acme::Current; print qq/Copyright (c) 20010-$Acme::Current::YEAR Acme inc. All Rights Reserved./; 他人のサイトの内容を読み込む ジャックバウアーに関するデータをチェックして何かするときなどに便利。 use Acme::24; print Acme::24->

    kokogiko
    kokogiko 2011/01/06
  • YAPC::Asia Tokyo 2010に行って売って喋ってきました - どんぞこ日誌(2010-10-17)

    * [Perl] YAPC::Asia Tokyo 2010に行って売って喋ってきました YAPC::Asia2日目のお昼から「XSからPPへ」という発表をしました。直前に牧さんが、必要に応じてPerlだけに頼らずCを利用しましょう、という話しをした後に、XSをPure Perlで書き直すことの勧め。内容は、なんでXSモジュールをわざわざPure Perlにするの、という話や、PP化のための準備、PP化でよくお世話になるモジュールについて喋りました。質問タイムで弾さんに「Perl5をPP化するべき」とか無理難題を言われましたが、そこはAcme::Perl::VMのgfxさんに期待します。 資料はこちら。普通のHTMLです。javascript有効にしてください。あと画面が800x600を想定していますが、大きい分には大丈夫でしょう。そろそろ貧弱なマシンを買い換えたい。 それから予定にはなか

    kokogiko
    kokogiko 2010/10/17
  • どんぞこ日誌(2010-08-03)

    * [近況] ブクログのパブーを使ってみた 試みに、昔つくった『日のAcme』をブクログのパブーで公開してみました。元データがWordだったのでウィジウィグエディタにコピペしたところ、割とすんなり出来たかなと思ったのですが、PDFにしてみるとかなり残念なことに。web上では表示される罫線などは完全に消えるみたい。やはり単純なコピペではダメらしい。もう少し色々実験してみないと。

    kokogiko
    kokogiko 2010/08/03
  • どんぞこ日誌(2010-03-08) - DBIx::Skinnyに色々機能を追加してみる ~ 複数主キー

    * [Perl] DBIx::Skinnyに色々機能を追加してみる 〜 DBIC_TRACEみたいなもの DBIx::Skinnyでは、環境変数SKINNY_PROFILEに真値を渡せばプロファイラにSQLステートメントとバインド値が記録されます。ただし、実際にデータを確認するには手動で出力しないといけないのと、どんなタイミングで発行されたかがわかりません。でもデバッグしていると発行時に即データがみたいことがあります。なので、それ用のプロファイラを。 package Your::Model; use DBIx::Skinny::Profiler::ProfileLogger; use DBIx::Skinny setup => +{ dsn => 'dbi:SQLite:', username => '', password => '', profiler => DBIx::Skinny:

    kokogiko
    kokogiko 2010/03/09
  • DBIx::SkinnyをDBIx::Classな感じで使う どんぞこ日誌(2010-03-03)

    * [Perl] DBIx::SkinnyをDBIx::Classな感じで使う DBIx::Classに慣れた人がDBIx::Skinnyを気軽に使えるように、DBIx::Class::Resultsetっぽいインターフェースをつけてみようと思い: my $rs = $skinny->resultset_dbictic( 'foo', { 'id' => 1 }, { 'select' => [ 'hoge', 'huga' ], 'order_by' => 'id DESC', } ); # group_by, havingなども ページングもつけようかな: my $rs = $skinny->resultset_dbictic( 'foo', undef, { 'page' => 1, rows => 10, 'order_by' => 'id DESC', } ); my $itr

    kokogiko
    kokogiko 2010/03/04
  • どんぞこ日誌(2009-12-07)

    * [近況] 『逆引きAcme大全 夢幻編』 なんとか間に合った。Perlプログラマが必要とするありとあらゆる状況で、適切なAcmeモジュールを提示する『逆引きAcme大全 夢幻編』、冬コミに出します。84頁、500円(予)。「夢幻」(ゆめまぼろし)なのは、その内容のあまりの薄さに、無かったことにしたいから。 まだ若干残っている『Pythons & PerlMongers』と、『Acme大全2009』も少々刷り増して持っていきます。 12月31日(木)西よ-29b どんぞこ楽屋 表紙のリーバスしてる生物は「或ルバカ」。

    kokogiko
    kokogiko 2009/12/07
  • Acme大全 in YAPC::Asia 2009 どんぞこ日誌(2009-09-02)

    * [Perl] Acme大全 in YAPC::Asia2009 先日の追記にもありますが、9月10〜11日のYAPC::Asia 2009で、『Acme大全2009』を販売します(専らお昼休み)。販売スペースを確保していただき、ありがとうございます。>台場さん、岩切さん そういうわけで、オライリーさんなどに混じって売ることになるわけで……当初Acme大全の表紙に'MO=REILLY'とつけようとしたのですが、つけなくて良かったよかった。 はてぶ、twitter等で確認できた方々の分も合わせて、結構な冊数持っていきますので、手に入らないってことはないかと思います。参加されない方で欲しい方は……ごめんなさい、誰かに託すなどで…… あとついでに、去年の夏コミに出した『Pythons & PerlMongers』もコピー誌から製に刷り直して若干持っていきます。TRPG好きーな方は、話のタネに

    kokogiko
    kokogiko 2009/09/02
  • 夏コミ終了 どんぞこ日誌(2009-08-17)

    * [近況] 夏コミ終了 おかげさまで午後に入ってすぐに『Acme大全2009』完売しました。ありがとうございます。せっかく来てくださったのに手に入らない方が出たのが心苦しいです。 会場でも言いましたが、9月のYAPC::Asiaで持ち歩いて、欲しい人がいたらこっそりお売りするという感じ? もう残部がほとんどないので増刷するしかないのですが、欲しい人はどれくらいいるのかしら…… コメント欄、ハテブ等で一言いただければ確保しておきます。 追記:オライリーの横にブースが出るらしい……

    kokogiko
    kokogiko 2009/08/17
    買います。
  • 『Acme大全2009』 - どんぞこ日誌(2009-07-22)

    * [今月のAcme][近況] 『Acme大全2009』 何年か前に時々使っていた「今月のAcme」タグも、たぶんこれで最後。というのも、まことに驚くべきことに『Acme大全2009』を夏コミに出すから。 最終的に7月上旬の時点でCPANにあがってた"Acme"と名のつく全315ディストリビューションを網羅しました(ACMEは除く)。総ページ数は160頁。もう、一生分、今月のAcmeった気がするので、十分です。Acmeお腹いっぱい。 表紙の生物は「ダラク」。 8/16(日)東N45bにて。なお、当日は特典としてJapan Perl Acme検定2級の過去問が付いてきます。

  • どんぞこ日誌(2009-02-19) - Template::Stash::XSとVmethodのlength続き

    * [Perl][メモ] Template::Stash::XSとVmethodのlength続き 先日のTemplate::Stash::XS使用時のlengthで、unicodeに対応するようパッチをあててみたのですが、そもそもscalar_dot_length使わなくてもよいんじゃないかという気がしてきて、 --- xs/Stash.xs 2009-02-19 14:33:44.000000000 +0900 +++ xs2/Stash_del_len.xs 2009-02-19 14:37:47.000000000 +0900 @@ -115,7 +115,7 @@ { "join", list_dot_join, NULL, NULL }, { "keys", NULL, hash_dot_keys, NULL }, /* { "last", list_dot_last, NUL

    kokogiko
    kokogiko 2009/02/19
    お疲れ様でごんす
  • どんぞこ日誌(2005-01-21)

    * [雑感] 筋肉痛 久しぶりに寝る前GBAで「謎の村雨城」に挑戦。やっと赤雨城まで辿りついたものの、左手が痛くて眠れず。 歳? やっぱり歳なの? * [Perl] Class::Wiki Class::XMLというClass::DBIライクにXMLの読み書きを行うモジュールがあるので、見習ってClass::Wikiをつくろうと思い立ちました。その手始めにDBD::Wikiをこさえることに。DBD::FileやDBD::iPod、DBD::Googleなど参考にちまちまとやってます。問題はXML-RPC for Wikiを利用しているのですが、これが実装されているWikiがほとんど存在しないのと(FreeStyleWikiは拙作のCGIが)、XML-RPCでやりとりしたくないなあ……というところ。いつものように役に立たないモジュールになるはず。 あー、この一週間search.cpan.or

    kokogiko
    kokogiko 2008/11/28
    みんな面白い事考えるなあ。WikiのXML-RPCもあるのか。
  • どんぞこ日誌(2005-02-07)

    * [CGI] TypeKeyでFreeStyleWiki 去年の夏にAuthen::TypeKeyをFreeStyleWikiに組み込むという話を書きましたが、実際に試してみました。TypeKeyに登録している方はぜひここの右上のメニューにあるTypeKeyをクリックしてログインしてみてください。あと、PuerPerlのMath::Pariを使っても、当のMath::Pariよりもだいぶ遅いとはいえ、実用に耐えそうです(上のテストはXS版Math::Pariです)。 先日のbacklinksプラグインは既に同じ機能のものが登録されていて大失敗でした。 * [メモ] Perlその他 ・threadsとencodingの件→mainパッケージでbinmode(STD [OUT|IN], ":raw :encoding(xxx)")するとthreadas->newで落ちる。子スレッド内でTh

    kokogiko
    kokogiko 2008/11/28
  • どんぞこ日誌(2005-03-16)

    * [メモ] JSON-RPCとjsolait さて、とりあえずJSON.pmとJSONRPC.pmをこさえたので、PerlでJSON-RPCCGIサーバがつくれるようになりました。しかしせっかくサーバがあっても動作を確かめるためにクライアントが必要です。ここでJSON-RPCのクライアントをお手軽に構築するのにjsolaitが便利なようです。っていうか、このjsolait というのは大変多機能。でもjsolaitについて解説している日語のページがあまりないので、ちょっとメモ。 "JavaScript O Lait"は、再利用可能なモジュールおよびコンポーネントのライブラリと、より単純なクラスおよびモジュール管理機能を提供することで、JavaScriptの開発を楽にする代物で、ライセンスはLGPL。特徴は: 他の言語でお馴染みのOOP機能をJavascriptで行うためのフレームワーク

    kokogiko
    kokogiko 2008/11/28
    すごいやマサルさん。宝物のようなこれ1本!まとめ記事。
  • 1