2013-01-01から1年間の記事一覧

grepした結果をgit log に入れて日付でソートする

sh

あるキーワード周辺で行われた最近の更新の更新を見たかった。 git log のフォーマットを日付でだしてsortしている。 clear && grep 'what new' -lr /prj/dir/ \ | xargs git log --pretty='%ad %an %s' --date=short \ | sort -r \ | head -50

サーバ上のファイルをローカルのように扱えるsshfs

環境はマックです。 osxfuse http://sourceforge.net/projects/osxfuse/sshfs https://github.com/osxfuse/sshfs/downloads 上記をインストールした後に sshfs コマンドでマウントする。 mkdir ~/Desktop/vm # sshfs -p sshポート番号 ユーザー名@IPまたはホ…

さっくりと正規表現置換 pbpaste pbcopy 便利ですね

選択範囲だけさっくりと正規表現をつかって置換できたらなあと思っていて、 sublime textのプラグイン(python)でも書いてみようかなと思っていたけれども、 下記のようなコマンドで要望は満たせることに気がついた macOSXだと pbpaste, pbcopy が非常に便利…

yaml で 空の配列

yaml で 配列は下記のように表現する list: - 'a' - 'b' - 'c' 要素数0の配列を作りたいときに emptylist: これだとnullとかNoneとかundefになる 正しくはこちら emptylist: []

perlとpythonで直積

#!/usr/bin/env python import itertools li = ('apple', 'orange', 'fuck') print [ {"from": frm, "to": to } for frm, to in itertools.product(li, li) if not frm == to ] こういうこと(直積を加工したりする)がperlでやりたいとき、 #!/usr/bin/perl u…

VMware を 5 -> 6 にバージョンアップしたら ssh がつながらなくなった。

開発用に使用していたVMware を 5 -> 6 にバージョンアップしたら ホストのマックからsshでつながっていたのがつながらなくなったので、http://geocities.yahoo.co.jp/gl/ds301b/view/20110928/1317221758ここを参照して、/etc/sysconfig/network-scripts/if…

mysqlの指定テーブルのカラム名だけ取得したい

コード書くときにテーブルのカラム名をちくちくコピペするのが面倒です。 mysqlの指定テーブルのカラム名をcsvとか改行区切りでとりたい。 出来たらコマンドラインからとりたいmysqlにオプション付けてdescして名前の部分だけ切り出す mysql -uuser -ppass -…

メソッド名の一括変更みたいな操作 置換。

sh

# メソッド名が出現する所を確認 $ grep `置換したい単語` -r `~/対象ディレクトリ` # OKなら実際に置換 $ grep `置換したい単語` -lr `~/対象ディレクトリ` | xargs perl -i -pe 's/置換前/置換後/g などの処理' 毎回入力しながら不安になるオプションたちg…

grep のオプション -v, -F, -Pが便利

sh

grep のオプション -v, -F, -Pあたりがよく使う 知ってたら便利なのがたくさんあるけど、 この3つはいつでも使えるのでおぼえやすい。 v 指定した文字列を含まない行を表示 P: Perlの正規表現を使用できる。 '\d{,3}'みたいな指定が出来る。 r 指定サブディ…

名前がついてない趣味は厳しい

自分の一番長続きしている趣味というと、ネット上で面白い画像を集めてる時間が一番長い。いまでも毎日やってて楽しい。 集めた画像を時折見返したりとかしてても当時の自分が好きだった画像のジャンルを見てるととても懐かしい。ただし、この趣味は一般的な…

jQuery('#set-form').serialize() disabled

jQuery('#set-form').serialize()、 form要素の中の値をまとめて取得してくれる。今日ハマったのが、inputタグ を disabled="disabled" にしてると値がとれないということ。 なんて親切なんだ。やめろ。外人もおこの様子 http://stackoverflow.com/questions…

mapの引数の取り方にアレされました

mapにリストをつくってもらっていて、 #!/usr/bin/env perl use Data::Dumper; $li = [ map { +{ AMPM => 'AM', time => sprintf('%02d:00:00', $_) } } 0..2, map { +{ AMPM => 'PM', time => sprintf('%02d:00:00', $_) } } 0..2, ]; print Dumper($li); …

正規表現の最長マッチ最短マッチ

正規表現の最長マッチと最短マッチ、どっちがデフォルトか忘れがちなので、 ブログにあれします正規表現の話で、デフォルトだと最長マッチで ?つけると最短マッチになるというやつです。 #!/usr/bin/perl $a = '<a class="yeah!" href="https://www.google.co.jp">link</a>'; $a =~ /class="(.+)"/ and print $1; #…

YAPC::Asiaに行ってきました

会社のコネでYAPC::Asisにお邪魔しました。 たのしかったです 前職までpythonを書いていたんですが、 社外でエンジニアの集まりなんてほとんどないし 行っても(2回行った)正直どちらも途中で返りたい感じで、 勉強会とかチャラいし不純とか思ってましたが…

複数ファイルを比較して、全てに共通した行のみを出力する

sh

下記の3つのファイルの場合file1 1 2 3 4 5 file2 7 6 5 4 3 file3 1 9 7 5 3 こんなものを出力 $ ./allcomm.sh file1 file2 file3 3 5 ソース allcomm.sh #!/bin/sh PREF=allcomm_tmp_sorted_ # 途中終了時のゴミ掃除 trap "rm -f $PREF*; exit 1" HUP INT …

