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

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…

正規表現で範囲演算子(フリップフロップ演算子)

perlでこんな正規表現を書くと行をまたいでマッチしてくれる /RE1/.../RE2/たとえば9時から12時までのログファイルを引っ掛けたいときは /09:00:00/.../12:00:00/ ワンライナーにすると下記のような感じ。 perl -nle '/09:00:00/ ... /12:00:00/ and print;'…

ユーザーインターフェースの心理学 3

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也出版社/メーカー: オライリージャパン発売日: 2012/07/14メディア: 大型本購入: 36人 クリック: 751回この商品を含むブロ…

datetimeのフォーマット、桁合わせの0を除きたい

datetimeをフォーマットする際に 01月07日 と表示されちゃうのを 1月7日 というふうに0を取っちゃいたいという要望があって、現状のソースはこんな感じで from datetime import datetime n = datetime.now() print n.strftime("%m月%d日%H時") # -> 01月07日…

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針(2)

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也出版社/メーカー: オライリージャパン発売日: 2012/07/14メディア: 大型本購入: 36人 クリック: 751回この商品を含むブロ…

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也出版社/メーカー: オライリージャパン発売日: 2012/07/14メディア: 大型本購入: 36人 クリック: 751回この商品を含むブロ…

Linuxで作成したテキストファイルをWindowを使ってる人に送るときによくやること

sh

# 文字コードを調べる nkf -g file_name.txt #改行コードを確認する od -c file_name.txt # 改行コードをLF/CRのものを生成する nkf -Lw file_name.txt > output.txt # そのファイルの改行コードをLF/CRに変更してしまって良いなら nkf -Lw --overwrite file…

HF デザインパターンの2章をpythonで書いたもの

# coding: utf-8 from deco import print_fn_name class Subject(object): def __init__(self): self._observers = [] def register_observer(self, observer): self._observers.append(observer) def remove_observer(self, observer): if observer in self…