タグ

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

  • にひりずむ::しんぷる - homebrew で最低限これだけはいれておけってやつ

    新卒向けなんたらカレンダーの X日目です。 そもそも homebrew 使ってない まず Xcode を入れる必要がある。Xcode は App Store からインストールして、 Preference → Downloads → Components → Command Line Tools をインストール。 そしたらおもむろに以下のコマンドを打つ $ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)" おしまい。 sl $ brew install sl 必須コマンド。 zsh $ brew install --disable-etcdir zsh OS X は PATH をゴニョゴニョやられてむかつくので /etc/zshenv を読まないように --disable-etcdir 付きでインス

  • にひりずむ::しんぷる - 京都旅行に行った話

    TODO 2012/03/31 去る 3/17 から 3/18 にかけて京都旅行に行って来ました。「そうだ京都、行こう」って土曜の夕方ぐらいに思ったので。 とりあえずパンツと下と MBA とナイフとランプをかばんに詰めこんでいざ東京駅へ。まず、新幹線に乗るのが久々過ぎて「特急券?乗車券?」ってなってとりあえず特急券だけ買って改札行ったらうんともすんとも言わなくて「仕方ないから Suica 突っ込むか」って自動改札機に入れたら Exception が発生して親切な駅員さんが来て教えてくれました。ありがとう。 で、やっぱり新幹線と言えば駅弁ですね。 チョコボールも欲しいところでしたら残念ながら売っていませんでした。こういう事書くから「第二の mattn」とか言われるんですね。心外です。 で、2時間半ぐらい新幹線に乗ってたら京都に着きました。さて、最初はどこに行こうかなと思ってたら、どうやら

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

    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 (@$

  • にひりずむ::しんぷる - IO::Prompt::Simple 書いた

    リリースしました にひりずむ::しんぷる - IO::Prompt::Simple 0.01 リリース あらすじ xaicron:> ExtUtils::MakeMaker はロードに1秒ぐらいかかるから遅延ロードにしたた。prompt 使いたいだけなんだけど。IO::Prompt はなんかごついし、今後はコピペでいい気がしてきた。 tokuhir○m:> @xaicron IO::Prompt::Simpleの予感 xaicron:> @t○kuhirom srd! というわけで適当にでっち上げた。 xaicron/p5-IO-Prompt-Simple - GitHub的には ExUtils::MakeMaker の prompt() と同じだけど、第三引数で指定した文字じゃないとダメとか、この正規表現にマッチしたやつじゃないとだめとかを設定できる感じ。 あとは、terminal

  • にひりずむ::しんぷる - HTML::Filter::Callbacks の紹介

    追記あり Yuji Shimada / HTML-Filter-Callbacks - search.cpan.org charsbar さんにパッチを送ったら、「commit bit 付けたから自分でリリースしてちょ」って言われたので、先ほど 0.07 をリリースしました。 それはさておき、このモジュールについての情報があんまり世の中に無いようなので、いい機会なので紹介しようかと思います。 このモジュールを使えば 不要なタグの除去 url の変換 属性の追加、削除 text の置き換え などなどが簡単にできます。 似たようなモジュールとして、HTML::Scrubber というのが昔からあって、よく使われてますが、長年メンテされていなかったり*1、インターフェースがとてもわかりにくかったり*2して、今から使うのは気が引けますが、HTML::Filter::Callbacks は大変直感的

  • にひりずむ::しんぷる - 最近のセットアップスクリプトの書き方

    コードジェネレーターというかスニペットというかセットアップスクリプトというかそういうのを、最近は以下のような感じで書いてる。 実際には Getopt::Long なんかと組み合わせて使う。 #!/usr/bin/env perl use strict; use warnings; use File::Basename qw/dirname/; use File::Path qw/mkpath/; use File::Slurp qw/write_file/; use Data::Section::Simple qw/get_data_section/; use Text::Xslate; use 5.12.1; my $app = shift || die 'Usage: gen.pl app'; mkdir $app or die "$app: $!"; chdir $app; my $

  • にひりずむ::しんぷる - 初めての Furl

    巷でとっても速くて便利だねこれってなってる HTTP Client であるところの Furl の簡単なつかい方を紹介します。 そもそも Furl は何かっていうと、perl には LWP っていう超高機能な HTTP Client があって、これがデファクトになってるんですね。 でも、それって結構昔からあって、かつ重厚長大なモジュール群なので結構遅いわけです。とくに CPU 使用率が高い。 そんなわけで、libcurl ぐらい速くて軽い HTTP Client があるといいよねってことで開発されたのが Furl です。 読み方は ふぁーる。 use strict; use warnings; use 5.0100; use Furl; my $furl = Furl->new(agent => 'Madoka-Magica/chu-2'); my $res = $furl->get('ht

  • 1