tokuhirom's blog
Amon2 4.00 released
Amon2 が久々のメジャーバージョンアップをはたしました。 主な目玉としては、 * Teng をデフォルトの O/R Mapper として採用 * bootstrap 3 に対応 の二点で
2013-08-27(Tue)
CPAN における Authority の話
ざっくりいうと: 他の人にかわりにアップロードしてもらう時は x_authority を設定するとよい CPAN では、共同メンテナ(co-maintainer)を任命するなど、権限まわりでいろいろ
2013-08-27(Tue)
[perl] !!1 と 1 ではパフォーマンスに差がでるのか
一般的なインタプリタでは定数の畳み込み最適化が行われるため、プリミティブにたいする演算は最適化されます。 % perl -MO=Terse -e 'print !!1' LISTOP
2013-08-27(Tue)
XS::TCC and OSX
There is three issues around XS::TCC and OSX. ## 1. libtcc can't detect warnings and errors. libtc
2013-08-27(Tue)
Perl6 を vim でいじってたら糞おもいんですが、という時
なぜか知らないが、vim-perl にはいっている perl6 のプラギン、perl6 コマンドを実行しよるので、これがすごい重い。 ありえない重さ。 この実行は以下の一行を .vimrc に追加す
2013-08-27(Tue)
XS::TCC and C::TinyCompiler
# C::TinyCompiler C::TinyCompiler needs to specify the types. It's bit tiresome. But it makes more
2013-08-27(Tue)
How can I detects warnings and errors from libtcc?
libtcc's error callback function does not provides the warnings or error flag. But, libtcc's tcc_co
2013-08-27(Tue)
俺のブログツールでアフィリエイトする方法
2013-08-27(Tue)
O/R Mapper と resultset
ふと DBIC の resultset ってどんなんだっけ、とおもって、DBIC っぽい O/R Mapper をかいてみたんだけど、それでおもいだしたのは `->resulset('Hoge')`
2013-08-27(Tue)
el-get をつかうのをやめて package.el だけにした
基本的に package.el をつかっていて、たりないものを el-get でやっていたのだが、el-get はたいがいめんどくさいし、時がたったことによりほとんどものが MELPA に登録されてい
2013-08-14(Wed)
PVIP という #perl6 parser をつくってるよ、という話
最近、[pvip]( という、Perl6 パーザをつくっている。 Perl6 のコードを解析して、AST を構築する C99 なコードである。 現状、Perl6 のテストスイートである roast
2013-08-14(Wed)
JSON::XS とそれにまつわる歴史的な過去の話、まとめ。
今日リリースされた common::sense-3.7 が壊れていた影響で、日本の皆さんが混乱しているようなので、丁寧な JSON::XS の歴史解説エントリをここに記す。 # perl-5.18
2013-08-14(Wed)
なぜ PVIP は C で書かれているのか
Perl6 のパーザである PVIP は C でかかれていますが、なぜ C なのかという質問がきていたのでお答えしましょう。 それは、PHP で書いてあってもつかいみちがないし、Perl5 で書いて
2013-08-14(Wed)
ドキュメントにこれこれこういうことについて追加しろ! みたいな github issues
を送ってくる人、「そこまでわかってるんだったら pull-req」でおくってきた方がはやいんじゃ。。 という事案が最近よくみます。
2013-08-14(Wed)
What's different between OrePAN1 and OrePAN2?
2013-08-14(Wed)
Carton 1.0 リリースによせて
Carton 1.0 がリリースされました。おめでとうございます! miyagawa++ というわけで早速手元でうごかしてみたところ、いくつか問題があったので miyagawa さんに修正してい
2013-08-14(Wed)
Carton 1.0 時代の Web アプリケーション開発フロー
Carton 1.0 がでたところで、Web アプリケーション開発のフローを一度見直しておきたい、そんな人も多いでしょう。 そんな方のために僕のやりかたをまとめました。各社、議論の叩き台にしていただけ
2013-08-14(Wed)
YAPC::Asia 2013 で「FuturePerl - My thoughts」というタイトルで発表します
YAPC::Asia 2013 で、Perl5 の過去、Perl5 のこれから、Perl6 の過去、Perl6 のこれから。そういった話をします。 Perl6 まわりがいろいろうごいている中で、どう
2013-08-14(Wed)
VMWare Fusion が system で CPU100% くってどうしようもないから VirtualBox に移行した話
表題のような状況になり、業務にさしつかえまくったので、あきらめて VirtualBox に移行しました。 いろいろ調べて、VMWare tools をインストールしなおすとかもやってみたけど埒があかな
2013-08-14(Wed)
Text::VisualWidth::PP 0.02 がでていた
Text::VisualWidth::PP といえば、文字の幅が1文字幅か2文字幅かを判別してうまいことなにかやりたいときに便利なライブラリとして Perl 界では有名ですね。 このモジュール、もと
2013-08-14(Wed)
続・初めてのPerl 改訂第2版 が発売されます
2013-08-14(Wed)
PVIP で :$x 形式のペア生成をサポートした
Perl6 パーザである PVIP では :$x 形式のペア生成をサポートしました。 この記法は `('x' => $x)` をみじかく書けるようにしたものです。 この変更により roast のカ
2013-08-14(Wed)
Moose における Role と Traits の違い
Roles that apply to metaclasses have a special name: traits. つまり、メタクラスにあてる Role のことを Traits と M
2013-08-14(Wed)
Email::MIME 1.923 でマルチパートのときに余計な CRLF がつく問題が修正されています
こちら、だいぶまえに報告してそのままだったのですが、ようやっと解決されました。 Email 関連のモジュールのテストケースなどが壊れる可能性があるかもしれないです。
2013-08-14(Wed)
miyagawa さんちの rebuildfm に登場してました
登場してます。 Carton1.0, YAPC::Asia, Perl6 あたりについての僕の所感というか、そういったものがでてますので聞いていただきますとよろしいかと存じます。
2013-08-14(Wed)
大量の子ノードを持つようなオブジェクトを生成する xs のときのメモリ開放について
magic に、root node かどうかを記録しておいて、親のときだけ開放するっていうルールにするといろいろ楽な気がした。
2013-08-14(Wed)
Shipped Perl6::PVIP 0.01
Hi, I released Perl6::PVIP 0.01. It's perl5 bindings of [pvip]( yet another perl6 parser library w
2013-08-14(Wed)
perl 5.18.1 がでていますよ
変更点は [perldelta]( をごらんください。 lexical subs など、Perl 5.18.0 で導入された機能に関するバグフィックスが中心ですので、無理にアップグレードする必要
2013-08-14(Wed)
Minilla により、comaint しやすくなった件
Minilla によりリリースプロセスが標準化されたので、comaint つけて「あとは minil release するだけだからやっといてください」がやりやすくなった。 [comaint]( コ
2013-08-14(Wed)
Carton 1.0 にアップグレードするときに PERL_CARTON_PATH を設定している人は気をつけようという話
Carton 1.0 では carton exec が cpanfile.snapshot を読むようになっています。 なので、PERL_CARTON_PATH を設定して carton exec し
2013-08-14(Wed)
PAUSE における comaint とはなにか
2013-08-14(Wed)
Docker で Growthforecast をインストールする方法
ちょいちょい GrowthForecast のインストールが perl だから難しいとかいってる人をみかけるけれど、Dockerfile が用意してあれば、セットアップは簡単になるんじゃないだろうか。
2013-08-14(Wed)
Shipped FormValidator::Lite 0.37
FormValidator::Lite に Hash::MultiValue やら Hash やらを直接くわせたいという要望がちょいちょいきくので、pull-request をまっていたのですが、こな
2013-07-26(Fri)
alarm(2) と sigitimer(2) の関係
[setitimer - 本流の処理とは別に定期的に割り込み処理をしたいときに]( * [settimer(2)]( * [alarm(2)]( のあたりがこのへんの情報については参考になるわ
2013-07-26(Fri)
Web アプリケーションのロジックを手続きとして実装する話
yusukebe の[Object::Containerを応用したModel呼び出し]( のあたりをよんでの感想ですが。 一時期 Catalyst の影響もあって、モデルのインスタンスつくったりなん
2013-07-26(Fri)
[blog]自作のブログシステム、ちょっとだけアップデートした
古式ゆかしい blosxom 方式でやっていたのですが、さすがにちょっと古すぎるというか、トップページの表示とかがきついんで、SQLite3 にデータをつっこむことにしました。 かなり表示が高速化され
2013-07-22(Mon)
Ubuntu の build-essentials 的なことを yum でやりたいときの方法
Ubuntu だと、開発関連のツールキットを一気にするには以下のようにすればよろしい。 apt-get install build-essentials これとおなじことを CentOS
2013-07-22(Mon)
[PHP] preg_replace における //e があぶない話
[Malware Hidden Inside JPG EXIF Headers]( という話題がでていたので見てみたところ、単に preg_replace がセキュリティ上問題があるインターフェイスだ
2013-07-18(Thu)
[Perl5]Perlの今がわかる! 『Perl徹底攻略』という本ができました
2013-07-18(Thu)
英語の勉強のために通勤電車で最近やっていること
2013-07-17(Wed)
Simple S-Expression parser in Perl5
I wrote simple S-Expression parser in Perl5. It's only 56 lines of code, but it's works. My own pa
2013-07-16(Tue)
[perl] Object::Generator の yield が面白い
Coro をつかってイテレータを簡単に実装できるようにしているのがオツですな。 use strict; use warnings; use Generator::Object;
2013-07-16(Tue)
Multiline comments in Perl6
You can use multiline comments Perl6 like following: #`{{ say "here is an unmatched } c
2013-07-14(Sun)
Disqus の E-mail moderation が便利。
このブログでつかっているコメント欄の disqus ですが、コメントがつくとメールがくるわけです。 そのメール、以下のようになっておりまして、返信するだけでモデレートできるんですね。便利。
2013-07-14(Sun)
ブログシステムを自作のものに移行してみました。
ブログシステムを自作のものに移行してみました。 なんか、ふときづいたらはてなブログPro開始から一年たって、不意にカスタムドメインの設定がはずれていて、*.hatenablog.comにリダイレクト
2013-07-13(Sat)
Teng の ->search メソッドが JOIN に対応していない理由
JOIN をともなうような O/R Mapper のクエリは、生成されたクエリを DBIx::QueryLog などで確認しないと不安でつかえないような感じになるので、そういう場合には結局 SQL を
2013-07-09(Tue)
Perl6 と our
``` \> our $n=3; 3 > $?PACKAGE.WHO<$n> 3 ``` という風に、package 変数とは $?PACKAGE.WHO に格納されている変数として実装されているら
2013-07-06(Sat)
UnQLite.pm - Perl5 binding for UnQLite! It's great DBM implementation!
[ [ Hi, I shipped UnQLite.pm yesterday. It's UnQLite bindings for Perl5. The module contains unqlit
2013-07-05(Fri)
OSX でプロファイリングするなら callgrind + qcachegrind
``` brew install valgrind qcachegrind ``` としてインストール。 ``` valgrind --tool=callgrind ./kiji -e '(->
2013-06-28(Fri)
Test::Pretty 0.26 was released to CPAN
It contains bug fix around forking. I highly recommend to upgrade. Thanks.
2013-06-28(Fri)
RLE in Perl5
`s/(.)(\1+)/$1.(length($2)+1)/ge`
2013-06-24(Mon)
clang++ と osx で shared_ptr がつかえないとき
`-stdlib=libc++`でいける。 [
2013-06-23(Sun)
Hello, world! in MoarVM
I wrote "Hello, world!" program, because I'm newbie. ``` #include <stdio.h> #include <assert.h> #in
2013-06-13(Thu)
Understanding MoarVM's test suite
moarvm is virtual machine for 6model(Perl6's), being built for NQP and Rakudo Perl 6. It's a good st
2013-06-11(Tue)
最近の Perl6 の動向についてまとめてみた
Perl6 まわりが最近だいぶかわってきているという雰囲気をみなさん感じていらっしゃるかとおもいます。そのあたりについておさらいしてみましょう(時系列はちょっとまちがってるかもしれませんが、たぶんだい
2013-06-11(Tue)
Docopt.pm - Command-line interface description language in Perl5
[ I released **Docopt.pm** to CPAN! Docopt.pm is perl port of [\[docopt\]]( docopt helps you: *
2013-06-10(Mon)
Q. Perl5 のどのバージョンをつかったらいいのですか?
1. 5.18.x, 5.16.x, 5.14.x をつかいましょう。 というのがフォーマルな回答です。 本日時点での Perl5 の最新版は 5.18.0 です。 このあたりのポリシーについて
2013-06-10(Mon)
Future Perl - YAPC::NA 2013 に参加して
2013-06-08(Sat)
Reply is awesome!
2013-06-07(Fri)
lexical subs in test cases
rjbs says lexical subs is possible to exceed the package declaration. It's useful for testing. ```
2013-06-05(Wed)
Prev
Next