タグ

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

  • json に値を直接書く話 - tokuhirom's blog

    昔の JSON は Object か Array しかルートに書けなかったけど RFC 7159 では true/false/null/number/string を書けるようになってて便利だっておじいちゃんが言ってました。 https://tools.ietf.org/html/rfc4627 https://tools.ietf.org/html/rfc7159

    umiyosh
    umiyosh 2014/12/18
  • ここをおさえれば Perl 情報通になれるよというサイト一覧 - tokuhirom's blog

    Perl 関連の情報をあつめるには、僕は以下のサイトをみています 個人ブログ TATSUHIKO MIYAGAWA'S BLOG http://weblog.bulknews.net/ 最新の miyagawa 情報がえられます。 Charsbar::Note http://d.hatena.ne.jp/charsbar/ 最新の DBD::SQLite 情報などがえられます。 Hateburo: kazeburo hatenablog http://kazeburo.hatenablog.com/ kazeburo さんのサブブログっぽいやつ。nomadscafe.jp の方と使いわけがよくわからない。 あと「はてぶろ」で検索してもみつからない。 おまとめ情報 FrePAN http://frepan.64p.org/ 手前味噌ですが、FrePAN の feed を購読すると、Chnag

    umiyosh
    umiyosh 2013/09/10
  • 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

    umiyosh
    umiyosh 2013/08/20
  • Docker で Growthforecast をインストールする方法 - tokuhirom's blog

    ちょいちょい GrowthForecast のインストールが perl だから難しいとかいってる人をみかけるけれど、Dockerfile が用意してあれば、セットアップは簡単になるんじゃないだろうか。 audreyt が Dockerfile で配布する方法で irc logger を配布していたし、それを真似してみるのもアリかもしれない。そんな風におもって僕もやってみることにした。 Docker をつかうと、アプリをふくんだイメージを簡単に配布することが可能となる。インストール手順をごちゃごちゃとブログに書いたりするのもいいけれど、Dockerfile を共有したほうがいいのではないだろうか。再現可能だし。chef でもなんでもいいけど、docker はインストールが簡単なのがいいし、覚えることがすくなくていい。 いらなくなったら、イメージごとポイすればいいだけで、簡単だしね。 さて

  • Carton 1.0 時代の Web アプリケーション開発フロー - tokuhirom's blog

    Carton 1.0 がでたところで、Web アプリケーション開発のフローを一度見直しておきたい、そんな人も多いでしょう。 そんな方のために僕のやりかたをまとめました。各社、議論の叩き台にしていただければよろしいかと存じます。 もっとも重要なことは、、 Carton を使うときに、僕が最重要だと思うことは、できるだけ番環境と開発環境の環境をそろえるということです。CPAN モジュールが番と開発でバージョンちがうから挙動がちがってた!! なんてのは時間の無駄ですし、よくないことですからね。 ですから、各開発環境と番環境をできるだけそろえることを意識していきたいとおもいます。 DarkPAN は使ってない そんなに DarkPAN 的なのを使うほど、DarkPAN 的なオレオレモジュールがないので、git submodule で管理しています。 【201308061241update】

    umiyosh
    umiyosh 2013/08/06
  • Carton 1.0 リリースによせて - tokuhirom's blog

    http://weblog.bulknews.net/post/57356232719/carton-1-0-is-released Carton 1.0 がリリースされました。おめでとうございます! miyagawa++ というわけで早速手元でうごかしてみたところ、いくつか問題があったので miyagawa さんに修正していただきました。 1.0 リリースまでにためしたいところだったのですが、面倒くさくて無理でした。 今回のアップデートで個人的にいいなーとおもったのは以下のような点です。 carton update が実装された 待望の carton update が実装されております。これにより、あたらしめのバージョンに移行することができますね! carton check が実装された cpanfile に記述されてるけどインストールされてないモジュールを確認できる!! carton.

    umiyosh
    umiyosh 2013/08/05
  • [PHP] preg_replace における //e があぶない話 - tokuhirom's blog

    Malware Hidden Inside JPG EXIF Headers という話題がでていたので見てみたところ、単に preg_replace がセキュリティ上問題があるインターフェイスだという話であって、EXIF 云々は直接的に 関係がなく、釣りエントリであることが判明した。 preg_replace は第一引数に正規表現を渡すが、その際に外部からの入力をそのままわたすと危険という話。 なぜならば preg_replace は '/.*/e' のように、eval flag をわたすことができるからだ。 以下のコードをみよ。 <?php preg_replace('/.*/e', 'eval("echo 5960+3;")', ''); つまり、preg_replace($_POST['foo'], $_POST['bar'], '') のようなコードがあった場合、任意のコードが実行

  • 最近の Perl6 の動向についてまとめてみた - tokuhirom's blog

    Perl6 まわりが最近だいぶかわってきているという雰囲気をみなさん感じていらっしゃるかとおもいます。そのあたりについておさらいしてみましょう(時系列はちょっとまちがってるかもしれませんが、たぶんだいたいあってる)。 去年ぐらいまで去年ぐらいまでは、あまりパフォーマンスは重視されていなかったかんじがします。 「まだパフォーマンスを気にするタイミングじゃない」的な。ただ去年の途中ぐらいで一気に rakudo がはやくなったりしたような気はしました。 nqp の JVM port(4月ぐらい)https://github.com/perl6/nqp http://6guts.wordpress.com/2013/04/18/nqp-on-jvm-bootstrapped-soon-will-land-in-nqp-master/ nqp というのは Not Quite Perl(6) の略で、

    umiyosh
    umiyosh 2013/06/11
  • Future Perl - YAPC::NA 2013 に参加して - tokuhirom's blog

    YAPC::NA 2013 に参加してきました。その中でも印象にのこったことを取り急 ぎアップしておきます。 今回は日からは @yusukebe と @xaicron と TPF の President である Karen が参加していたようです。 僕は今回がはじめての US だったので、いろいろと困惑することもありました が、旅行記などには興味がないという人も多いでしょうし、書くのがめんどく さいですし、たぶん xaicron が書くと、ほとんど内容がかぶるので割愛させ ていただきます。 デニーズのシェイクに興奮する yusukebe と xaicron エントリーでは YAPC::NA で僕が感じたこと、技術的に Perl Community が どこに向いているか、といったあたりのことについて述べていきたいとおもい ます。 今年は Perl 25 周年ですので、これまでの Per

    umiyosh
    umiyosh 2013/06/08
  • Reply is awesome! - tokuhirom's blog

    https://metacpan.org/release/Reply Reply is new REPL command written by doy++! It's pretty lightweight! I switched to this repl yesterday!

    umiyosh
    umiyosh 2013/06/07
  • plenv 1.9.x のおしらせ - tokuhirom's blog

    plenv が 1.9.x になり、すべてが bash スクリプトになりました。基的には rbenv のコードのコピペとなっています。 前のバージョンにくらべてなにがすぐれているかというと、一番おおきいのは PERL5LIB と PERL5OPT をみなくなっているという点です。bash でうごいているので、perl つかってないのであたりまえですね。これにより、miyagawa さんのとこの Carton さんとの相性がグンバツによくなっております。 具体的には以下のようなケースでの問題が解消しています。 % PERL5OPT=-MDevel::Cover make test Can't locate Devel/Cover.pm in @INC (@INC contains: /Library/Perl/5.12/darwin-thread-multi-2level /Library

    umiyosh
    umiyosh 2013/05/30
  • Compiler::Lexer をつかって Perl::MinimumVersion::Fast をかいてみた - tokuhirom's blog

    papix さんのブログをよんでいたところ Compiler::Lexer というものの存在 をしった。http://blog.papix.net/entry/2013/04/30/223840 Compiler::Lexer という Perl5 コードの Lexer を goccy さんがかいている そうだ。これをもちいて Perl::MinimumVersion をかきなおしてみた。 Perl::MinimumVersion は PPI をつかったライブラリで、Perl のコードを解 析してそのコード自体が必要とする Perl のバージョンを判定するものだ。こ れは Test::MinimumVersion を経由して、リリース時に意図せずに // や ~~ などを 5.8 用のライブラリでつかってしまっていないかを確認するのに やくだつ。実際 Minilla でもつかっているのだが、

    umiyosh
    umiyosh 2013/05/04
  • ふと思いたって、emacs の設定を1からやりなおしたの記 - tokuhirom's blog

    久々に Emacs の設定をした。普段は vim をつかっているのだが、日語の長 文を vim で書くのはつらいので Emacs 環境を整備したかったのだ。 (Emacs ですべてを書くと左手の小指が死ぬので、日語のときだけにつかう ことにしている) Emacs の設定は最近は MELPA だか package.el だか el-get だかでやるのが ナウいらしいのだが、どうちがうのかよくわからない。いろいろと日語の情 報があるのだが、「そもそもどれがなんなのか」というところをあんま説明し てくれてなくて辛い。 いろいろと調べた結果、僕は以下のような結論にたっした。 package.elインストーラ。tar ball とか file を指定すると、それをインストールして くれる。便利。 MELPAレポジトリから定期的にフェッチしてきて、いいかんじに package.el 対応の サ

  • CPAN モジュールの開発についての最近の風潮 - tokuhirom's blog

    http://shibayu36.hatenablog.com/entry/2013/04/11/191322 ExtUtils::MakeMaker → Module::Build → Module::Install → Module::Build → そして今、Minilla が颯爽と登場! というわけで、2013年は Module::Build や ExtUtils::MakeMaker を直につかわない時代がきています。 Authoring tool をつかって管理していきましょう。くわしくは https://metacpan.org/module/TOKUHIROM/Minilla-v0.0.53/lib/Minilla/Tutorial.pod

    umiyosh
    umiyosh 2013/04/15
  • ゆるふわなかんじで perl の話題をするためのチャットルームをつくってみた - tokuhirom's blog

    tokuhirom's Blog Search ゆるふわなかんじで perl の話題をするためのチャットルームをつくってみた http://lingr.com/room/perl_jp/ だいぶふわふわしててよい。初心者歓迎なムードがただよっています。 Created: 2013-03-13T10:55:15 Updated: 2013-03-13T10:55:15

    umiyosh
    umiyosh 2013/03/13
  • 日ごとの CPAN module アップロード数を可視化してみた - tokuhirom's blog

    日ごとの CPAN モジュールのアップロード数をHRForecastで可視化してみた。 感覚値としては5年ぐらい前より増えてる感じなんだけど、まあ実際そういう感じですね。

    umiyosh
    umiyosh 2013/03/11
  • ☆plenv☆ 〜 brand new perl5 installation management tool♪ 〜 - tokuhirom's blog

    Hi, I implemented brand new perl5 installation management tool named plenv. from rbenvplenv is inspired from rbenv, from ruby world. rbenv provides a missing feature in perlbrew, it can use .ruby-version file to manage project local perl module. Use .perl-version!!With plenv, when you put a .perl-version file to ~/dev/MyProj/.perl-version, you can use your required perl version under the ~/dev/MyP

    umiyosh
    umiyosh 2013/01/21
  • 2013年 のPerl5 の OOP について考える - tokuhirom's blog

    Moo今年の命? 新しくつくるならこれが無難な気がします。速度的にも Mouse とあまりかわらない。 若干依存がおおい気もするけど、インストールベースがふえれば気にならなくなるかな、ともおもいます。 Class::XSAccessor とかつかってるんで、速度的にもホットスポットは速いのがよい。 なお発音はムーだとおもう。 (http://www.forvo.com/word/moo/) Mouse完成している感じがする。得にわるい点もないが、あえていうと xs 部分がおおいので、gfx 以外がメンテできないかんじがするのが欠点か。 Xslate をつかっている場合は自動的に xslate が mouse つかってるので、自然と Mouse がロードされるので、そういった意味では Mouse つかってもいいかなとおもっている。

    umiyosh
    umiyosh 2013/01/16
  • Plack::Middleware::AxsLog がすごい! - tokuhirom's blog

    https://metacpan.org/module/Plack::Middleware::AxsLog Plack::Middleware::AccessLog みたいなやつだけど、プロダクション環境でつかいやすいようにつくられてる。フォーマットのカスタマイズがあんまできないけど、速いというのが一番のメリットですね。 アクセスログを全部のリクエストについてとるのは、トラフィックおおいサイトの場合にはきついんだけど、そういう場合とかにもつかえるようになってます。 「エラーのときだけログをはく」というのと「レスポンスかえすのに時間かかったときだけログをはく」というのができるので、multilog にながしておいてながめてるだけで問題点がさっと把握できて便利です。 kazeburo++

    umiyosh
    umiyosh 2012/09/13
  • ナイーブなオンメモリキャッシュ実装をかいた - tokuhirom's blog

    https://github.com/tokuhirom/Cache-Memory-Simple/blob/master/lib/Cache/Memory/Simple.pm Expire されたデータがとれなくなるだけのナイーブなキャッシュ実装をかきました。 わりとみんな手でかいてるとおもうんですが、手でかくとバグりやすいしテストかくのも面倒なので CPAN にあげておくといういつものアレです。Expire がきいてシンプルではやそうなのがなかったんでまあ。 10秒ぐらいhttpdの中にオンメモリキャッシュしときたいなあ、という時などにどうぞ。 使い方は以下のようなかんじです。 use Cache::Memory::Simple; use feature qw/state/; sub get_stuff { my ($class, $key) = @_; state $cache = C

    umiyosh
    umiyosh 2012/09/11