2010-01-01から1年間の記事一覧
唐突に。 ものすごくざっくりですが現状は以下のような構成つかってます。 流行りかどうかはわかりません>< ちょっとしたWebアプリ(想定 ユーザ/10人くらい) Webサーバ Apache(CGI) DB SQLite WAF Mojolicious::Lite ORM DBIx::Skinny 最近だと簡易デプ…
YAPCにてYappoさんの「Ajax Application Testing」を聴き興味をそそられました。 今回はクロスブラウザでのテスト自動化を実現したかったのでその辺りも試してみました。 http://yappo.github.com/talks/20101016-yapcasia2010-jstapd/ インストール cpanm J…
YAPCきたー! 前夜祭は出れなかったんですが1/2日目は行けたので 自分が見たセッションの感想などをつらつらと書きます。*1 That Goes Without Saying (or Does It?) / Larry Wallさん ラリーさんですよラリーさん! ぴょんぴょんはねたり裏声になったり…
はい1日目に続いて2日目。 つらつらと書いていきます。 まずは今日買ったもの perl Tシャツ Acme大全2010 ラクダ本vol1(ラリーさんのサイン入り!やった!) nginx & Perl / fujiwaraさん ハイパフォーマンスHTTPサーバであるnginxの仕組み、 Lighttpdとの…
ふと、perldocではどんな英単語が多く使われてるのか、 ということを調べようと思った。 コードはこちら http://search.cpan.org/~shay/perl/pod/perl.pod ここから1階層だけ潜って単語集計するスクリプト。 http://gist.github.com/619373 すごく適当なの…
前回の続き。 perlcodesamleさんがパフォーマンス改善のパッチを送っていただいたようですので、最新版で再度ベンチマークを取り直してみました。 ベンチマークスクリプト ベンチマークスクリプトは基本的に前回と同じ。 さらに、$self->req->params を一度…
※ 2010/9/26 追記 最新版とのベンチマーク比較 http://d.hatena.ne.jp/tori243/20100927/1285594260 ※ 2010/9/15 追記 Mojoはまだβ版で、現在は安定稼働を優先に開発が進められているそうです。 最適化フェーズはその後のようなので いずれはこのような問題…
Smart::Commentsを参考に簡易プロファイラみたいなのを書いてみた。 モジュールっぽいのは初めてかも。 Smart::Interval package Smart::Interval; use strict; use utf8; use Time::HiRes qw/gettimeofday tv_interval/; use Filter::Simple; use Clone qw(…
perlのWebアプリケーションをデプロイする方法を考えてましたが、 納得いく方法ができずに残念なことに。 サーバ構成 ①デプロイサーバ兼webサーバ ②デプロイ先webサーバ数台 やりたかった流れ WebサーバのOSとアーキテクチャが一緒であれば 複数サーバへのデ…
※2010/8/21 モジュールを少し書き直した テストはやっぱり同じプロダクトでやったほうがいいよ!と助言頂きましたのでTest::mysqld使うことにしました。 自分のやり方はいろいろ遠回りしてる気もしますが、一応自分のやりたいことはできたのでメモメモ。 ち…
初めてのperl/続初めてのperl/モダンperl入門ときて、 次は何読もうかと考え中。 やっぱりラクダ本?2冊で1万円は考えてしまう…プログラミングPerl〈VOLUME1〉posted with amazlet at 10.08.21ラリー ウォール ジョン オーワント トム クリスチャンセン …
どうでもいい話。 サブルーチンの引数の渡し方について、どうするのがいいかいつも悩む。 1.こうなのか hoge( $id, $name, $path, ); sub hoge { my ($id,$name,$path) = @_; ... } 2.こうなのか hoge( { id => $id, name => $name, path => $path, } );…
過去のpaste一覧が出るように直しただけ。 http://gist.github.com/513680 既に以前のバージョンで使ってても ALTER TABLE するだけで使えるようになるはず! ALTER TABLE entry ADD COLUMN title text; レン鯖に置いてみたよ! http://toritori0318.sakura.n…
なんでそもそもこういうことをやろうとしたのかというと、モデル(API)をテストするときにテストデータベースをどうするか、というのを考えてたため。 いろいろ考えてみた結果、「DBMSを全部SQLiteに変換してローカルSQLite上にてロジックだけテストさせる…
こういうの無かったらつくってみようかなーと思ったんですが、やっぱりありましたね。 テスト用で使ったsql文(oracle) CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7, 2),…
いっっっっっっつも忘れてググるのでメモっとく。 open my $fh, "<", "file.txt"; my $data = do{ local $/; <$fh>}; close $fh; print $data; モジュール使えるなら Perl6::Slurp が楽ちん。 use Perl6::Slurp; my $data = slurp 'file.txt'; print $data;
前回のPerlCasualにも参加させていただきましたが、今回も行って参りました! 例によって走り書きのメモから感想など。 リソース監視ツール・フレームワークCloudForecastの紹介 kazeburoさん CloudForecastの特徴など。 分散処理、高速動作 大規模運用にも…
会社でmojoliciousを使って開発したサービスがあるのですが、 リリースが近づいてきたのでデプロイをどうするか決めることに。 perlのWAF使ったデプロイをしたことがないので どの方法がいいか決めかねている。 そのためいろいろ試してみて問題なさそうなの…
需要ないと思いますが、perlで数値を3桁毎にカンマ区切りフォーマットに変換する 正規表現のベンチマークです。*1 元ネタ http://www.din.or.jp/~ohzaki/perl.htm#NumberWithComma スクリプト #!/usr/bin/perl use strict; use warnings; use Math::BigInt;…
perlbrewでインストールしたperlでapacheとmod_perlをソースビルドしようとしたら mod_perlのmakeでエラーが発生。 以下はその対応記録。 環境 os CentOS5.3 64bit perl 5.12.1 apache 2.2.15 mod_perl 2.0.4 エラー内容 libperl.a(op.o): relocation R_X86_…
ツイッターでつぶやいたらアドバイス頂いたので試してみた。 この方法でいいのかどうかは不安ですが一応手順をメモ。 要は、サーバ全体でのperlデフォルト環境をみんな一緒にしたかったということ。 /usr/bin/perl を直接変えちゃうのはいろいろ問題ありそう…
Mojoliciousはデフォルトでは lib/AppName/ 配下に置かれたファイルがコントローラになります。 でも数が増えてきたらディレクトリ作って管理したいですよね! そんなときはnamespaceを使うと実現できます。 では、以下のような構成にしたい場合の設定を見て…
※こっちが最新 http://d.hatena.ne.jp/tori243/20100808/1281248450 作ってみた。 MojoとDBIとsqliteがインストール済みなら daemonでもcgiでもコピペするだけで動くはず…! http://gist.github.com/463484 *1 てかほとんどyusukebeさんのコードコピペです。…
最近mojoliciousを触る機会が多いです。 でJSON使う要件が出てきて、render_jsonってのがあるけど何使ってんのかなーと追ってみたら Mojo::JSONというのモジュールで自前実装してるっぽい。 これそのまま使えばいいんじゃね?ということで いちおうベンチマ…
PerlフレームワークCatalyst完全入門posted with amazlet at 10.06.20山田 祥寛 インプレスジャパン 売り上げランキング: 147465Amazon.co.jp で詳細を見る 目次はこちら http://www.amazon.co.jp/gp/product/toc/4844328654/ref=dp_toc?ie=UTF8&n=465392 初…
perl -d でデバッグプロンプト表示させたら最初に { v と入力してみましょう。 超見やすくなるよ! ちなみに戻すときは以下のコマンドでおk。 { *
先週botをOAuth対応したんですが、 今日ふと気づいたらとあるbotのツイートに 全然関係ないbotのツイートが流れてた! 認証モジュール こんなのをbotごとに作ってる。 面倒なのでこれコピペしてキーだけ変えてる。 package Auth; use strict; use warnings; …
Mojolicious::Liteで社内用簡易ファイルアップロードcgiを動かしてたんですが、 大きいサイズが途中で切れちゃってた。 調査してみると、どうもデフォルトでのメッセージサイズが設けられている様子。 環境変数MOJO_MAX_MESSAGE_SIZEを設定したら大きいファ…
http://gihyo.jp/dev/serial/01/modern-perl/0020?page=3 ※こちらの内容を元にしたコードを使っていると仮定 Email::Sender::Transport::SMTP を使って「外部ドメイン」へ送信したら… そのままだとエラーで送信出来なかった。 メールサーバ*1での設定でなん…
Net::OpenSSH Net::SSHとかもありますが、 自分的にはこっちのほうが直感的に使えた。 依存モジュールも少なくてインストールも簡単! SYNOPSISのコピペ use Net::OpenSSH; my $ssh = Net::OpenSSH->new($host); $ssh->error and die "Couldn't establish SS…