コマンドラインオプション -a から -z まで

コマンドをつくって、そのオプションを実装するとき、 -a とか -e とか、この機能だとどのアルファベットを 割り当てるのが正当なのか悩むことがある。あと、このコマンドってこの引数使えるのかなとか、 あたりをつけたいときがある。こういう情報ってググ…

ssh が 目を離したすきに 切れちゃうのを 防ぎたい。

ssh/configの設定で「15秒おきに確認する」という設定をしておけばOK $ echo "ServerAliveInterval 15" >> ~/.ssh/config

djangoのカスタムコマンドの、実行中のコマンド名をとりたい。

djangoのカスタムコマンドの、実行中のコマンド名をとりたいけど djangoのBaseCommandクラスの中身とか読んでもコマンド名のとるほうほうなさそう。とりあえずはこれでとれる def get_command_name(): import sys return sys.argv[1] これでとれることはとれ…

pip install したら Cannot fetch index base URL http://pypi.python.org/simple/

pythonbrewからpythonを使用していて、 さくらのVPS上でpip install とはじめてやったら下記の通りでる。 Downloading/unpacking Django==1.3 Cannot fetch index base URL http://pypi.python.org/simple/ Could not find any downloads that satisfy the r…

sqliteでcsvファイルをインポート。sqliteすごい

sh

こんな感じのcsvファイル、tensuu.csvがあるとして 1,100 2,80 3,60 これをRDBテーブルにしたいsqliteすぐ出来る。 $ sqlite3 tmpdb -- テーブルを作って sqlite> create table score_table(id INTEGER, score INTEGER); -- 区切り文字を設定して sqlite> .s…

fatal: protocol error: bad line length character: # Us

いきなり以下のエラーが出てリモートのgitリポジトリに触れなくなった $ git pull origin master fatal: protocol error: bad line length character: # Us http://stackoverflow.com/questions/8170436/git-remote-error-fatal-protocol-error-bad-line-len…

mysqlで発行されてるクエリをログに出すためにmy.cnfがどこにあるか探して修正

mysqlでどんなクエリが発行されてるかを ログに出そうとして少し困った設定を変えるためにmy.cnfを変更したくても まず、どこのmy.cnfを見に行ってるのかよくわからない。 homebrewで入れたのだけれど、設定をどうしたのかもおぼろげ # 設定ファイルはどこの…

ターミナルのコマンドラインで色付きの文字をprintするpython

python -c "print ''.join(['\033[%sm%s\033[0m' % (n, u'P') for n in range(30, 38)])"

ロリポップのチカッパプランにgitのリモートリポジトリを作る

ロリポップのチカッパプランにgitのリモートリポジトリを作る下記の前提でやってます。 サーバのドメイン: ssh777.lolipop.jp サーバのログインユーザ: ok.jp-smoto サーバのSShポート: 7777 リモートのリポジトリの場所 : /home/users/7/ok.jp-smoto/gitrep…

sublimeText2 | Error trying to parse build systemError trying to parse build system

perl用のエディタとしてsublimeText2を使うことに。 cmd + B でデバッグ実行できるBuildという機能がついてるみたいだけど、 perlでは設定が必要とのことで設定した。インストールしたてホヤホヤから http://perl.no-tubo.net/2013/02/17/sublimetext2%E3%81…

Djangoのカスタムタグを使用頻度順で出力するシェルスクリプト

sh

新しく入ったデザイナーさんが djangoのカスタムタグの仕様頻度ランキングが知りたいとのことなので 休み時間にシェルの勉強のつもりで #!/bin/sh # 1つ目の引数にテンプレートのディレクトリとかのパス # 2つ目の引数に結果を出力するファイルパスを入れて…

itertools.groupby の使いどころが今ひとつ分からない。

リストを分割したいことがある。 [1,4,3,2,1,3] -> [[1, 1], [2], [3, 3], [4]] みたいな感じで「同じものでまとめたリストのリストをつくる」 っていう処理をすることがチョコチョコあるので下記みたいなので対応してた。 def group_by_key(iterable, key_f…

djangoのコマンドでオプション引数の指定の仕方とか

下記の通りに行うそうで。 # coding: utf-8 import os import sys import logging from django.core.management.base import BaseCommand from optparse import make_option class Command(BaseCommand): option_list = BaseCommand.option_list + ( make_op…

サクラのライトプラン上でpythonのcgiファイルからレスポンスを返す

まずcgiファイルを作成 try.cgi #!/usr/local/bin/python # -*- coding: utf-8 -*- class Main(object): @staticmethod def response(): print "Content-Type: text/html\n" print "<html><body>hello!</body></html>" Main.response() ftpの手順をファイルへ deploy.ftpcmd open ドメ…

bashのfor文の引数の区切り方

sh

shのfor文は渡した文字列をホワイトスペース区切りで変数に代入してく for i in 1 2 3 4 5; do echo "$i" done こういうことをしたい loglines=$(perl -nle '$. < 10 and print;' log) やり方は色々あるけどこうすると改行区切りで代入してくれるみたい # se…