2015年5月16日土曜日

python3.3、pip3.3インストール

python3.3インストール

yum groupinstall -y development
yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel
wget http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tar.xz
xz -d Python-3.3.3.tar.xz
tar -xvf Python-3.3.3.tar
make && make altinstall

pip3.3インストール

wget https://pypi.python.org/packages/source/d/distribute/distribute-0.6.38.tar.gz#md5=a0bc8fdb8b7b36234dcb1ff3d1fc702d
tar zxvf distribute-0.6.38.tar.gz
 cd distribute-0.6.38/
sudo python3.3 setup.py install
sudo easy_install pip

pyyamlを入れてみる

sudo pip3.3 install pyyaml

2015年5月7日木曜日

Linuxでのファイルの絶対パスの表示

Linuxでのファイルの絶対パスの表示
readlink -f を使うとよい

$ readlink -f bow_test.csv 
/home/sato/workspace/book/Learn/data/bow_test.csv

2015年5月6日水曜日

gitでのコミットの打ち消し

gitで過去の変更を取り消したいときgit reset --hardは危険。コミットしてない変更があると完全に中身を消去してしまう。(これのせいで半日を無駄にした)
コミットログを汚して許容される環境ではgit revertで打ち消すべき
revertしただけだと、消したファイルはワーキングディレクトリから消えたままなのでそのcheckoutすべき

git revert <commit>
git checkout .

2015年5月5日火曜日

rubyでのファイル名に適したTimeの文字列表現

ファイルを作るスクリプトを何度も起動する必要がある場合いちいちファイル名を指定ルルのは面倒。 現在時刻から文字列を作成してファイル名にしておくといちいち指定する必要がなくて便利. しかしTime.now.to_s現在時刻の文字表現を取得すると、ファイル名にスペースが入って気持ちが悪い。 さらに、頭が年度だとタブでのファイル名保管が面倒

2.1.4 :013 > Time.now.to_s
 => "2015-05-06 00:20:39 +0900"

こんなかんじがよい

2.1.4 :008 > Time.now.strftime("m%M-h%H-d%d-%b-%Y")
=> "m53-h16-d06-May-2015"

2015年5月4日月曜日

RailsのMongoidでMongodbがtimeoutする

Mongodbはデフォルトで10分でカーソルがタイムアウトしてしまう
バッチ処理などの長時間の処理が途中で止まってしまう。

次のように書くと途中で止まってしまう。

Product.each{|product|
    # 何かの長時間かかる処理
}

10分を越える可能性のある処理は次のようにしましょう

Product.no_timeout.each{|product|
    # 何かの長時間かかる処理
}