はちゅにっき

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

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…

modern Catalyst

hide-k さんのモダン Catalyst 講座。 すごく漏れている場所が多いと思います。 # メモが追いつかなかった。。。 モダンな Catalyst use Moose; extends 'Catalyst' __PACKAGE__->config( ); __PACKAGE__->setup( qw/ ロードするプラグインとか / ); Catalys…

Perlハッカーのための遊べるPostgreSQL

メモメモ PostgreSQL の変遷 PostgreSQL 8.3 で性能が大きくアップ HOT という機能 などなど地道にVerUpしてきている PostgreSQL 8.4 SQL 再帰SQLのサポート 8.2以前との互換性について改善 暗黙のキャストに対する改善 移植性の改善 大規模対応 パーティシ…

「モダン Perl 入門」の入門

とりあえずメモ程度にー。 School Guardian をモダン Perl でつくったよ。 モチベーション Catalyst 5.8 CataMoose でつくる 特に API 化に力をいれる その中の悩みや葛藤について説明していきます 使いたかった技術 CataMoose API Web::Scraper TheSchwartz…

おまけ

Acme 大全 2009 買っちゃった。

YAPC::Asia 2009 にいってきました

スライドをコピペするんじゃなく、きちんと書きたいなぁ。 と思ったけれどやっぱりムリでした。ごめんなさい。 参加したのに、メモがないのは完全にスライド丸コピになりそうだったものや、メモが取りにくい内容だったものです。 # スライドがすごく分かりや…

ソースで拾った CPAN モジュールを local::lib を使ってインストールする

前の記事のおまけ。 DateTime はすごく重いらしいので、それを回避するため DateTimeX::Lite というモジュールを利用させていただきました。 詳しくは↓ DateTimeX-Lite http://mt.endeworks.jp/d-6/2009/02/datetime-xlite.html CPAN はこっち↓ DateTimeX-Li…

Perl でハードディスクの温度を定期的に Twitter にポストする

ちょっと Twitter での aoshiman さんの発言 が気になったので、Blog を見てみることに。 自宅サーバは極端に熱のこもる場所に設置してあるわけではないので、廃熱に関してはそこそこ大丈夫だと思っているのだけど、それでもハードディスクとかの温度は心配…

FindBin::libs をつかってみる

use FindBin; use lib "$FindBin::Bin/lib"; が use FindBin::libs; とかけます。べんり! 詳しくは CPAN で! FindBin-libs http://search.cpan.org/~lembark/FindBin-libs-1.41/lib/FindBin/libs.pm

local::lib をちょっと使って Catalyst で作られた Wiki "MojoMojo" をいれてみる

今まで Front に Lighty、Back に Apache(mod_perl) の構成で Catalyst を動かしていましたが、Apache の mod_uploader を導入してからは、それを逆転し Front に Apache を、Back に Lighty (FastCGI) を利用するようになりました。 というわけで 「この構…

Mouse::Getopt が分かってない

Mouse::Getopt を使ってみよぅ。 ということで挑戦。 が、失敗。たすけて! 引数として Locale /^[a-z]{2}_[A-Z]{2}$/">*1 を与えると、それを単純に表示してくれる。 それだけ。 例 $ ./test.pl --locale ja_JP ja_JP こんな感じのを作りたい。 test.pl new…

Mouse の Destructor がよくわかっていない。。。 (DESTROY とか DEMOLISH)

ちょっとデストラクタで遊んでみた。 ら、Mouse の挙動ではまった。 Moose / Mouse を利用するとコンストラクタ *1 "new" と、デストラクタ "DESTROY" を定義することができません。 そこで、"new" の代わりに "BUILD"、"DESTROY" の代わりに "DEMOLISH" を…

Non Moose/Mouse なモジュールを継承して Moose/Mouse なモジュールにしたい (第二版)

Moose / Mouse を利用していないクラスを継承して、Moose / Mouse を利用した新しいクラスを作りたい http://d.hatena.ne.jp/magicalhat/20090417/1239943579 という記事に対して Mouseでの非Moose/Mouseクラスの継承法 http://blog.eorzea.asia/2009/07/pos…

さくらのレンタルサーバで local::lib を使う

最近話題の local::lib を使って、さくらのレンタルサーバで CPAN を利用できるようにしよう。 ということで、今までは MyConfig.pm やら .zshrc やらに、CPAN を利用するためのいろいろな設定を書いていたけれど、今回はそれをまっさらな状態にしてインスト…

Shibuya.pm #11 にいってまいりました

「僕スピーカーなんだけど」 うわぉ、弾さんだ。(18:15 頃 2Fロビー にて) から始まった、Shibuya.pm #11 に参加してまいりました。 勇気を出して弾さんに話しかければよかったよ。ちょっと後悔。 今回は "no Perl; use x86;" というタイトルを裏切らず、”ま…

JPA セミナー #1 「モダンPerlの現場」 にいってきたよ!

同時通訳がなくても少しはなんとかなる?! と思っていたら、本当に少ししかなんとかなりませんでした? 少しはなんとかなりました? ある意味、副作用的に英語を勉強することに対するモチベーションは上がったような。。。 YAPC::ASIA までにはもう少し上達…

Moose / Mouse を利用していないクラスを継承して、Moose / Mouse を利用した新しいクラスを作りたい

追記 この記事はウソです。以下の記事をご覧ください。 http://d.hatena.ne.jp/magicalhat/20090709/1247145570 原文 と思って探していたら、hide-k さんのところにありました。 Delegationを使わないでNon-Mooseクラスを継承 http://d.hatena.ne.jp/hide-K/…

コマンドの実行結果を取得したい!

STDOUT も STDERR も両方とも、でも別々に取得したい! そんなワガママな私にもアナタにも IO-CaptureOutput http://search.cpan.org/~dagolden/IO-CaptureOutput-1.1101/lib/IO/CaptureOutput.pod たとえばこんなスクリプトを実行すると use Perl6::Say; us…

C::V::XML::Atom とか モダンPerl入門 とか C::M::Adaptor とか

ここまでのまとめ http://d.hatena.ne.jp/magicalhat/20090202/1233725798 に対して、id:ikasam_a さんから Catalyst-View-XML-Atom http://svn.coderepos.org/share/lang/perl/Catalyst-View-XML-Atom/trunk/ というモジュールを紹介していただいたので、そ…