タグ

2015年8月25日のブックマーク (3件)

  • シェルスクリプト マルチスレッドっぽくバックグラウンド処理を同期させる « yukku++

    コマンドの最後に & を付けて、バックグラウンド処理へまわす $! で直前のバックグラウンド処理の pid を取得して変数へ保持 wait $hoe で指定した pid の処理の終了を待つ バックグラウンド処理はおなじみ hoe & で出来る。 この pid を取るには、直後で $! にアクセスすることで参照できる。 wait コマンドは、指定した pid のプロセスが終了するまで待ってくれる。 サンプル #!/bin/sh echo "[info] run multiple background proc." echo "[info] -----------------------------" _dummy_proc(){ sleep $1 ret=`expr $1 % 2` exit $ret } _dummy_proc 2 & pid1=$! _dummy_proc 3 & pid

  • URLエンコード方式の自動判別方法紹介

    そこで、以下のような考え方で判別を行うことにしました。 1) 検索語句の並びにutf-8の方式と矛盾する点がなければ、utf-8と判定する。 2) 1)でutf-8と判定できない場合には、検索語句の並びにeuc-jpの方式と矛盾する点がないかを調べて、 矛盾点がなければ、euc-jpと判定する。 3) 1)、2)でそれぞれの方式と判定できない場合には、検索語句の並びにshift-jisの方式と矛盾する点がないかを調べて、 矛盾点がなければ、shift-jisと判定する。 4) 1)~3)でいずれの方式とも判定できない場合には、utf-8と判定する。 ここで、4)の判定は明らかにおかしいものですが、なんらかの結果を返さないと、 パソコンのプログラムを組むことができないので、このようにしました。 4)の事態が発生した場合には、文字化けした結果となるはずです。 そして、この事態が発生するのは、

  • URLエンコード/エスケープに使うメソッドごとの違い - 別館 子子子子子子(ねこのここねこ)はてブロ部

    2014/11/19追記 JavaScriptのencodeURIComponentにRubyのメソッドで近そうなのはWEBrick::HTTPUtils.escape_form ほぼ同じなのですが、唯一の違いが半角スペースのエンコード。 encodeURIComponent だと %20 ですが、 WEBrick::HTTPUtils.escape_form だと + (プラス記号)になります。 WEBrick::HTTPUtils.escape_form してから + を %20 に置換(String#gsub("+", "%20"))してやればOK JavaScriptのencodeURIComponentはRubyだとどう書く - 別館 子子子子子子(ねこのここねこ) 編 URLエンコードなんだからURI.encode(もしくはURI.escape)とかだったよなーと思ったのだけ

    URLエンコード/エスケープに使うメソッドごとの違い - 別館 子子子子子子(ねこのここねこ)はてブロ部