パスワードファイル操作のまとめ
パスワードファイル新規作成
htpasswd -c ファイル名 ユーザ名 New password: パスワード Re-type new password: パスワード
ファファイルに追加(パスワード変更)
htpasswd ファイル名 ユーザ名 New password: パスワード Re-type new password: パスワード
コマンド引数でパスワードを指定
htpasswd -cb ファイル名 ユーザ名 パスワード
ユーザ削除
htpasswd -D ファイル名 ユーザ名
Floatクラスで基数指定付きto_s
ちょっと必要だったので、小数も指定基数でto_sできるようにしてみた。
ただ、指定基数によっては無限小数になる場合があるので、第2引数でto_sの最大長を指定できるようにしてみた。
class Float alias :to_s10 :to_s def to_s(base=10, max=20) raise ArgumentError, "invalid radix #{base}" if base < 2 || base > 36 return self.to_s10 if base == 10 clone = self c = clone.to_i str = c.to_s(base) clone -= c if clone != 0 str += '.' while clone != 0 && max > 0 clone *= base c = clone.to_i str += c.to_s(36) clone -= c max -= 1 end end str end end
こんな感じで使えるはず。
irb(main):042:0* 3.1415926535.to_s(2) => "11.00100100001111110110" irb(main):043:0> irb(main):044:0* 3.1415926535.to_s(3) => "10.01021101222201021100" irb(main):045:0> irb(main):046:0* 3.1415926535.to_s(16) => "3.243f6a8822e88" irb(main):047:0> 3.1415926535.to_s(36) => "3.53i5ab1nu1od65oswd6b" irb(main):048:0> 3.1415926535.to_s(1) ArgumentError: invalid radix 1 from (irb):4:in `to_s' from (irb):48 from /usr/local/ruby/bin/irb:12:in `<main>'
とりあえず、問題なさそうなので良しとするか。。。
ファイルを空にするコマンド
ファイルを空にしたい。
自分だったら一体どんなコマンドを打つだろうか?
rm hoge.txt touch hoge.txt
なんか、アホらしい。。
パーミッションとか変わってしまうしw
echo > hoge.txt
ちょっと進歩。
でもなんか改行?1バイト入ってる・・・
: > hoge.txt
おk!
Pascalの三角形をやてみた
http://rubyist.g.hatena.ne.jp/moira/20090729/1248837435
を見て別のアプローチで再帰使わずにやってみた。
(階乗の計算では再帰使っているけどw
かなり速い!!
class Numeric def fact return 1 if self.zero? return @cache until @cache.nil? @cache = self * (self - 1).fact end end def pascal(n) n -= 1 (0..n).map{|x| n.fact / (x.fact * (n - x).fact)} end pascal(32)
FireFox3.5でProxy設定を素早く切り替える
PCを別の環境へ接続して作業したりする場合にProxyを切り替える、なんてことはよくある。
FireFox3.5にするまではSwitchProxy Tool 1.4.1を使っていたが、
いつまでたっても3.5対応がされない。。
強制インストールするとFireFoxが変な動きするし(汗
が、見つけた!Multiproxy Switchを使えば、いいみたいだ。
ってか名前変わっただけで、使い方もデザインも同じやし・・
ツール→オプション→詳細タブ→ネットワークタブ→接続設定なんてやらなくても、ステータスバー等からすぐに切り替えられるのでオススメです!
PerlワンライナーでURLエンコード/デコード
こんな感じかな?
(ワンライナーじゃないwww)
URLエンコード
コード
perl -e '$ARGV[0]=~s/([^\w ])/"%".unpack("H2",$1)/eg;$ARGV[0]=~s/ /\+/g;print"$ARGV[0]\n"' 【エンコードしたい文字列】
テスト
> perl -e '$ARGV[0]=~s/([^\w ])/"%".unpack("H2",$1)/eg;$ARGV[0]=~s/ /\+/g;print"$ARGV[0]\n"' "test テスト" test+%83e%83X%83g
URLデコード
コード
perl -e '$ARGV[0]=~s/\+/ /g;$ARGV[0]=~s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;print"$ARGV[0]\n"'【デコードしたい文字列】
テスト
perl -e '$ARGV[0]=~s/\+/ /g;$ARGV[0]=~s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;print"$ARGV[0]\n"' "test+%83e%83X%83g test テスト
"