Skip to content

Instantly share code, notes, and snippets.

@hell0again
hell0again / .babelrc
Created April 13, 2016 02:45
unassert empowered assert
{
"plugins": [
"babel-plugin-empower-assert",
"babel-plugin-espower",
"babel-plugin-unassert"
]
}
[alias]
##################
## git graph
##
## git logの短縮版。グラフとブランチ名と日付、コミッタを表示
## git logのデフォルトはこんなん
# graph = log --decorate --graph --pretty=\"format:%C(yellow)%h%C(auto)%d %Creset%s%Creset\"
## コメント+日付+author
@hell0again
hell0again / main.sh
Last active July 29, 2020 10:17
bashで並列処理
#!/bin/sh
# - (...) はサブプロセス実行
# - & をつけるとコマンドをバックグラウンドプロセスとして起動する
# - wait ですべてのバックグラウンドプロセスを待機
# - waitにプロセスidを渡すと指定したプロセスが終了するまで待機したうえで指定プロセスの戻り値を返す
# - プロセスidを渡さない場合、すべての子プロセスを待つが終了ステータスはつねに0になる。
# - 子プロセスが0以外を返しても親プロセスはそれを検知できないので子プロセスの死亡を見て親プロセスを殺すのが難しい
# - プロセスidを複数渡すことはできない
(
@hell0again
hell0again / git_ssh
Created August 19, 2015 03:22
deploy key運用向けにGIT_SSHで指定するラッパースクリプト
#!/bin/sh
# Description:
# GIT_SSH wrapper for github "deploy key" solution
#
# Usage:
# 1. create ssh key in .ssh/deploy_key/${YOUR_REPO}/id_rsa{,.pub}
# 2. register the created ssh key as deploy key
# 3. GIT_SSH=~/.ssh/git_ssh git pull origin master
set -eu
[ ${SET_X:-false} = true ] && set -x
@hell0again
hell0again / gist:8730ca8f230a49881aec
Created May 19, 2015 09:23
perl5.10以降で可能な入れ子を扱う正規表現
my $str = "a + (b * (3 / (c + 5)))";
$str =~ /\(((?:[^()]++|(?R))*)\)/;
# /\( \)/; # 括弧にマッチ
# ( ) # 後方参照
# (?:[^()]++|(?R))* # 括弧以外のバックトラックなしの貪欲マッチ または全体のパターンにマッチ(再帰)
print $1; ## "b * (3 / (c + 5))"
@hell0again
hell0again / gist:1aa816359faa74890240
Created April 28, 2015 04:35
シェルスクリプトでよく使うスニペッツ
## 死ね
set -e
## TMP_DIRを作成 & TMP_DIRを消してから死ね
TEMP_DIR=$(mktemp -d "/tmp/tmp_${0##*/}.XXXXX")
TEMP_DIR_SUFFIX=$(basename ${TEMP_DIR} | cut -c 5-)
trap "rm -rf /tmp/tmp_${TEMP_DIR_SUFFIX}" EXIT
trap "rm -rf /tmp/tmp_${TEMP_DIR_SUFFIX}; exit 1" INT PIPE TERM
#echo ${TEMP_DIR_SUFFIX}
@hell0again
hell0again / gist:121b36388e9ef849f756
Created February 20, 2015 01:59
source実行時の環境変数をカレントシェルにexport奴
## 指定した名前の変数の値を得る
value_of() {
name=$1
eval echo "\${${name}}"
}
## 変数が定義済みかチェックする
## source内でexitするとシェルごとexitするよ
is_defined() {
name=$1
@hell0again
hell0again / main.out
Created February 19, 2015 02:25
シェルスクリプトでテンプレートエンジン的な
I am template.
lang: ja_JP.UTF-8
key1: val1
key2: val2
key3:
key4: UNDEF
@hell0again
hell0again / gist:bdbef768361411b1d6c0
Created February 5, 2015 06:00
デバッガあれこれ

perl

perl -d file.pl
  • ブレークポイント文は $DB::single = 1

実行関連

@hell0again
hell0again / gist:72a1ae6918f3261c9bf1
Created January 26, 2015 11:43
minify差分のdiffをみる
git diff > df
grep '^-' df | sed -e 's/\s/\n/g' > g.diff.a
grep '^+' df | sed -e 's/\s/\n/g' > g.diff.b
git diff --color --no-index -- g.diff.{a,b}