tokuhirom's blog
Hasegawa方式の CSRF対策を試してみた
Amon2 での実装例です。 使用感としては、 * 実装はそれほどむずかしくない * トークンの保存をサーバー側でやらなくていいので楽 といったかんじ。 管理画面とかでつかってみたらよいかもし
2013-03-04(Mon)
Requested HTTP::Headers#flatten
[ This method is highly useful to create PSGI array ref.
2013-03-04(Mon)
About container class
[ こういうの、最近、Mouse とかで適当に定義すればいいかな、とおもっている。。
2013-03-03(Sun)
韓国語→英語の辞書を Dictionary.app に追加する
最近の OSX では、3本指でタップすると辞書がポップアップするということで、活用されている方も多いとおもいますが、OSX にはいっている Dictionary.app には kr-en の辞書がはい
2013-03-03(Sun)
VimProc のインストールが意外と簡単
VimProc って便利そうだけど、インストールめんどくさそうだからまあいいか、とおもってたんだけど、実は NeoBundle でパツイチはいるものらしい。 > vimprocを自動でビルド出来るっ
2013-03-02(Sat)
Furl::Response#to_psgi
I shipped Furl 2.07 today. Added Furl::Response#to\_psgi in this version. It's very useful to proxy
2013-03-02(Sat)
Apache::LogFormat::Compiler is awesome
> Apache::LogFormat::Compiler compiles log\_format line ‘combined’, ‘common’ or ‘%h %l %u %t “%r” %>
2013-03-02(Sat)
Amon2 is now Carton ready - Amon2 3.74 is out
[ I shipped Amon2 version 3.74, today. This version of Amon2::Setup creates cpanfile to support Ca
2013-03-02(Sat)
Time::Piece::strftime and time zone issue
[ This entry is just thinking note. ``` use strict; use warnings; use utf8; use Time::Piece; $ENV
2013-03-01(Fri)
The Silver Searcher is great.
[ [ The-silver-searcher is very fast implementation of code searching. It's really *fast*. I sugges
2013-03-01(Fri)
Why does Amon2 generates .psgi file, but Mojolicious does not generate it?
> 素朴な疑問Amon2はpsgiファイルが雛形でつくられるけどMojoliciousではgenerate appで何故つくられないんだろ?。 > — dokechin (@dokechin) [Fe
2013-02-28(Thu)
@kazeburo releases Module::Build::Pluggable::CPANfile
[ ``` use Module::Build::Pluggable ( 'CPANfile' ); my $builder = Module::Build::Pluggable->ne
2013-02-28(Thu)
GrowthForecast-Aggregator-Declare
[ ``` use GrowthForecast::Aggregator::Declare; my @queries = gf { section member => sub {
2013-02-28(Thu)
git fetch-pulls
> git config alias.fetch-pulls = fetch origin +refs/pull/\*:refs/remotes/pull/\* > — Tatsuhiko Miyag
2013-02-27(Wed)
cpanm 1.6 リリースによせて
[ cpanm を単体につかうときの機能として一番大きいのは、--dev オプション。--dev オプションをつけると development version をインストールすることができる、よ。
2013-02-27(Wed)
DBIC の ResultSet を View に渡すことの可否
これはもう、Role のわけ方による。 \# エンジニア兼HTMLコーダー + デザイナー \# エンジニア + デザイナー兼HTMLコーダー \# エンジニア + HTMLコーダー + デ
2013-02-27(Wed)
尿だ!尿だ!
尿液晶だ! と、CartonCon で DIS られてたのは、このソフトウェアでやっていました。 [ 効果としては * 夜になったら、作業を邪魔しないかんじでわかるので、一日のサイクルつかみや
2013-02-27(Wed)
Test::TCP 1.19-TRIAL is now on CPAN!
It contains Net::EmptyPort. Try it.
2013-02-27(Wed)
汎用データフォーマットにたいする雑感
* フォーマットの変更は、ユーザーに対して基本的に不利益をあたえる * バージョン情報が含まれているフォーマットならば問題はすくない * ユーザーはなにも考えたくないから汎用フォーマットをつかう
2013-02-25(Mon)
WEB+DB PRESS Vol.73
2013-02-25(Mon)
Proposal for Class::Accessor::LazyRO
### Synopsis ``` use Class::Accessor::LazyRO ( dbh => sub { my $self = shift; DBI->connec
2013-02-24(Sun)
httpstatus コマンドで、HTTP のステータスコードをすばやくしらべる!
一般的な Web Programmer ならば、HTTP Status code はすべて暗記していると聞きました。 しかし、僕は初心者なので、なかなか覚えきれていないので、HTTPのステータスコー
2013-02-21(Thu)
Try::Lite is especially useful in PSGI handler.
I guess, Try::Lite is very useful in PSGI handler. ``` use Try::Lite; my $app = sub { try {
2013-02-19(Tue)
HTTP::Thin
[ perigrin's HTTP::Thin is a thin wrapper for HTTP::Tiny and HTTP::Message. It looks good, since
2013-02-19(Tue)
.gemrc に --no-ri --no-rdoc の指定をしてインストールを高速化する!
gem でなんかいれるときに ``` Installing RDoc documentation for rest-client-1.6.7... ``` とか表示でてきておっせーなー、どうせみね
2013-02-16(Sat)
Log::Pony::Emotional もつくってみた
2013-02-15(Fri)
Perl のウェブアプリケーションのディレクトリ構成をわかりやすく説明するよ
ディレクターの人にわかりやすいように、Amon2 をつかった一般的なプログラムのディレクトリ構成をわかりやすく説明していくよ。 ### lib/ プログラム本体がはいっているよ。 ### tmp
2013-02-15(Fri)
I wish "Did you mean" in metacpan API
I got "! Couldn't find module or a distribution XXX:::YYY ()" error, sometime. I seem if metacpan
2013-02-15(Fri)
Submit a lightweight patch for Devel::REPL!
[ Devel::REPL is great repl for Perl5. It has compeletion, colorize, fancy prompt, etc. But it's
2013-02-15(Fri)
Perl で定数を定義するときにきをつけたいこと
Perl で constants.pm で定数を定義することはよくありますが、任意の定数表をつくるときで、配列の添字などにならない場合には 1 origin でやるといい気がします。 0 は pe
2013-02-14(Thu)
Cache::Memory::Simple::Scalar だした
なんか、Cache::Memory::Simple いいんだけど、一個しかぜったいに値がはいらない場合ってあるじゃないですか〜 そんなときに Cache::Memory::Simple のインター
2013-02-14(Thu)
Amon2 に local context mode をつけた
### 問題 Amon2 のプロジェクトを2つ Plack::Builder で mount してつかいたい、みたいなときにコンテキストがどっちかこんがらがったりしそうかなーっておもったりしたんで。
2013-02-13(Wed)
travis ci で The distribution doesn't have a proper Makefile.PL/Build.PL っていわれたとき
cpanm が古いときにでることがあるとかいう噂なので、 ``` before_install: - perlbrew install-cpanm -f ``` としておくと、cpanm の最
2013-02-12(Tue)
Moo の利点
「Moose だと起動がおそいから Mouse にしてよ」はとおらないけど「Mooseだと起動が遅いからMooにしてよ」が通ること。。 ぐらいかな!
2013-02-11(Mon)
Moo loads Moose automatically when ->meta->add_method()
Moo の \_\_PACKAGE\_\_->meta の実態は Moo::HandleMoose::FakeMetaClass なのであって、このメタクラスのメソッドをよぶと、その瞬間に Moose
2013-02-10(Sun)
Current status of namespace::autoclean.
namespace::autoclean has a big problem. It breaks overloading feature. @RsrchBoy pull-reqed a year
2013-02-10(Sun)
Role::Tiny->apply_roles_to_object が、apply しすぎると Identifier too long になる件
[ Role::Tiny->apply\_roles\_to\_object で apply しまくると、Foo\_\_WITH\_\_R::AAAAAAAAAAAAAAAAAAAAAAAAAAAA
2013-02-10(Sun)
Module::Build に test_requires をサポートさせるパッチをおくりつけた
[ 最近、cpanm が test\_requires に対応していて、--notest にすればインストールされなくなったということで、Module::Build も test\_require
2013-02-10(Sun)
Furl-2.03 supports URI based authentication
Furl-2.03 supports URI based authentication. It means you can use [ to send basic auth header. An
2013-02-09(Sat)
Xslate に assert() 的な組み込み関数があったらいいのにな、とおもうことがたまにある
``` [% assert(foo) %] ``` みたいにかけて、foo の中身があればそのまま出力されるし、その変数なければ死ぬ、的な?
2013-02-09(Sat)
MooX::late をためす
MooX::late は Any::Moose や Moose なモジュールを Moo に移植するためのつなぎのモジュールとなってくれる存在です。 Moo では Moose の、なんか気をきかせてく
2013-02-07(Thu)
Module::Functions - Get function list from package
I shipped Module::Functions, that aggregates list of public functions from package. I released Expo
2013-02-07(Thu)
Mouse をつかいつづけたって、いいんだよ。
Mouse がオワコンなのでは?? とおもっていらっしゃる方もいるかもしれませんが、別につかいつづけたっていいんです。 ただ、Any::Moose はなんだかんだやっぱり問題が多いんで、Any::
2013-02-07(Thu)
osx で sleepimage というファイルがでかすぎるの件
なんか普通に macbook air はデフォルトでメモリの量のサイズの sleepimageというファイルができる。 これが邪魔なのでファイルパスをかえたいという場合、 ``` pmset -
2013-02-07(Thu)
carton bundle について ikasam_a さんにきいた
[ ここのへんをよむとわかるらしい。 ``` cpanm --save-dists local/cache ``` のラッパー的存在だそうです。 local/cache ってところに依存モジ
2013-02-07(Thu)
Shipped plenv 1.4.0!
``` 1.4.0 2013-02-07T09:48:26 - bundle cpanm and just use it in `install-cpanm` command
2013-02-07(Thu)
Moo 版の Email::Sender がでています!!
[ [先日もお伝えした]( が Moo になる件、ついに正式リリースとなりました。 なお、これにともない Mail::Krohn はきえさりました。。
2013-02-07(Thu)
【適当訳】Any::Moose は Deprecated です。
[ 新しいコードでは Moo を Any::Moose のかわりに使ってください。 Moo のクラス/ロールは、透過的に、そして正しく Moose にアップグレードすることができます。これは、An
2013-02-06(Wed)
cpanm ってなんですか? carton ってなんですか?利点はなんですか?
なんか適当に。 cpanm は cpan モジュールをいれてくれる人です。元々は某 VPS のメモリがたりなくて CPAN shell が起動しないからなんとかしよう、みたいなのがきっかけだった気が
2013-02-05(Tue)
Why is MooseX::Object::Pluggable slow?
It makes MyApp::Plugin::\* module list to load each plugins. If it cache it, it's even faster. De
2013-02-04(Mon)
Term::EditLine の history 関連API がこわれてたのでパッチをかいてみた
[ こんなかんじです。昔はうごいていて今はうごいていないのか、どうかわかりませんが、たぶん普通に最初からうごいてない気がします。 ``` diff --git a/EditLine.xs b/Ed
2013-02-03(Sun)
carton + 開発版の cpanm で、特定のバージョンのモジュールをつかいこなす!
開発版の cpanm で、META file の version range がサポートされるようになりました。 CPAN の META spec v2.0 では、version range がサポ
2013-02-03(Sun)
Proclet で tail -F をつかうと便利
最近は Proclet で local の開発環境を構築している(そして staging で daemontools で確認する)。 Proclet で memcached, STF, placku
2013-02-02(Sat)
autoboxをデバッグしたときのメモ
``` my $X; END { $X->() } use autobox; $X = sub { 1->OMG() }; ``` みたいなコードがしぬのが知られていて、だいぶ前に repor
2013-02-01(Fri)
B::Hooks::Parser と B::OPCheck をもちいたソースフィルターの作り方
ソースフィルターの用途は大きくわけて2種類 * ぜんぜん perl でないコードを perl にする * perl コードの一部をかきかえる 前者は、普通に文字列置換なりでやればいいのだが、後者は
2013-01-30(Wed)
Perl5 における関数 prototype の取扱いについて
いろいろな人が prototype をつかってるのをみてきましたが、 ``` sub foo(&) { } ``` として ``` foo { } ``` のように、block を coder
2013-01-29(Tue)
OSX ユーザーのために Term::ReadLine::EditLine をだした。
### 問題 Term::ReadLine::Gnu を OSX にいれるのがだるい ### なぜか? OSX では(たぶん) license の関係で GNU readline が搭載されてお
2013-01-27(Sun)
plow というプロジェクトをはじめた
plow というのは、なんか perl5 をより簡単につかえるようにするというか、お気楽につかいたい気分のときのためのツールです。 [ インストールすると plow コマンドがつかえるようになりま
2013-01-25(Fri)
How can I expand '~' in directory path?
``` s!~!glob("~")!ge ``` works.
2013-01-24(Thu)
【Important】Shipped Furl 2.00【重要】【要確認】【ご確認ください】
I released Furl 2.00. It contains very important and incompatible change. Furl now verify every SSL
2013-01-23(Wed)
Prev
Next