タグ

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

  • 夏コミ報告 - どんぞこ日誌(2011-08-16)

    * [近況] 夏コミ報告 おかげさまで完売しました。お越しの皆様ありがとうございます。正誤表がこちらにあります。それにしても暑かった。当に暑かった……。今回はAcme大全のシンボル「ダラク」のマグネットを先着特典としてご用意しました。Acmeモジュールのネタを思いついたらこれを使って冷蔵庫の扉にでもメモを貼ってくださいな。 さて、ブースに立ち止まってくださった方の中に「10年前にPerlやってました」という感じの人が結構いました。懐かしがって手にとってくださるのが嬉しいですね。あとやっぱり「Perlってまだ仕事あるんですか?」的な質問が。そういえばYAPC::Asiaの紹介とかしておけば良かったなあ、と今さらながら思いました。 それから、今回の表紙には「さあ、どうでしょう」という帯があるのですが、これは某技術書の「3rd edition」→「さーどえでぃしょん」→「さあどうでしょう」ドヤ

  • Takao.mt(Hachioji.pm #7)に参加 - どんぞこ日誌(2011-07-24)

    * [Perl][近況] Takao.mt(Hachioji.pm #7)に参加 今回のHachioji.pmは高尾山のビアガーデンでビールを飲む会Takao.mtでした。7回目にしてついに遅刻せずにすみましたよ。11人が参加しました。その後山頂に登って3名がLTを行いました。傍目からは山頂でパソコン開いてる怪しい集団に見えたかもしれません。私は充電忘れたので持っていきませんでした。悔しいのでキーボードだけ持っていきました。USB接続のやつ。特に意味はないです。 norry_gogoさん:Acme de Takao.mt。Acme::Eyedropsを利用してTakao.mt。アクセスに配慮して紙資料にQRコード付きでした。 nekoyaさん:php-ganc。PHP用のSQL Builderです。CakePHPに対する不満な点から書くことにしたそうです。 私もLTを行いました。前日に急遽

  • 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 (

  • Hachioji.pm #5 - どんぞこ日誌(2011-05-30)

    * [Perl][近況] Hachioji.pm #5 先週末は6回目のHachioji.pmでした。例によってhide_o_55さんのレポートが詳しいです。今回も遅刻しました、すいません。 一次会は焼肉。壁に掛かっていたサインが誰のなのかが一部の席で話題になったのですが何故か「あの漫画誰のだかわかりますよね?」とふられる。わかりません……(→結局partynight12thさんがtwitterで急募した結果、エレクトさわる という漫画家であることがわかる) それから、自分と同じ高校出身者がいることがわかり驚きました。二次会は以前利用したタイ料理屋でLT。テーマは「最近いいなと思ったもの」。DotCloudの話題がでるかなと思ってたけど意外にもなし。 umeyukiさん:「思いたったらメモしよう」ご人は先に帰られたので代わりにuzullaさんが発表。 hondallicaさん:ATND

  • Hachioji.pm #4 - どんぞこ日誌(2011-04-25)

    * [Perl][近況] Hachioji.pm #4 先週末は5回目のHachioji.pmでした。例によってhide_o_55さんのレポートが詳しいです。今回も安定的に遅刻しました。すいません。テーマは「このGWに作りたいもの、もしくは最近つくったもの」。どうでもいいことですがGWっていうとどうしてもグリーンウッドが先に頭に浮かんで困ります。 ytnobodyさん:スマートフォン向け事処検索「どさぐ」(東北弁で「何処に行く」)。自分が昼で何処にいくか調べるためにつくったと。 uzullaさん:クライアントからのPHP入れるな、CGI使うなというお達し→JSだけで何とかする!という相変わらず大変な話。 今casual.jsが熱いと。透過pngで矩形じゃない辺り判定が出来たりとか。casual.jsサイトのゲームデモをみたら確かに(版権的に)凄い。 charsbarさん:台湾で発表した

  • Hachioji.pm #3 - どんぞこ日誌(2011-03-27)

    * [Perl][近況] Hachioji.pm #3 4回目となったHachioji.pmことプロジェクター同好会。詳細は例によってhide_o_55さんのレポートが完全にカバーしてくださってるのであまり書けることがないのですが一言感想を。 umeyukiさん:変数名ネタ。会社名を保持する変数kaisya_meiから始まって、日語の変数名まで、安心のクオリティ。 ono_pmさん:ZFSとSolarisコンテナでのパッケージの話。rollback簡単。 uzullaさん:「微妙な協力会社あるある」……あまりに面白すぎて。でも似たような経験あるなー。資料のアップ! ytnobodyさん:ふさがれまくってるportを乗り越えてmysqlとやりとりするために、expect+sshで立ち向かう話。アホみたいな状況にokだすボスとか。 norry_gogoさん:セキュリティ意識の低い同僚を驚かす

  • 優れた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の違いは何か

  • Hachioji.pm #2 - どんぞこ日誌(2011-02-21)

    * [近況][Perl] Hachioji.pm #2 Hachioji.pm #2がありました。前回同様、各自1分間Lighting Talkを行っています(必須ではないですが全員やりました)。Perl Mongersでありながら今回のテーマはPerl以外ということで、多彩な話が聞けてすごく楽しかったです。詳細は例によってhide_o_55さんのレポートが素晴らしいのでそちらを見ていただくとして、私は内容からずれた感想についてコメントします(全員分無いのは私が全くメモとっておらず、持ってるレジュメから思いだしたためです。ごめんなさい)。 bisque33さん:「継続力が無い私のタスク管理方法」ということで、GTD(Getting Things Done)の紹介。これはたぶん私にはできなさそう>< ytnobodyさん:テーマ無視してPerlの話。プロトタイプベースOOP用モジュールPla

  • どんぞこ日誌(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

  • どんぞこ日誌(2011-01-24)

    * [近況] Hachioji.pm #1 先週末、Hachioji.pmの第1回がありました。十数人がテーブル囲んでというか、膝つき合わして1分LTも面白いですね。私は「多言語対応サイトの開発方法」というのを発表しました。開発サイトのデザイン担当者から、テンプレを一元管理したいので何とかして欲しいと言われてやってみたのが下記の方法です。もっとまともな方法がありましたらぜひ教えてください〜 多言語対応サイトの開発方法 参加者の発表や会としてどんな話をしたかについては、他の方のレポートで出ていると思いますので、付け足し的なものを箇条書きすると uzullaさんtwitter等でアイディア募集するも誰も返事なし→愚痴をこぼしにircへ そのircも全然人が来やしない(すいません><)→※charsbarさんに慰めてもらう 必ずしもみんな参加できなくても月1ペースぐらいで開ければ Hachioj

  • Hachioji.pm発足 - どんぞこ日誌(2010-12-13)

    * [Perl] Hachioji.pm発足 先週末、八王子市を拠点とするHachioj.pmが誕生しました。#0会に遅刻していったら、もう名前の候補がだいたい決まっていたという。おまけに自分で提案しておきながらTakao.mtには票を入れていないという。とにもかくにも東京西部のPMが立ち上がってめでたいです。Perl使いに限らずWelcomeなので、興味のあるエンジニアの方はぜひぜひお声かけください。ハッシュタグは #hachiojipm です。 参加の皆様今後ともよろしくお願いします。諸々準備をされたuzullaさん、お疲れ様でした&ありがとうございます。 新年会では各自 A4 1枚で発表しましょうということに(テーマ未定) サーターアンダギー自分の分がなかった>< uzullaさんに分けてもらって美味! おまけ:最後酔っぱらってしまって、hide_o_55さんと分かれてからの帰り道で

  • 今年のJperl Advent CalendarにはAcme Trackもあります - どんぞこ日誌(2010-11-29)

    * [Perl] 今年のJperl Advent CalendarにはAcme Trackもあります 12月1日から25日まで1日毎にPerlに関する事柄を書くJPerl Advent Calendarが始まります。今年はこのイベントにAcmeトラックが加わります。12月1日から25日までの間、Acmeについて熱く語るアドベントカレンダーです。@yusukebeさんに期待されたので、率先してやることにしました! JPerl Advent Calendar 2010 - Acme Track (↑家トラックは上記からリンクしてますのでそちらもご覧下さい) でも現在参加人数が少ないです! このままだと自分で何度も書かないといけなさそうです! 無理です! 助けて! というわけで、Perl好きーでAcme好きーな人はぜひ書きませんか? 取り上げるAcmeモジュールはCPANにあがってるものである

  • 5.13.6で - どんぞこ日誌(2010-10-22)

    * [Perl] 5.13.6で あんまり役に立つとは思えないですが、昨日ツイートしたことを改めて書いておこうかと。Perl 5.13.6(宮川さんリリースなのですね!)の変更に、正規表現に関するものがいくつかあって、その影響で今まで想定した動作やテストがこけたりするかも、という話です。いままでは print qr/foo/; # => (?-xism:foo) print qr/foo/i; # => (?i-xsm:foo) だったのが、5.13.6からprint qr/foo/; # => (?^:foo) print qr/foo/i; # => (?^i:foo) になると(というか今回-xismを意味する'(?^:'という表記が出来るようになり、文字列化もこれで表現するようになった)。 私はあるモジュール内においてqr演算子でつくった正規表現$reを間違えて/[$re]/で使っ

  • 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を想定していますが、大きい分には大丈夫でしょう。そろそろ貧弱なマシンを買い換えたい。 それから予定にはなか

  • もうすぐYAPC::Asia Tokyo 2010 - どんぞこ日誌(2010-10-06)

    * [Perl][近況] もうすぐYAPC::Asia Tokyo 2010 来週末はYAPC::Asia Tokyo 2010です(チケットは8日まで販売中)。昨年yusukebeさんのWhere are "Casual Perlers" ?を読んで、これからはもっと積極的になろうと思い、今年はトークにも応募しました。というわけで、土曜日の部では「XSからPP」という発表をします。XSモジュールをPurePerlにする勧めという地味目な話です。とてもcasualな話です! そして昨年同様、「どんぞこ楽屋」出展します。今年はお昼休みがないのでどうしたものかと悩んでいますが、『Acme大全2010』を頒布いたします。 そして、いつも同人誌だけでは芸がないので、今年は素敵なグッズを用意しました。 「祝福されたLarry Wallと書かれたデコシール」 「ダンディなPerl Vistaと書かれた

  • Yokohama.pm #6 x Perl Casual #3での夏コミ関連 - どんぞこ日誌(2010-07-24)

    * [Perl][近況] Yokohama.pm #6 x Perl Casual #3での夏コミ関連 Yokohama.pm #6 x Perl Casual #3で夏コミで出す同人誌について話させてもらいました。用意していたスライドをスクリーンに表示させることが出来なくて、かなり予定と違うものになってしまいましたが、まあどうにかこうにか。準備、進行のスタッフの皆様、開場提供のネイバージャパン様、お世話になりました。ありがとうございます。 というわけで、委託で『Acme大全2010』(A5版234頁)頒布します。 8月15日(日)西ね-10b 灰汁酒 364個のAcmeモジュール紹介。Perl初心者にも優しい用語集つきで、cpanm、local::lib、perlbrewもカバー。さらには表紙の生物登場の謎までも。まあ、Acme大全ですから、あまり真面目な用語集は期待しないでください。ど

  • perl-casual #02のライブコーディングで気づいた点 - どんぞこ日誌(2010-04-22)

    * [Perl][メモ] perl-casual #02のライブコーディングで気づいた点 昨日のperl-casual #02でlestrratさんがtwitter apiからデータを取得するプログラムのライブコーディングをされました。その中で、全然質的じゃないところなのですが、一点気づいたことがあるので補足を。 LWPを使ってTwitter APIを叩き、JSONデータを展開する部分で: # $responseはHTTP::Responseのオブジェクト decode_json( $response->decoded_content ); というコード。昨日はちゃんと動作していましたが、場合によっては"Wide character in subroutine entry"でcroakします。これは、$response->decoded_contentが返す値がUnicodeだからです。

  • JSONのドキュメントに追加した部分 どんぞこ日誌(2010-04-06)

    * [Perl][メモ] JSONのドキュメントに追加した部分 tokuhiromさんに(en|de)code_jsonと(to|from)_jsonどっちを使ったほうが良いのか初心者にわかるようにしたらと言われたので、最近のJSON.pmのドキュメントには(en|de)code_jsonがオススメである旨が付け足されています。さらに念を押して、一応自分ではわかりやすく説明したつもりの"HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER"というセクションが加わっています。 で、この日誌にperl json 文字化けとかで検索してくる人がたまにいて、たぶんこのページがヒットするのでしょうが、(自分で訳しておいて何ですが)これ見てもわかりにくいんじゃないかなあという気がします。また、先のgoogleの検索結果のトップには現状Kawa.ne

  • どんぞこ日誌(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:

  • 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