タグ

ブックマーク / blog.livedoor.jp/xaicron (3)

  • にひりずむ::しんぷる - JSONPath が便利でスクレイピングが捗る話

    JSONPath というのがあって、いわゆる XPath の JSON 版です。 仕様は以下 JSONPath - XPath for JSON XPath すべての機能が使えるわけではありませんが、巨大な JSON から目的の key を探す場合にはなかなか便利です。 たとえば、Dailymotion の JSON なんかはダンプすると 900行ぐらいあったりして、しかも超絶階層が深い。更にいうと配列が多くて、順番が変わる可能性も高い (というか実際に昔作ったスクリプトがうごかなくなっていた)。 そういう場合にサクッと指定してモリっと取ってきてくれると便利ですね。 例えば Dailymotion の動画のタイトルが欲しい場合は、JSONPath を使わないと以下のようになります。 my $title = $json->{sequence}[0]{layerList}[0]{sequenc

  • にひりずむ::しんぷる - Mobageを支える技術書いた

    梅雨入りして外に出る気力が全くわきませんね。この時期は家に引きこもっていろんな技術書を読み漁るのが良いエンジニアへの道です。 というわけで、自分も少しだけ書いている Mobage を支える技術日 6/13(水) に発売する運びと相成りました。皆さんの手元に無事届いているでしょうか?すでにいろいろなところで書評が書かれているようでありがたい限りです。 レイアウトを工夫してみたらすごい勢いでこのへんにスペース開いたのでゆのっちで埋めておきますね。 ×╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹× ×╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹× ×╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹× ×╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹××╹◡╹×

    yuiseki
    yuiseki 2012/06/14
  • にひりずむ::しんぷる - 親プロセスと子プロセスでデータを送受信する方法のメモ

    pipe() とか socketpair() とか色々方法はあるけど、素直に IO::Pipe 使っとくと簡単便利。コアモジュールですし。 use strict; use warnings; use IO::Pipe; my $pipes = []; my $children = []; for my $i (1..10) { push @$pipes, my $pipe = IO::Pipe->new; my $pid = fork; if ($pid) { # parent $pipe->reader; push @$children, $pid; next; } # child die $! unless defined $pid; $pipe->writer; print {$pipe} "pid: $$, index: $i\n"; exit; } for my $pid (@$

    yuiseki
    yuiseki 2012/01/14
  • 1