tokuhirom's blog
How can I make ppport.h by Module::Build?
Following code is works for me. ``` my $class = Module::Build->subclass( code => q{ use Devel
2012-10-15(Mon)
phantomjs を Perl からつかえる Wight をためした記録。
YAPC で motemen さんが発表していた Wight をためしたのでそのメモ。 まだ開発途中なかんじなのでドキュメントなどは揃っていないが、ひととおりのメソッドは用意されている、といった印象
2012-10-13(Sat)
About CVE-2012-5195, noted in perl5143delta
see [
2012-10-13(Sat)
Shipped Router::Simple 0.10!
[ I discussed empty PATH\_INFO handling in PSGI, and i gut a response from miyagawa-san. ref. [
2012-10-11(Thu)
Using memcached with LZ4
Cache::Memcached::Fast uses Compress::Zlib by default to use compression. It's bit slow on high traf
2012-10-10(Wed)
PATH_INFO and Router::Simple
Dear Miyagawa san, Plack::Builder's mount function makes empty string PATH\_INFO on following case.
2012-10-05(Fri)
Let's try "develnytprofhtml --minimal"!
develnytprofhtml is bit slow, you know. why it's slow? so it generates very big 'dot' file for **gr
2012-10-01(Mon)
State of Tiffany.pm
@miyagawa san introduced Tiffany.pm in YAPC::Asia 2012, thanks. The state of Tiffany.pm is stable.
2012-10-01(Mon)
Shipped HTML::Escape, extremely fast HTML escaping
HTML::Escape is a drop out module from Text::Xslate. Text::Xslate have a pretty fast HTML escaping
2012-09-30(Sun)
Rakudo Star speed report 201209
It's 10x faster than 201206. great! ``` Tokuhiros-MacBook-Air.local [master] time perl6 -e 'my $i=0
2012-09-27(Thu)
Digest.pm < 1.17 has vul.
[ Normally, you don't need to pass the digesting algorithm for Digest.pm. This issue is not a big
2012-09-27(Thu)
Re: Text::Xslate::Bridge::FillInForm::Lite
[ こういう単機能なラッパーモジュールをつくらなくていいようにしたいね、という話が Xslate の開発当初からあって(というか俺がいってて)、こういうのがでてくるのは申しわけないなあ、とおもった(
2012-09-22(Sat)
Write a server supports memcached protocol
[ [ I shipped new 'memcached-protocol-server' library to npm registry. You can write a server su
2012-09-22(Sat)
Today's PerlQuiz
Q. ``` use Data::Dumper; my $h1 = +{ a => (split /,/, "")[0], b => 3, }; my $h2 = +{
2012-09-19(Wed)
はてながMarkdown記法に対応していた!!
[
node-function-inspector つくった
[ Perl5 でいうところの UNIVERSAL::which みたいなやつ。 ``` var http = require('http'); var inspect = req
2012-09-17(Mon)
Splitted Net::DNS::Paranoid dist and LWPx::ParanoidHandler dist.
It makes better dependencies.
2012-09-17(Mon)
Shipped LWPx::ParanoidHandler/Net::DNS::Paranoid, alternative for LWPx::ParanoidAgent!!
LWPx::ParanoidAgent is not maintained well. Known issue was added at 3 years ago, but it's not resol
2012-09-14(Fri)
local $@ をつかってはいけない
ほとんどの場合にはそもそも $@ を localize するメリットはありません。Test 関連のモジュールつくりたいとかそういう場合ぐらいです。 そして皆さんご存知のように local $@ をた
2012-09-14(Fri)
revived frepan.org
[ was not available from about 10 days ago. My dotcloud instance was may gone. I can't connect to it
2012-09-14(Fri)
Plack::Middleware::AxsLog がすごい!
[ Plack::Middleware::AccessLog みたいなやつだけど、プロダクション環境でつかいやすいようにつくられてる。フォーマットのカスタマイズがあんまできないけど、**速い**とい
2012-09-12(Wed)
"arena overflow error" で mruby がとまるときの対策
> @[masuidrive]( ひとつのC関数の中でオブジェクト割り当てすぎの時に起きるエラーです。array.cのinspect\_aryを参考に、一時オブジェクトを作ってる部分をmrb\_gc\
2012-09-11(Tue)
Plack::AccessLog::Renderer 的なのがほしい
``` my $renderer = Plack::AccessLog::Renderer->new(timed => 1, combined => 1); print $render
2012-09-11(Tue)
ナイーブなオンメモリキャッシュ実装をかいた
[ Expire されたデータがとれなくなるだけのナイーブなキャッシュ実装をかきました。 わりとみんな手でかいてるとおもうんですが、手でかくとバグりやすいしテストかくのも面倒なので CPAN に
2012-09-11(Tue)
Re: わかったようでわかってない。
``` [17:08:21] t/01_exception.t .. main=HASH(0x7fb1ba002eb8) ``` まで出力されたところで、lib/TAP/Formatter/Con
2012-09-09(Sun)
Const なんとかさん関連のツール群をつかうと、簡単に EcmaScript target の言語をつくれる!
Const なんとかさん関連のツール群というのは以下のようなものです ||| |---|---| |esprima|EcmaScript から AST を生成する| |escodegen|AST か
2012-09-08(Sat)
Proclet::Declare に KYTProf をくみあわせると、さらにべんり。
Proclet::Declare は、たんにライブラリなので、普通にオプションをくみあわせて処理することが可能ですね。 やったー。 ``` use strict; use warnings; us
2012-09-07(Fri)
DBI でつないで graphviz する
ファイル名とか画像サイズとかハードコードしてますが、だいたいうごきます。 昔つくった DBIx::Inspector ってやつをつかってます。 ``` #!/usr/bin/env perl us
2012-09-06(Thu)
画像が img タグでよみこまれてるかどうかをなんとなく判定する
Accept ヘッダをみるといい。 ``` Accept: text/html,.... ``` みたいにブラウザで普通にひらくとでるけど、img タグでひらくと ``` Accept: */*
2012-09-06(Thu)
ブラウザで Perl をためせる Farabi がすごい。
2012-09-06(Thu)
uuencode を Perl で再現するコードのストリームバージョン
> uuencode を Perl で再現するコードのストリームバージョン(省メモリ)が欲しい > — ちょ子 (@cho45) [September 5, 2012]( [danさんのコード](
2012-09-05(Wed)
Proclet::Declare について考えた
foreman で Procfile でがんばろうとおもったのだけど、なんか妙に終了がおそいのが気にくわないのと、なんか外部 DSL 疲れ的な心境にいたり、最近 Proclet に foreman 的
2012-09-05(Wed)
Ruby の Open Class という用語
用語というほど浸透しているのかは、ググったかんじだとあやしいのだけど、Ruby のメタプログラミング界隈では Open Class というと、外部からメソッドの追加が可能なクラスのことをさしているよう
2012-09-05(Wed)
markdown をみるのに便利なやつつくった
2012-09-04(Tue)
LTをはじめてやる君へ
2012-09-04(Tue)
Ruby の ARGF を node.js で実装してみた
意識の高いみなさんこんにちは。 Ruby で一番便利な機能といえば ARGF ですので、これを node.js に実装してみました。 ``` var ARGF = require('./index
2012-09-03(Mon)
まともに node.js でつかえる ago.js
なんか npm にアホみたいにたくさんあがっているが、just now の処理がおかしかったり、アホみたいに巨大だったり、まあそんなかんじなんで、ejresig の実装をもとにちょっと改変したやつをお
2012-09-02(Sun)
node extensions should use stringification instead of verification.
Some of the node.js extensions uses type verification like following code: ``` if (args.Length() <=
2012-09-02(Sun)
node-tcc で TinyCC を node.js にうめこむ
[ [ そういうわけで TinyCC の node.js bindings を npm にアップしてあります。 ``` var TCC = require('tcc'), var tcc =
2012-09-01(Sat)
node.js とわたし
僕は node.js は v8 を簡単にビルドするツール + 便利な標準ライブラリ群、としてとらえていて、nonblocking I/O 部分についてはあまり評価していません。 まあ、non-bl
2012-09-01(Sat)
mysql-replication-listener の ruby binding つくった人がいるみたいですよ
2012-09-01(Sat)
node.js でも Inline::C みたいなことをしたい。
2012-09-01(Sat)
kazeburo さんの Proclet をもちいた劣化 foreman の実装
Proclet をつかって foreman っぽいのを適当につくってみた。 ``` use strict; use warnings; use Proclet; use autodie; open
2012-08-30(Thu)
File::RotateLogs をお手軽にためすスクリプト
MouseX::GetOpt つかうと簡単にためせるね。 ``` #!/usr/bin/env perl use strict; use warnings; use utf8; use 5.0100
2012-08-30(Thu)
Dear DBIx::Inspector user(includes Teng::Schema::Dumper user), install DBD::mysql 4.021+
DBD::mysql < 4.021 has a bug in column\_info method. It returns column information in randomized ord
2012-08-30(Thu)
npm のモジュール管理形式における問題点として出そうなこと
jshint-tap-simple をいれると以下のようになってます。 ``` jshint-tap-simple@1.0.2/home/tokuhirom/dev/jshint-tap-simpl
2012-08-30(Thu)
jshint-tap-simple
2012-08-29(Wed)
readable code
2012-08-29(Wed)
npm module のリリース手順
``` npm version patch ``` でパッチバージョンがあがって、コミットされつつ tag がうたれるので ``` npm publish ``` して、 ``` git pu
2012-08-29(Wed)
How can I compile perl with perlbrew without -Duserelocatableinc?
Perlbrew sets a -Duserlocatableinc by default on Perl5.16+. It denies to create shared library by
2012-08-28(Tue)
screen の他のウィンドウの結果をとりだす screen-pipe コマンド
[複数ホストに ssh しながら tail -F するときにはこうしたらどう?]( どうしても映画に出てくるようなハッカーになりたいのであったが、オールドタイプなので既存の UNIX tools を
2012-08-28(Tue)
なんてこった…CPANモジュールをnode.jsで動かしてしまうライブラリ「node-perl」
[ ここ最近、プログラミング言語同士の壁が徐々に破壊されている気がします。あるプログラミング言語上で別なプログラミング言語を動くようにしたり、置き換えてしまったりするような類です。今回はその一
2012-08-28(Tue)
v8 の C++ level でinstanceofするには
FunctionTemplate::HasInstance でしらべられます。 [
2012-08-28(Tue)
carton と古い cpanm をくみあわせたら悲しい話
[ perlbrew install-cpanm でインストールした cpanm にパスがとおってる状態で、carton いれてつかおうとすると、carton は ~/perl5/bin/cpanm
2012-08-27(Mon)
Object::Generic::False がちゃんと Export してくれない。
[ というバグがあったので、レポートしました。 This one liner failed. ``` perl -e 'use Object::Generic::False qw/false/;
2012-08-24(Fri)
複数ホストに ssh しながら tail -F するときにはこうしたらどう?
2012-08-24(Fri)
tora.vim でてた
[ tora.vim がないと色がつかなくて残念なので、色をつけた。 > 5年連続抱かれないエンジニアno.1です > — kentaro (@kentaro) [August 17, 2012
2012-08-24(Fri)
Exception::Class を Production でつかうときは NoContextInfo(1) しよう
Exception::Class は便利なのですが、このモジュールは本格的に例外的なことがおきたときに例外をあげる用途を意図して設計されているので、スタックトレースをとったりとか pid/gid/ui
2012-08-23(Thu)
node-ffi の話
node-ffi っていう libffi のラッパーがあります。 node.js のモジュールシステムだと、node-ffi をつかったモジュールをつくると、各モジュールごとに node-ffi を
2012-08-23(Thu)
system(3) 的なことをするモジュールを npmjs.org に登録したのであった。
[ node.js では system(3) というか execSync 的なことができず不便なので、できるようにしてみた。本体の方ではサポートされなさそうな気配なのでまあよかろう。 popen
2012-08-23(Thu)
Prev
Next