tokuhirom's blog Search
  • App::Rad がよさそう
    って↓ をみておもった。実際つかうかというとつかわない気もする。 [
    2012-06-23(Sat)
  • Shipped mRuby.pm
    [ ``` use mRuby; my $mrb = mRuby::State->new(); my $st = $mrb->parse_string('9');
    2012-06-21(Thu)
  • Do not use LWP::Simple::getstore
    LWP::Simple::getstore looks only response code from LWP::UserAgent, but It doesn't handles I/O error
    2012-06-21(Thu)
  • あなたが理解できない,たった一行のPerlのコード
    [ ``` whatever / 25 ; # / ; die "this dies!";
    2012-06-20(Wed)
  • sakura vps でのアプリケーションサーバーの実行を upstart にしてみた。
    2個前にセットアップしたときは daemontools つかってて、1個前は supervisord をつかってたんだけど、せっかく ubuntu つかってるんだから、ということで superviso
    2012-06-14(Thu)
  • cron の実行ログをすてさせないライフハックできたよー
    昨今、cron のログにかんする話がちょいちょいありますが、問題点をまとめると * stdout or stderr に1バイトでも書くとメールがとぶ * インタープリタのだす warnings や
    2012-06-13(Wed)
  • crontab のパーズには Config::Crontab
    crontab(5) をパーズしたいときには Config::Crontab をつかうと簡単にできるようだ。vixie cron の形式がひととおりパーズできている様子。 以下サンプルコード。コメン
    2012-06-13(Wed)
  • SQLのWHERE句をMongoDBのクエリに変換してみるテスト
    全くもって誰得なんですが、ちょっと訳あってこういう感じのものが必要そうなので作ってみました。まだMongoDBに投げたわけじゃないので文法的にホントにあってるかとか、そもそもプレースホルダ使えよとか色
    2012-06-12(Tue)
  • Perl5.16.0 における tr// の動作があやしいので perlbug してみた
    [ ``` perlop.pod ( ) says If multiple transliterations are given for a character, only the first
    2012-06-11(Mon)
  • Perl5 の標準添付モジュールについての考察
    Linux の場合、ディストリビュータの趣味によって tar ball に標準添付されているものが分割パッケージにされたりすることはままあることなので、あまりあてにしない方がいいし、今後 CPANPL
    2012-06-11(Mon)
  • データベースへのクエリをトレースする PSGI ミドルウェア
    これをつくってる途中で、DBIx::QueryLog がめんどくなってきて DBIx::Tracer をつくってしまったのでした。 なんか無駄に threashold\_sum\_total\_cn
    2012-06-05(Tue)
  • DBIx::Tracer 書いた
    [ [ DBIx::QueryLog が便利でよくつかってるんだけど、なんかこう、立てまししまくった家みたいなコードになってて、ハウルの動く城のようになってしまっていて、ログをだしたいなーってと
    2012-06-04(Mon)
  • Streaming with PSGI
    basic streaming(code by chiba-san [ ``` use strict; use warnings; my $app = sub { my $env = sh
    2012-05-25(Fri)
  • Perl 5.16.0 RC0 がでたので __SUB__ をつかいこなしてみた。
    [ にあるような、Data::Visitor::Callback をつかうような visitor を、簡単に無名関数で実装することができます。 ``` use 5.16.0; my $rh_t
    2012-05-11(Fri)
  • unite.vim と ctrlp をつかってみた比較
    vim の ctrlp でたりないこと * 行の選択を C-p/C-n でかえられないっぽい → [ こちらでできるそうです! * 存在しないファイル名いれたときに作れない * 存在しないディレクト
    2012-05-02(Wed)
  • overload behavior on Perl 5.14.2
    ``` use strict; use warnings; use utf8; use 5.010000; { package Foo; sub new { bless +{}, s
    2012-05-01(Tue)
  • nana という tora 言語処理系をだしていた話
    [ tora を perl5 の上でうごかす処理系である nana をだしておきました。 perl5 でうごいているので perl5 の関数もなんとなくよんだりできます。 ``` import_
    2012-04-28(Sat)
  • sakura vps を ubuntu 12.04 LTS にあげたら resolv.conf がきえた話
    resolvconf の配下になったとかで、からっぽになってしまって、名前がひけなくなる。 /etc/resolvconf/resolv.conf.d/base というファイルがベース設定らしいので
    2012-04-27(Fri)
  • XS をかくときのコツ
    CODE: をつかうと謎くなるので PPCODE: をつかう。
    2012-04-25(Wed)
  • sprintf の引数の挙動
    sprintf に配列で引数をわたそうとするとはまる。 ``` use strict; use warnings; use utf8; use 5.10.0; sub fmt { sprintf(
    2012-04-21(Sat)
  • smart match operator
    ``` 23:10 tokuhirom: ""~~0 23:10 tokuhirom: true 23:10 tokuhirom: ""==0 23:10 tokuhirom: true 23:10
    2012-04-18(Wed)
  • Perl5 をよくしようというタイプのレキシカルプラグマ
    まあ、便利なんだけど、実際あまりつかうことはないかもね、という。 というか言語コアの方で use 5.10; したときに deprecate 、みたいになるといいね。 #### indirect
    2012-04-16(Mon)
  • Perl5 の適当な手書きパーザで、簡単な数式をパースしてみる
    パーザジェネレータを使うのは情弱だ、そんな風なことをいう kazuho さんもいる今日このごろなので、手書きでパーズしてみようとおもってみました。 Perl5 で適当にパースしたい場合は、こんな風
    2012-04-13(Fri)
  • SConstruct について
    かれこれ3年ぐらい SConstruct を愛用している。 SConstruct は、非常に手軽につかえてポータブルなのがいい。 しかし、これがなんというか、遅い。 もうすこし速くならないもの
    2012-04-12(Thu)
  • tora のデバッグについて
    scons debug=1 とすると、デバッグしやすくなります。 assertion が有効になるためです。 また、-t で AST がダンプされ、-q でVMトレーサが有効になり、-d でVM
    2012-04-10(Tue)
  • tora を sakura VPS+centos でつかう方法
    [ YOPPOさんが書いてくれました。参考にしてみんなもいれてみよう!
    2012-04-10(Tue)
  • IRC Protocol Parser を書いた
    [ C++ で 1ファイルでうごく IRC の protocol parser を書いたので github にアップしておきました。 IRC のクライアントライブラリは、イベントのハンドリングが主
    2012-04-07(Sat)
  • tora に REPL がついた
    とりあえず REPL を実装した。Eval::WithLexicals のような、pad\_list をキャプチャして次の回にひきつぐ機能はまだない。 tora ではグローバル変数を使いにくくして
    2012-04-07(Sat)
  • tora の内部実装がちょっとかわりました。
    拡張まわりのかきかたがちょっとかわってます。現状の master にある ext/ 以下は修正してあります。 具体的には、グローバルな package name map がなくなって、Class c
    2012-04-07(Sat)
  • tora の拡張のかきかたについてのメモ
    * ポインタの値をラップするときは PointerValue という型があるので、こちらをつかってください。ポータビリティがまします。 * 各メソッドはかならずなんらかの値をかえす必要があります。NU
    2012-04-06(Fri)
  • 文字列リテラルに変数をうめこめるようにした
    "foo $bar"; みたいなやつができるようになりました。 re2c + lemon という構成の場合、スキャナは一度に一個のトークンしか返せないので、スキャナーの中にトークンのキューをつくって
    2012-04-05(Thu)
  • はやりもの一個飛ばしの法則
    なんかこう、世間をみておりますと、いろいろなものがはやったりすたれたりしておりますね。 prototype.js のあとに MooTools とかなんかいろいろあったけど、それを静観して jQuer
    2012-04-04(Wed)
  • Fcntl つけた
    とりあえず Fcntl.flock と Fcntl.LOCK\_SH とかそのへんがつかえます。 まあベタに。
    2012-04-03(Tue)
  • Toraのテストケースの書き方
    C++ レベルでテストした方がいい部分は C++ でユニットテストを書きます。たとえばスキャナとか、Value 型の実装とかです。tests/test\_foo.t というのがそれです。ここを増やしす
    2012-04-02(Mon)
  • プログラミング言語 Tora を公開した
    [ Perl6 の開発が宣言されてから10年以上の歳月がたち、いまだ実用的な実装はあらわれません。 そんななかで、[next perl 的なものをつくりたいと gfx がいってから 3ヶ月ぐらい
    2012-03-31(Sat)
  • unite.vim のバージョンをあげたら新規ファイルをつくれなくなって涙で枕をぬらした話
    Date: Sat Mar 3 15:41:02 2012 +0900 あたりの変更かとおもうのだけど、いままでの設定だと新規のファイルをつくれなくなった。 こまったので、ドキュメントをみたところ
    2012-03-30(Fri)
  • re2 で String#scan 的なことをする
    C++ でかかれた 高速でつかいやすい正規表現エンジンである re2 で String#scan 的な操作をしたいとおもったのでやってみた。もっとスマートな解法がありそうですが、これでとりあえずうごき
    2012-03-27(Tue)
  • Amon2 3.34 released
    bootstrap 2 系に対応させたのが主な更新です。jquery も 1.7.1 から 1.7.2 にあげておいた。
    2012-03-26(Mon)
  • Devel::Peek の出力の読み方
    Devel::Peek::Dump の出力はこういう風になっているわけですが ``` SV = IV(0xedb740) at 0xedb748 REFCNT = 2 FLAGS = (PA
    2012-03-26(Mon)
  • Perl5 のここがいけてないよね、というところ。 { } について。
    ブロックとハッシュ構築子が両方とも { } なので、どちらともとれるときにパーザがブロックとして判断してくれる場合があって、ハッシュを書くときは +{ } と書くのが慣例となってしまっている。 も
    2012-03-22(Thu)
  • exception with deep recursion in LL
    #### ruby ``` def x() x() end x() ``` ``` hoge.rb:2:in `x': stack level too deep (SystemStackE
    2012-03-21(Wed)
  • git pull がくそおそいのでこまったなーとおもった話
    なんか git のリポジトリからの pull が糞おもくて死ぬー! となっていたのだが、実は local の dnscache がくさってて、おかしいっぽかった。 git がおかしかったら GIT\
    2012-03-19(Mon)
  • プログラミング言語を実装するのにかかる時間
    速度を気にせずベタなワードコードインタープリタを C++ で実装するのにかかる時間は、フルタイムで1ヶ月、オフの時間で3ヶ月、みたいなことを某氏がいっていたのだけど、それはわりとあたってるのかもしれな
    2012-03-18(Sun)
  • stat は例外をなげるべきか
    ``` % ruby -e 'File.stat("HOGE")' -e:1:in `stat': No such file or directory - HOGE (Errno::ENOENT)
    2012-03-09(Fri)
  • 行頭をみて処理フローがわかるコードをかく
    ``` MyProj::Exception::Foo->throw unless $res->is_success; ``` という処理は、上から順番にコードをみてると、どうなるかわからない。 `
    2012-03-07(Wed)
  • glob の話
    Perl5 では glob("no\_such\_file") が ("no\_such\_file") をかえすが File::Zglob では () をかえす。File::Zglob は gauc
    2012-03-06(Tue)
  • gdb の -ex run が便利
    最近ブログかいてないので久々にちょろっと。 ``` gdb -ex run --args ./a.out ``` とすると、起動すると同時に run してくれて便利な気がした。
    2012-03-05(Mon)
  • Perl5 のアレなところ
    context と reference はアレですよね。とくに context は罠になりがちなので、とりあえず scalar() つけまくらないといけなかったりして、なんかアレ。 hash の構
    2012-02-29(Wed)
  • Perl5 における nextstate について
    gfx がよく「Perl5 にはステートメントスコープが〜」っていう話をしているのだが、ここでいう statement scope というのは、nextstate のことらしい。 Perl5 にお
    2012-02-22(Wed)
  • Perl5 の __DATA__ を seek したときの挙動
    ``` #!/usr/bin/perl use strict; use warnings; use utf8; use 5.010000; use autodie ':all'; use Fcntl
    2012-02-21(Tue)
  • C++ でlexer/parserをかくなら re2c+lemon がオススメな件
    yacc や lex をつかっていても「なんかよくわからんけどうごく」という状態になりがちだったり、グローバル変数にまみれたりしがちだが、re2c + lemon だとそのへんがすっきりする。 レキ
    2012-02-13(Mon)
  • re2c について
    [ これみてつかってみたけど、非常によろしい。 flex より flexible である。書きたいことを C/C++ で普通にかけるのがよい。
    2012-02-13(Mon)
  • Perl6 の速度にかんするメモ - 20110130
    ``` % time perl6 -e 'my $i=0; for (1..10_000) { $i++ }; say $i' 10000 perl6 -e 'my $i=0; for (1..1
    2012-01-30(Mon)
  • Python の VM を Perl で実装した話
    [ 数年前にかいたやつ。関数ぐらいはうごく。クラスとかも定義できたような気がする。 Python は AST とりだしたりとか assembler とりだせるとか、そういうのがちょいちょいできて
    2012-01-30(Mon)
  • 初心者向けの本についてとか
    [ 寿司ブロガーじゃないのでこちらで言及しようとおもいますが。 初心者向けの本は、一度理解してしまうと不要となるのでブックオフにうっぱらったり、誰かにあげたりしてしまうので、手元にはのこさないし
    2012-01-16(Mon)
  • 最速な JavaScript のリファレンスマニュアルサイトをつくった
    最速な JavaScript のリファレンスマニュアルサイトをつくった
    2012-01-14(Sat)
  • 2011年6月24日あたりに鎌倉いってきたときの日記
    > 朝七時すぎに家をでて、品川経由で戸塚から北鎌倉へ。 あじさい寺に八時半につく。あじさい寺は六月は八時半に開くので、オープンの時間を狙うのが定石。しかしまあ、あじさいはこの寺以外でもたいがい咲いて
    2012-01-10(Tue)
  • 汎用の WebViewController をくみこむための THWebViewController っていうのをでっちあげた
    汎用の WebViewController をくみこむための THWebViewController っていうのをでっちあげた
    2012-01-07(Sat)
  • 電子書籍における内外格差について
    最近は電子書籍について語る前に、とりあえず Kindle を買うべし(Fire 以外)ということを最近つよくおもう。 iPad や、その他のタブレットと Kindle ではだいぶえられる体験がちがう
    2012-01-05(Thu)
  • 2011年のまとめ
    1月 * Teng をリリースするのにかかわってたっぽい * libkyototycoon であそんでた * Text::Darts をなおしたりしてた 2月 * L10N やってた [ * W
    2012-01-01(Sun)
Prev
Next
© tokuhirom