Skip to content

Instantly share code, notes, and snippets.

@cou929
cou929 / gist:4263989
Created December 12, 2012 01:13
踏み台サーバを nc で proxy する際の ssh config テンプレ
# local -> proxy_host -> web??, db??, etc... を想定
# proxy_user, proxy_user_id_rsa はそれぞれ踏み台サーバのユーザーと鍵
Host web?? db??
ProxyCommand ssh proxy_host nc -w 3600 %h %p
User proxy_user
IdentityFile ~/.ssh/proxy_user_id_rsa
@cou929
cou929 / onresourcerequested.js
Created December 12, 2012 00:11
phantomjs でそのページから出されているリクエストをキャプチャする (onResourceRequested イベントのテスト)
var page = require('webpage').create();
page.onResourceRequested = function(request) {
console.log('Request (#' + request.id + '): ' + request.url);
};
page.open(phantom.args[0] || 'http://google.com', function() {
console.log('loaded');
phantom.exit(0);
});
@cou929
cou929 / markdownlink.js
Created December 11, 2012 13:11
ページのタイトルと url から markdown のリンクを作るブックマークレット
@cou929
cou929 / gist:4249083
Created December 10, 2012 07:42
Time::Piece で epoch 取得
$ perl -MTime::Piece -le 'my $now = localtime->epoch; print $now;'
1355125319
@cou929
cou929 / gist:4249052
Created December 10, 2012 07:31
perl ハッシュのデフォルト値. 存在しない key にアクセスすると作ってくれる
$ perl -MData::Dumper -le 'my $a = +{}; $a->{foo}->{bar}++; $a->{foo}->{bar}++; $a->{foo}->{baz}++; $a->{blah}->{blah}++; print Dumper $a;'
$VAR1 = {
'blah' => {
'blah' => 1
},
'foo' => {
'bar' => 2,
'baz' => 1
}
};
@cou929
cou929 / gist:4249035
Created December 10, 2012 07:27
文字列のフォーマットチェックとパースを一度に
% perl -le 'my $input = "300x250"; print "abort" unless $input =~ /(\d+)x(\d+)/; my ($w, $h) = ($1, $2); print "$1 x $2";'
300 x 250
@cou929
cou929 / gist:4244705
Created December 9, 2012 12:48
python markdown のテストと文字コードまわりの確認
$ python -c 'from markdown import markdown; import codecs; print markdown(open("/Users/kosei/projects/please-sleep/posts/zsh-builtin-command-fc.md").read().decode("utf-8")).encode("utf-8");'
<ul>
<li>
<p>nix: zsh の fc ビルトインコマンド
<code>fc</code> はコマンドの履歴操作をおこなう汎用的なコマンドで, たとえば <code>history</code> は zsh だと <code>fc -l</code> のエイリアスだったりする.</p>
</li>
<li>
<p><code>history</code> のように普通に履歴を表示するだけだったら <code>-l</code> オプションをつける.</p>
</li>
<li><code>-n</code> でコマンドの通し番号を表示しない</li>
@cou929
cou929 / gist:4244007
Created December 9, 2012 09:14
pwd and date sample
$ pwd
/Users/kosei
$ date +%s
1355044489
@cou929
cou929 / shellvar.from.childproc
Created December 9, 2012 04:21
子プロセスから HISTFILE シェル変数は読めない
$ python -c 'import os; print os.environ["SHELL"]; print os.environ["HISTFILE"]'
/bin/zsh
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/kosei/.virtualenvs/dev/bin/../lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'HISTFILE'
@cou929
cou929 / python.empty.array.bool
Created December 9, 2012 03:42
python での空配列の真偽値確認
$ python -c 'print 1 if [] else 0'
0
$ python -c 'print 1 if [1] else 0'
1