タグ

ブックマーク / blog.64p.org (19)

  • プログラミング言語 Tora を公開した - tokuhirom's blog

    http://tora-lang.org/ Perl6 の開発が宣言されてから10年以上の歳月がたち、いまだ実用的な実装はあらわれません。 そんななかで、next perl 的なものをつくりたいと gfx がいってから 3ヶ月ぐらいたっていますが、こちらも一行もコードをかいた様子はありません しょうがないので僕がつくってみました。まだあらけずりですが、意外とうごいています。 今回、とくに Perl5 にあった機能のなかでけずりたかったものは以下のとおり context@ary, %hashつけたかったものは以下のとおり autoboxingMoose 的なものの組み込みハックしやすいVM組み込みライブラリの実装しやすさ 未実装な点は以下のとおり Moose 的なアクセサSignal handlingこまかい socket 関連のものHash::MultiValue の組み込みなどなど。 g

    soyana
    soyana 2012/04/01
  • Perl5 によるメール送信 - 実践的な Email::Sender の利用方法 - tokuhirom's blog

    Perl5 では、E-mail の送信をするためのモジュールが多数 CPAN にアップロードされているが、現在もっともまじめにメンテされていて質がよいのは Email::Sender らしい。 Email::Sender は登場当初はドキュメントもなさすぎるしつかいものにならなかったが、現在ではだいぶマシになっている。Moose 依存が気にならないケースでは、実用としてつかっても問題ないとおもう。 iso-2022-jp の日語のメールを送るには、以下のようにすればよい。 use 5.12.1; use utf8; use Email::Sender::Simple qw(sendmail); use Email::Simple; use Email::Simple::Creator; use Data::Recursive::Encode; use Encode; # e-mail o

    soyana
    soyana 2012/01/26
  • web application 開発における git のブランチ運用ルール - tokuhirom's blog

    俺は普段こういう運用でやっているが、君はどうか。 社内の trac にドキュメントをかいたので、コピペしておく。git についてはカジュアルにつかってるだけなので、もっとこうしたほうがいいんじゃねえのというのがあればおしえてください。 ブランチ命名規則master 番の deploy 用。誰かに deploy されてこまるものはいれない。stg ステージングの deploy 用iss(\d+) チケット$1 用の topic branch。master から分岐させるその他、キャンペーン関係など、おいやすくしたい者は別途名前つけてもよし。 stg の運用基的に、開発はチケットにひもづく topic branch でおこなうので、以下のような作業フローとなる git co master git co -b issXXX # トピックブランチをきる ... # development gi

    soyana
    soyana 2010/12/22
  • モダンな Perl の開発環境の構築方法 - tokuhirom's blog

    一般的な OSX 環境および Linux 環境における、モダンな Perl 開発環境の構築方法についてまとめてみたよ。 perlbrew のインストールperlbrew をつかうことにより、簡単に最新版の Perl5 を利用することができるようになる。 perlbrew をいれる。% curl -L http://xrl.us/perlbrew | perl - install % ~/perl5/perlbrew/bin/perlbrew init ~/.bashrc (または ~/.zshrc)に source ~/perl5/perlbrew/etc/bashrc を追記。あたらしいシェルをたちあげる。最新版の perl をインストールする。% perlbrew install perl-5.12.1 % perlbrew switch perl-5.12.1 ここまできたら、she

  • mac ports やめました! ー homebrew で快適 OSX 生活! - tokuhirom's blog

    http://mxcl.github.com/homebrew/ 昨日 mac mini を購入しまして、「さて、mac ports いれなきゃなあ。でも mac ports での環境構築って時間かかるし、CPU パワーもくうし、電気代かかるしエコじゃないし」とかおもっていたところ、そういえば hsbt さんが homebrew ってのをオススメしてたなーとおもって、いれてみたところ、非常に快適。 mac ports は、システムにもともとはいっている perl とか ruby とかもいちいちコンパイルするので、序盤の環境構築が非常に時間がかかるのが難点です。 しかし homebrew は、system にもともとはいっているものはそのままつかうので、初動がはやい。自分の場合、macbook の調子がわるくって、mac mini にかいかえたので、すぐにでもつかいはじめたかったので、非常に

  • hbstudy で puppet の話をきいてきたことについて - tokuhirom's blog

    puppet は「俗人的な要素を排除する」という点がやはりおおきいのかな、とおもった。 いっぽうで、以下のような点を感想として得た。 新規にインストールするシステム以外には適用しづらい最初の一回の設定ファイルを構築するのがむずかしいソフトウェアを rpm 等で管理していないと管理できない「シェルスクリプトで構築すればこれ簡単なのに!」みたいな場合に、いちいち puppet rule 書くのダルくね?puppetd を常時あがってるのがキモチワルイ自由度を制限して、俗人性を排除するというアプローチはアリだとおもう。 ただ、puppetd はやっぱいらないとおもう。sshd で代用できたらいいのに。 【追記】 snmpd でやっちゃうのがいいという意見がある様子。

    soyana
    soyana 2010/02/25
  • オススメCPANモジュールその1。 AnyEvent - TokuLog 改めB日記

    というわけで、俺の独断と偏見によるオススメモジュールのコーナーです。 AnyEvent は poll/select/kqueue/epoll(4) などのイベントループを抽象化するライブラリです。似たような目的のものとして Danga::Socket, POE などがありますが、ライブラリ全体のインターフェースの完成度や速度などの点から AnyEvent を僕は一番押しています。 Pure Perl で利用できますし、インターフェースも安定しています。まだバリバリ開発されてますが、backward incompat な変更はされないようです。 作者が mlehmann 氏ということで、ドキュメントは丁寧ですが攻撃的な文章が目立ちますし、バグレポートすると異常な長文がかえってきたりするのでうっとーしかったりしますが、コードの品質はたかいので、気にする必要はないかとおもいます。コードの品質の前

    soyana
    soyana 2010/02/05
  • それでも私が Perl5 を使いつづける理由または、Why I still use Perl5? 的な。 - tokuhirom's blog

    Fast Enoughもっとはやいといいな、とおもうときはあるけど、他の LL とくらべても速い部類。 Reference Counter であるXS かくときとかにはめんどくさいけど、RAII っぽく書けるとか、開放のタイミングがわかりやすいとか、利点もおおい。 スコープぬけたときに開放されることが保証されてるので、メモリ使用量とかが読みやすいのもいいなーと。

    soyana
    soyana 2010/02/05
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2009/12/26
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2009/10/16
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2009/09/19
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2009/08/22
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2009/08/22
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2009/08/22
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2008/12/27
  • MENTA というウェブアプリケーションフレームワークをかいてみた - TokuLog 改めB日記

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2008/11/12
  • TokuLog 改め だまってコードを書けよハゲ - 近代的なメールの添付ファイルをとりだすライブラリ for Perl といえば Email::MIME::Attachment::Stripper

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2008/05/30
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    soyana
    soyana 2008/05/29
  • 1