ディレクトリ以下 一括置換

http://qiita.com/takuan_osho/items/df2095f9023ec163ba5a ファイル数がすくなければ zsh なら perl -i -pe 's/foo/bar/g' **/*.txt などとするのが楽ですね。

ec2のphpで"Call to undefined function ssh2_connect"

yum install php-pecl-ssh2.x86_64

ec2のphpでsqlite

yum install php-pdo

levelDBの実行速度

数千万件はいったlevelDBからランダムに10000件アクセスした時の速度をはかったら、 キモい挙動だった。1、2回目の試行では48秒、47秒だったのに、回数を重ねるとだんだん早くなって、11秒付近におちついた。 キャッシュのせいかなと思ったが、read option…

2ユーザのどちらからでもログをだせるようにパーミッションとか設定

参考 http://www.dondari.com/index.php/Apache%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AEumask%E5%80%A4%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B user - ec2-user - apache batchをたたくのはec2-user, wwwアクセスからのログはapacheが、みたいな状況。…

リファレンス的表現を使うための変数の初期化

PHP

やりたいこと $s->{"aaa"} = 1; こういう感じの連想配列。 $s = array(); $s->{"aaa"} = 1; print_r($s); print_r(json_encode($s)); だとできなかった。 PHP Warning: Attempt to assign property of non-object in みたいなエラーがでる。 $s = array(); …

ファイルから指定行を取得 速度比較

for i in `seq 1 1000000` do echo $i >> count.dat doneexport n=500000 export m=500100time sed -n -e "$n,${m}p" -e "${m}q" count.dat > bbb.dat real 0m0.059s user 0m0.056s sys 0m0.004stime head -$m count.dat |tail -100 > aaa.dat real 0m0.046s…

Can't find file: './mysql/host.frm は権限ミス

db directory を700にしたら解決

マウスやキーボード操作の自動化

http://ameblo.jp/neetse/entry-10355492305.htmlxautomationとかいうのがいけるのか?最新版1.08や1.07はインスコが難しいみたいだが、1.01ならすんなり入った。 wget http://pkgs.repoforge.org/xautomation/xautomation-1.01-1.el5.rf.x86_64.rpm rpm -ivh…

プロセス間で巨大なサイズの変数を共有したい

tokyocabinet, kyotocabinet, memcached, redis これらは普通のハッシュに比べると数十倍〜数百倍遅かった。 こうなったらKVSを諦め、変数をどうやって他のプロセスと共有するかを考えた方がいいのかもしれない。 その方法はないのか?http://nihen.hatenabl…

redisのperlクライアントのperformance比較

比較対象 Redis Redis::Fast Redis::Client10万件set get hset hget Redis::Clientが一番よかったRedis::Clientが10sくらい、Redis::Clientが6sか7sくらい うーん、オンメモリだからもっと爆速なのかと思っていたが、秒間1万くらいかー Redisはdump機能とか…

Error in plot.new() : figure margins too large

RStudioでこんなエラーがでたときの対処法 Error in plot.new() : figure margins too large ワークスペース内に描画スペースのサイズを大きくすると解決することがある。

指定要素が含まれる行の別の要素をとってくる

R

http://stackoverflow.com/questions/6651722/search-through-a-table-in-r X[X[,1]=="C",2] X["C",2]

gmail account の増やし方

http://www.slideshare.net/TakutoKimura/twitter-user-recommendation

install R言語 version 3.02 on Ubuntu

R

http://qiita.com/foloinfo/items/a7b38084add3bb70f6ca # add source to apt. sudo vim /etc/apt/sources.list # add line below deb http://cran.rstudio.com/bin/linux/ubuntu precise/sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E0…

output as csv

select * from tag limit 10 into outfile "/tmp/tag10.csv" fields terminated by ',';ただし出力先のアクセス権限がだめだとエラーがでる

web::Scraper 高速化2

use Web::Scraper; use HTML::TreeBuilder::LibXML; HTML::TreeBuilder::LibXML->replace_original(); 文字化けするので http://weblog.nqou.net/archives/20100607024813.html この記事はdec -> parse -> enc とあるが、 自分はdec -> scraper -> dec でう…

プロセス名で一気にkill

kill `ps -ef | grep hoge.pl | awk '{print $2;}'`

KyotoTycoonのincrementの仕様

ややこしい my $ret = $kt->increment_double($key, $num, $xt); $num: incremental Return: value after increment. 直接叩いた時に返ってくる値は10進数だが、 その後getで叩いて返ってくる値は、binaryっぽい。ので、get等で叩いた時は、10進数になおす必…

phpunit の --include-path で複数指定

php

./phpunit.php --include-path "パス1:パス2" test.php

Ubuntu 端末(gnome-terminal)がメモリリークをする問題

11.10のときも出たし、そして昨日別のPCに12.04をインストールしてもすぐに出たバグなので、 Ubuntuが元々抱えているバグだと思います。Konsoleで解決

how to handle array JSON on perl

'tags' => [ { 'lock' => 1, 'tag' => "NNI\x{30aa}\x{30ea}\x{30b8}\x{30ca}\x{30eb}\x{66f2}" }, { 'lock' => 1, 'category' => 1, 'tag' => "\x{97f3}\x{697d}" } ], json my $tags = $j->{tags}; #my $tags2 = $tags->[0]; #print Dumper $tags2; for my…

はてなAPI on perl 的メモ

content 文字化け http://hirobanex.net/article/2013/04/1366943782

grep で特定の文字列が含まれるファイル名だけをリストアップする方法

memohttp://weble.org/2012/01/23/grep-filename-onry egrep -rl 'hoge' ./ > ~/result.txt

perlのsplitの挙動でちょっとはまった

分割基準文字しか、文字列に含まれていなかった場合、undefが返るとな。 my @arr = split(/\n/, "\n"); これだと、@arrはundefになる。 my @arr = split(/\n/, "\n\n"); これでもundef。 my @arr = split(/\n/, "\na"); このように少しでも文字が入ってれば…

KyotoTycoon系ではまりポイント

set()のvalueに空文字("")を入れると、undefとしてストアされる。厳密に調査してないけど、少なくとも、Cache::KyotoTycoonのcursorで while (my ($k, $v) = $cur->get(1)) { で取るとそうなった。 あーもうマジで無駄な時間をすごした - あ、普通にcur使…

Net:Twitter でapi version 1.1対応版にしろ的なエラー

use Net::Twitter; ↓ use Net::Twitter 4.0000001; traits => [qw/API::RESTv1_1/], http://cl.hatenablog.com/entry/2013/02/05/Net-Twitter_4.00000_01

getしたvalueを直接出力したりすると、配列になってしまう

use Cache::KyotoTycoon use Data::Dumper##略print Dumper $db->get("aaa"); 上のように直接出力したりすると、こんな感じに配列になる。 $VAR1 = 'hoge hoge value!'; $VAR2 = undef; 一度変数へ結果を代入すれば無問題っぽい

levelDBは使えないのか

Webサービスのバックグラウンドで激しくread writeする用途に使おうと思ったが、なんか簡単には無理っぽい。こんな感じのエラーがでて、複数のプロセスが同時に開けないっぽい。 /path/to/dir/with/levelDBdatabase/LOCK: Resource temporarily unavailable …

incrementで数値をちゃんと表示

公式の説明 The value is serialized as an 8-byte binary integer in big-endian order, not a decimal string. If existing value is not 8-byte, this method fails. 10進数に戻す hex(unpack("H*", $value)); 以上終了 参考 http://mikeneko.creator.clu…