しおメモ

雑多な技術系ブログです。ニッチな内容が多いです。

shell

Swiftのコードにシェルスクリプトでfinalをつける

こんばんは、final警察です👮 既存のコードにfinalをつけるのがめんどくさかったので、シェルスクリプトで一括finalをつけてみました。 Bashスクリプト 解説 git grep class.+:.*[, ]$CLASS_NAME\W while read ~ done < <(expr) なぜfinalをつけるか 締め Bash…

git stashされているかをシェル(zsh)に表示する

どのブランチで最後にgit stashをしたかわからなくなることがあるので、シェルに表示されるようにしてみました。 これで誤popがだいぶ減りました。 How To stashされた一覧はgit stash listで確認できます。 % git stash list stash@{0}: WIP on feature/int…

Swiftのメソッドごとのコンパイル時間を表示するワンライナー

忙しい人向けに、.xcactivitylogからメソッドのコンパイル時間を抽出するワンライナーです。 gunzip -c -S .xcactivitylog hoge.xcactivitylog | perl -pe "s/\r/\n/g" | grep -E "^\d+\.\d+ms" | sort -nr | uniq | head -100 中身はただのgzipですが、\rが…

git push前にrebaseをリマインドする

あとからコミットメッセージ書きたいとか、rebase前提でとりあえず細かくcommit切りたいときに、雑にtempとかWIPとか書いて忘れそうになるので、hooksのpre-pushに警告をいれてみることにしました。 やり方 master pushを防ぐのとほぼ同じです。 masterへのp…

ターミナルからワンライナーでGitHubのもろもろを開く

ターミナルからGitHubのもろもろを開く git管理下のディレクトリにいる時に、もろもろのよく使うページを開くワンライナーでエイリアスを作ってみました。 はじめに 説明に便利なので、ブラウザの立ち上げにmacのopenコマンドをつかっていますが、他のOSの場…

.gitignoreをGitHub公式からとってくるシェルスクリプト

curlで取ってくるだけですが、シェルから取れると便利なので割とよく使っています。 github.com このGitHubのリポジトリ(わかりづらい)のrawから取ってきます。 こちらは、CC0ライセンスらしいです。 スクリプト .bashrcやら.zshrcに置く。 gign() { cp .git…

masterへのpushをローカルではじく

ルールとマナーを守って楽しくgit pushしよう!!

xargsの-Pオプションでコマンドを並列実行する

シェルだけで簡単にコマンドを並列実行するのに、xargsの-Pオプションがあります。 GNU Parallelも便利ですが、そちらはmacユーザーだと別途インストールが必要なので、こちらを紹介します。 使い方 活用例 例1. 一括画像リサイズ 例2. 連番ダミー画像生成 …

帰れないプロジェクトをgitから察知する

あけましておめでとうございます。新年からブラック()なネタです。 基本 git log --pretty='%ai %an' | sort -u -k1,1 | sort -k2 -r | head -20 日ごとに、最終コミットの日時を抽出して、ソートしてワースト20を出力します。 こんな感じ 2018-11-16 23:31:…