メメメモモ

プログラミング、筋トレ、ゲーム、etc

ルーティング設定に名前をつける

以下のようにルートに名前をつけることが出来ます。 # Mojolicious::Liteの場合 get '/hoge/detail/:id' => sub { ... } => 'hoge/detail'; # Mojoliciousの場合 $r->get('/hoge/detail/:id')->to('hoge#detail')->name('hoge/detail'); このようにしておく…

emacsclientでtty関連のエラーが出る

http://www.emacswiki.org/emacs/EmacsAsDaemon#toc17他のユーザーから切り替えたユーザーでemacsclientを実行すると、 以下の様にttyでエラーが出ます。 *ERROR*: Could not open file: /dev/pts/1ユーザーを切り替えるときはsshを使ったほうが良いみたいで…

Orepanでローカルミラーを作成・管理する

プロジェクトが依存しているモジュールをローカルミラーで管理します。 ローカルミラーはプロジェクトのバージョン管理下に入れます。 こうすることで、依存モジュールのバージョンを固定することができます。 管理ツールインストール ローカルミラーを管理…

NotFound時の処理を書く

NotFoundページを表示するだけなら「$self->render_not_found」を使う。 表示以外の処理を書きたい場合は、after_dispatchフックを使う。 $self->hook(after_dispatch => sub { my $c = shift; if ($c->res->code eq '404') { # HogeHoge return $c->render_…

バージョン番号の比較

3.8.9と3.8.2.3の比較とかマイナー番号がなんかいっぱいあるときの比較。versionモジュールを使う。 use version; warn "true" if version->new('3.8.9') >= version->new('3.8.2.3'); warn "false" if version->new('3.8.9') >= version->new('3.8.9.1');

PPIとTest::LocalFunctions、Compiler::Lexer周辺について調べたこと

帰省中にTwitterを眺めていたら話題になっていて、知らなかった事だったので調べてみました。 MANIFESTファイルとMANIFEST.SKIPファイル MANIFESTファイルは、パッケージに含めるファイルの一覧です。 MANIFEST.SKIPファイルには、パッケージに含めたくない…

Test::MojoのUserAgentを変更する

Test::Mojoないで使われているMojo::UserAgentのnameを変更する。 $t->ua->name('Test UserAgent');

Mojo::Uploadのmove_toは必ずしもmvではない

Mojo::Uploadのmove_toの実態は、メンバ変数のassetのmove_toに委譲しています。 sub move_to { my $self = shift; $self->asset->move_to(@_); return $self; } このassetは「Mojo::Asset::Memory」か「Mojo::Asset::File」のインスタンスが入ります。 どち…

ドメインを取得する

$self->req->url->to_absを使う。 say $req->url->to_abs->userinfo; say $req->url->to_abs->host; say $req->url->to_abs->path; Mojo::Message::Request - HTTP request - metacpan.org

Ukigumoで構築するCI環境

UkigumoでCI環境を構築します。 今回構築した環境では、 proveでテスト実行 Ikachanでテスト通知 を行うことにしています。 Ukigumo-Serverの設置 gitでcloneしてきます。 $ git clone git://github.com/ukigumo/Ukigumo-Server.gitREADMEに従って依存モジュ…