はちゅにっき

こっちのブログはまったり更新

DBIx::Skinny::Row の値を JSON で出力したい!

から始まった、Row クラスをちょっと変わった方法で拡張するお話。 すごく特異なケースだと思いますが。。。 JSON に書き出すときに、できれば Row クラスから直接 my $itr = $model->search('table_name1'); while (my $row = $itr->next) { my $json = $ro…

Casual Perl Talks#1 にいってきました

Skinny のベンチマークを筆頭に、役立つ話題g とにかく、すごく楽しかったです。 懇親会は空前のやきみそぶーむ。 id:acotie さんには「人生の山を2つ3つ越えてそう」っていわれました>< さてさて。 今回は縁あって遠路はるばると参加させていただきま…

ActiveRecord の Migration で bigint を

つかい。。。たい? そもそも bigint が本当に必要なのかを先に考えるべきじゃ。。。 とか思いつつも 「移行元の DB が bigint なんだよ」 というわけで、bigint を使うことに。 あれ?ところで (Rails とかで)、ActiveRecord 使って migration するとき、bi…

PDOxSkinny - Intro

PHP

ドキュメントまでコピーでほんとごめんなさい。PDOxSkinny を利用するための最小限の雛形は以下のようになります。 Schema Class は存在だけしていれば、スキーマの定義がなくてもある程度動きます。

DBIx::Skinny を参考に PDOxSkinny という O/R Mapper をつくってます

PHP

前回、DBIx::Skinny::SQL を参考にまるコピして、PHP のデータ構造から SQL を生成する SkinnySQL というクラスを作成しましたが、そこから更にがんばってまるコピして DBIx::Skinny の機能をほぼそのまま PHP に移植したクラスを作成しています。 名づけて…

間違えて git reset --hard HEAD^ しちゃったら

Git

いきなり追記 すばらしいコメントをいただきましたので、そちらも参考にしていただければと思います。 具体的には git reflog で見失ったコミットさんを見つけるんだ!!! - 8時40分が超えられない - subtech http://subtech.g.hatena.ne.jp/secondlife/200…

DBIx::Skinny::SQL を PHP に移植してみました

まず最初に id:nekokak さん、ごめんなさい。 「DBIx::Skinny を使ってみました」 という日記を書くよりも先に「うわー。こんなモジュールが PHP でも使えたらステキだなぁ」と思ったので、勢いで、しかも勝手に (一部だけですが) 移植してみました。 ごめん…

MouseX::App::Cmd があったらいいな。と思った

そもそも「Casual Perler」のさらにその手前にいる気がしている magicalhat です。今回の記事は 「CUI アプリケーションを作るときには、App::Cmd というフレームワーク (?) をよく使っています。」 というお話と 「MouseX::App::Cmd が欲しかったので挑戦…

あぁ勘違い

Mouse (0.3? - 0.40) を使っていて 「Moose でできるし、できるんじゃないかなぁ?」 と思ってやってみたけれど、できなかったことを忘れないように書いておこぅ。 なんか、他にもいろいろあった (あるだろう) けれど、随時書き足せたらいいなー。 あ、あと…

PHP で Mixin したい!

PHP

「アナタに Mixin されたい」とかタイトル書こうとしたけれど、なんか変な連想されそうだったので却下。 PHP って Ruby と同じで多重継承ができないけれど、Ruby とは違って Mixin の機能がないので、適当に繕ってみようかなー。 という動機で作ってみました…

pg_config がないといわれたら

すぐ忘れるのでメモ。DBD::Pg などをインストールする際に、pg_config がないよといわれたら # aptitude install libpq-dev するといいみたい。

Singleton なクラスをかいてみたい

PHP

ということで、AppRegistry というクラスを書いてみました。 といっても、これまた Perl の Pixis から拝借しただけ。 Pixis -- Pixis-Registry http://github.com/lestrrat/pixis/blob/master/lib/Pixis/Registry.pm あと、作ってみて?作る前から?分かっ…

PHPのとりこです

久しぶりですが生きています。 gist が貼り付けられるかテストを兼ねて。 内容はすっごく簡単で、Perl の Hash::Rename を PHP にして、実現できないことを切り捨てただけです。 Hash-Rename http://search.cpan.org/~marcel/Hash-Rename-0.01/ これで 'bar…

単純に知らなかった

ソース

Perl で Excel を Parse する

Perl で Excel を Parse するときのお約束といえば Spreadsheet-ParseExcel http://search.cpan.org/~jmcnamara/Spreadsheet-ParseExcel-0.54/lib/Spreadsheet/ParseExcel.pm ですよね! というわけで、今回の話題は Perl で Excel を Parse する方法につい…

Asynchronous Programming for (A)synchronous Communication

mala さんのセッション。 今話題の AnyEvent + Coro というだけあって、これまた大盛況でした。はやすぎて & はいれべるすぎて めもしきれなかった。ノンブロッキングにプログラミングしましょう。 ブロッキングする場所があるとそこでブロッキングしてしま…

Remedie: Building a desktop app using Perl, SQLite and jQuery

miyagawa さんによる Remedie セッション。 別の部屋で行われていた naoya さんのセッションも気になったー。 ローカルで動くソフトを作りたい 何を使って書く? 候補はたくさんある VC / C++ / C#。 マルチプラットフォームで動く wxWidgets。 Mac でしか動…

YAPC::Asia 2009 に参加して

今回が YAPC 初参加でしたが、参加にあたってはいくつか不安がありました。 もっとも単純な不安は、何の収穫もなく終わること。 そもそも仕事では Perl を使わない、というか「Perl 禁止」のため有休を使うという強行手段にでました。 なので、何としてでも…

Perl Which perl

弾さんのセッション。 さすがは弾さんってこともあって、超満員でした。 Modern Perl Perl 4 (PHP) は忘れましょう。さすがにまだ使っている人はいないですね。 Perl 5.6 は Encode サポートがないのであまりオススメできない。 それでもメンテナンスはまだ…

OpenGL Programming with Perl

Perl は 3D プログラミングの夢をみるか 3D グラフィックスモジュールはあるの? CPAN にある。 Perl から OpenGL を利用するためのモジュール POGL OpenGL クロスプラットフォームな3DグラフィックスAPI対象OS: Mac OS X Leopard でしか確認してないないcpa…

Concurrent DB Access with Perl

tokuhirom さんのセッション。 これまた大人気のセッションでした。 RDBMS に並行にアクセスしたい。 Webアプリケーションでは、DB へクエリを投げて整形して〜 ということが多い。 何回かクエリを投げる場合、直列の場合は各クエリでブロッキングするのでレ…

endeworks での WebApp の作り方

エンド ワークス ではなくて エン「デ」ワークスです。 ENgineer DEsign works エンジニア募集中です。 事前に 特別なことをやっているわけではない。 あぁ、標準サイズなんだなぁと実感してもらえれば幸いです。 endeworks での開発 開発サーバは特に用意し…

FormValidator::LazyWay で検証ルールをまとめよう

vkgtaro さんのセッション。 講演者がいない!?というハプニングもありましたが、無事にスタート。 lazy-people 面白そうですね。 lazy-people のプロジェクト lazy は遅延 って意味ではなくて 怠けられる って意味 Form Validateor は CPAN にもたくさん上…

スケールするウェブアプリケーションを20分で作る方法

Q4M の開発者でもある kazuho さんのセッション。 RDB の Sharding について。 Sharding するときに問題になるのは非正規化。 Twitter とかで発言があった場合に、全員のとこに発言があったことを書き込む必要がある。 既存手法 eventual consistency 複数の…

LT まとめ

yusukebe さんが LT 全部に共通するすばらしいお言葉をおっしゃっていたので、それを借りて。 LT 全部総括してまとめ Yes, we can.

『Ficia』インフラと Perl にまつわるエトセトラ

Apache 運用についてのノウハウ。 まとめる側の集中力に問題がでてきた。。。 前提 Linux 2.6.29.x Apacche 2.2X mod_perl 2.0.4 ありがたいお言葉 推測するな。計測すべし。 ざっくり調べる ps top fork は書き込みがあるまで親プロセスと同じページなので…

Simple OR Mapper DBIx::Skinny

なんてゆーか PHP に移植してみたい。 むりそうだけど。 PHP って、これ!っていった ORM が本当にない。。。よね? DBIx::Class DBIC 重い DBIC の SQL って微妙 DBIC パフォーマンスを考慮した SQL を投げてくれるわけじゃない 複雑な Perl のデータ構造か…

優しいモダンな WAF の作り方

Angelos ネタ。 以前 WAF を作ったときにすごくお世話になったソースコード。 モダンな WAF の要素 Plagger のような拡張性 WSGI のようなサーバ抽象化 テスタビリティ Rails のようなフルスタック ユーザビリティ 最小構成要素 Engine -> Dispatcher -> Com…

CPAN Packager による RPM / Deb の自動生成

メモメモ。 依存関係などを解決しつつ自動で rpm / deb をつくるツール。 モジュールのインストールに1日かかっちゃったよ! cpan でいれてたら違うバージョンではいっちゃったよ! を解消したい。 既存ツールの問題点 既存ツールは依存関係を完全には解決し…

Event programing fun with AnyEvent and Coro

AnyEvent 面白そう。 というわけで、聞き入っていた。 # ってゆーいいわけ。 EventLoop なモジュールはたくさんある。 でも API はどれも違う。書き方が違い過ぎて、ある EventLoop なプログラムを、他の EventLoop へ移植できない。POE::Compornent には 25…