tokuhirom's blog
Perl5 における ":method" とはなにか
attributes.pod によると以下のように説明されている。 > method Indicates that the referenced subroutine is a method. A
2013-04-22(Mon)
ZenBack とはてなブログのスマホビュー
ZenBack はってるはてなブログ、スマホビューのときに非常によみづらい。コメント投稿ボタンがどこだかわからない。 見た目のカスタマイズの項目が、スマホ用とそれ以外でわかれてないというのがそもそもの
2013-04-22(Mon)
Pod::Simple::Methody では現在処理している行数を把握することができない
`Pod::Simple::Methody` は `Pod::Simple` を簡単につかうためのラッパーなのだが、handle\_text で現在処理中の行数をえるためには*すべての*イベントをフッ
2013-04-18(Thu)
ぼくがいれてる homebrew のやつのリスト
一回だけつかってそれっきりなものも、多い。 # 2013 年のときは以下のようなものを使った。 ``` ack csshx fuse4x gmp imagesn
2013-04-18(Thu)
Minilla の簡単なつかいかた
[ ↑の記事の `mila setup` をぬかせば基本的におなじです。
2013-04-15(Mon)
CPAN Meta Spec 2.0 における requires, recommends, suggests
cpanfile などにかく、requires, recommends, suggests の使い分け、どうあるべきか。 ``` requires These d
2013-04-13(Sat)
minil migrate の挙動のメモ
minil migrate の挙動がよくわからない人のために。 # META.json がない場合 Build.PL / dist.ini / Makefile.PL から META.json を
2013-04-13(Sat)
CPAN モジュールの開発についての最近の風潮
[ ExtUtils::MakeMaker → Module::Build → Module::Install → Module::Build → そして今、Minilla が颯爽と登場! という
2013-04-12(Fri)
How do I test a SV is readonly?
``` use B; !!(B::svref_2object(\$_[2])->FLAGS & B::SVf_READONLY); ```
2013-04-12(Fri)
utf8mb4 をゲタに置換する方法
検索用キーワード: How do you replace utf8mb4 characters? ``` s/[\x{10000}-\x{7FFFFFFF}]/\x{3013}/gx ```
2013-04-09(Tue)
Test::More で teardown/setup
[ [ ``` package t::Util; use parent qw(Exporter); our @EXPORT = qw(lovetest $MOCK); use Test::More;
2013-04-09(Tue)
FatPacker したやつがでかすぎるときは perlstrip
[ [ gugod におしえてもらったのですが、perlstrip ってのつかうと、perl のコードを strip できて fatpacker で肥大化したスクリプトをスリムにできます。
2013-04-07(Sun)
Amon2 により CSV を PSGI/Plack で出力する方法
Amon2::Plugin::Web::Streaming と Text::CSV\_XS の組み合わせにより、ストリーミング出力が可能です。 (Streaming 出力をサポートしたサーバーをつかっ
2013-04-06(Sat)
SQL::TwoWay - 2way SQL in Perl5
[ 2WaySQLというものがあるわけです。 2WaySQLについては[ を参考にしてもらうとして、 超絶簡単に説明すると、実行可能なSQLを書いておいて(where句の値もデフォルト値を書いておく
2013-04-05(Fri)
{{$NEXT}} ってどう動くの?
リリースされる tar ball には `s/{{$NEXT}}/0.03 $date/` したものがはいって元の changes には `s/{{$NEXT}}/ {{$NEXT}}\\n\\n0.
2013-04-04(Thu)
Test::CallCounter だした
> @[tokuhirom]( “@[soh335]( @[xaicron]( mock::guard よく使ってるんですけど、呼ばれた回数だけカジュアルに取れるのが ( cpan に ) あるといい
2013-04-04(Thu)
scan-prereqs-cpanfile - Scan prerequisite modules from the code and generate cpanfile
[ This script scans prerequisite modules from your code, and generate CPANfile. You can also list m
2013-04-04(Thu)
Perl6でFizzBuzz
```perl6 for 1..100 { when $_ % 15 == 0 { say 'FizzBuzz' } when $_ % 3 == 0 { say 'Fizz' }
2013-04-04(Thu)
Perl6 の速度にかんするメモ - 20130404
[ ↑2012年1月だと、 > Perl6 がすげーはやくなった! みたいなこといってて、たしかにだいぶはやくなった感じはする。10, 000回もインクリメントするスクリプトも7秒以内におわる。
2013-04-04(Thu)
UNIVERSAL::DOES の使い道
使い道がよくわからんなあ、とおもって無視していたのですが、 Perl 5.10 以後では UNIVERSAL::DOES がつかえるようになっています。具体的にはあらゆるオブジェクトで `->DOES
2013-04-03(Wed)
僕のかんがえた最強の Getopt::Long の使い方
* [ * [ ``` my $p = Getopt::Long::Parser->new( config => [qw(posix_default no_ignore_case auto_
2013-04-03(Wed)
cpanm の挙動がおかしいな、とおもったら確認すべきこと
だいたいはセットアップに失敗しているだけですが、cpanm がキョドってるときに僕がやっているトラブルシューティングの手順をここに記す。 # おもった通りの cpanm をよんでいるかチェックする
2013-04-03(Wed)
perl-build の最近のアップデート
* Documentation enhancements * \--build-dir option(typester) * \-A'eval:scriptdir=$prefix/bin' つけないと
2013-04-01(Mon)
Test::More::new_ok を使うべきではない理由
* new\_ok は eval { } の中で `Foo->new` を呼び例外が発生した場合には undef をかえす * 意味わからないエラーがでる * Perl5 において "new" と
2013-03-29(Fri)
Perl における一般的なコーディング規約について
* [ * [ perlstyle.pod にのっているものが公式のスタイルガイドです(Larry 風)。 Larry has his reasons for each of these thin
2013-03-29(Fri)
perl-build 0.09 で fatpacked な perl-build を提供するようにした
``` % curl | perl - 5.16.3 /opt/perl-5.16/ ``` とかでパツイチうごくようになった、はず。
2013-03-27(Wed)
ポータビリティエンハンスメントパッチを送ってくる人たちへ(Especially Win32)
どうして直るのかを*コメントに*書いておいてくれないと、後々こまるので、ちゃんとかいてください!
2013-03-26(Tue)
How can I list CPAN reverse dependencies from metacpan?
``` #!/usr/bin/env perl use strict; use warnings; use utf8; use 5.010000; use autodie; use Furl; use
2013-03-25(Mon)
xt/01_spell.t の方針かえた
* Pod::Wordlist::hanekomu をつかう * CPAN Author の名前とかがもろもろはいってて、だいぶ結果がマシになる * なんかみんなつかってるっぽい。 * aspell
2013-03-22(Fri)
サーバーのセットアップは perlbrew とかじゃなくてよくね? という時のライフハック
[ perl-build というコマンドをつかうと便利。 ``` perl-build 5.16.2 /opt/perl-5.16/ ``` とかで管理するとよい。 ``` perl-bui
2013-03-19(Tue)
Furl 2.10 was shipped.
[ It *reverts* change in 2.08, be careful. Note: The feature introduced in 2.08 is broken, it's no
2013-03-18(Mon)
Perl5 の CVE-2013-1667 - Important rehashing flaw についての見解
あまり触れる気もなかったのですが、日本語でふれている人がいなかったので。 Perl 5.8 〜 5.16 で DoS の security fix がでています。OS の system perl を
2013-03-16(Sat)
Shipped Amon2::Plugin::ShareDir
CPAN から install できるようなウェブアプリケーションつくるときに、インストールしてなかったら $c->base\_dir/share/ からテンプレートファイルとかつかって、インストール
2013-03-14(Thu)
ゆるふわなかんじで perl の話題をするためのチャットルームをつくってみた
[ だいぶふわふわしててよい。初心者歓迎なムードがただよっています。
2013-03-13(Wed)
安定的な Perl アプリケーション運用のための perlbrew 運用テクニック
2013-03-13(Wed)
git merge が、必ずエディタをひらいてきてウザい件
> @[tokuhirom]( 1.7.10の変更だったと思います [raw.github.com/gitster/git/ma…]( " > — azu (@azu\_re) [March 13,
2013-03-13(Wed)
Module::Build::Pluggable::GithubMeta がでました
[ Module::Install::GithubMeta に対応するモジュールとなります。META.yml の中に github の repository の情報をいれてくれて便利です。 今日か
2013-03-11(Mon)
NSNotificationCenter を Perl でつかうためにやる必要があることのメモ
結局 .app を同梱しないと無理っぽい。 のでいったんあきらめる。
2013-03-11(Mon)
日ごとの CPAN module アップロード数を可視化してみた
2013-03-11(Mon)
Module::Install をつかっているモジュールを git からインストールできるようにするためのパッチ
[ cpanm が git uri から直接いれられるようになったのだけど、git からインストールするときに、M::I や M::B::P をつかってる場合に、configure\_require
2013-03-09(Sat)
perl-users.jp のトップページがリニュアールしていた
[ なんか、すっきりして過去の異物がきえさったような気がします。
2013-03-08(Fri)
Class::Load の現況について
たんに module を load したい場合、Class::Load は Module::Runtime のラッパーにすぎないので、Module::Runtime を直接つかった方がよい。 いつのま
2013-03-06(Wed)
s/a # ]//x 問題について
[ ``` use 5.014000; my $s = 'a'; $s =~ s![ a #] ]!b!gx; say $s; ``` ↑↑ のコードの問題点は //x の # 以後に、
2013-03-06(Wed)
そういえば Dancer が version2 になって、Dancer2 になっていますね
[ 時代が Amon2 においついたな、という感じがする。
2013-03-06(Wed)
Ukigumo-Server is carton ready.
I added cpanfile for Ukigumo-Server!
2013-03-05(Tue)
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)
Prev
Next