覚書

日々学んだことをつらつらと

windowsのbeep音?を消した

conemuでtabの保管エラーの音が鳴りすぎて辛かったので消した。
環境はwindows10  

コントロールパネル > ハードウェアとサウンド > サウンド > サウンド タブ
のサウンド設定を 「サウンドなし」に設定
f:id:gihara2624:20160317145726p:plainf:id:gihara2624:20160317145733p:plain 家で使っているPCはこの設定でよさそう。会社のはデバイスマネージャから設定する様子。

Atomに乗り変えようとしたけど、insertモードを抜ける際にIMEをoffにする方法がわからずに諦めた話

markdownを書く時にAtomも良いかなとちょっとだけ浮気したけど、すぐに戻ってきた。
insertを抜ける際にIMEをoffにする方法が、Windowsには無い様子。MacならKarabinerで良いみたいだけど。
previmでOK。

ArrayList とLinkedList のadd()速さ比べ

環境 Windows 64bit jdk1.8.0_66

以下、検証コード

ArrayList::addとLinkedList::addの速度比較

結果

==============================================
 1回目 ArrayListへのAdd速度  :    797418 
 1回目 LinkedListへのAdd速度 :   3009908 
==============================================
==============================================
 2回目 ArrayListへのAdd速度  :   1820936 
 2回目 LinkedListへのAdd速度 :   1659835 
==============================================
==============================================
 3回目 ArrayListへのAdd速度  :   1784859 
 3回目 LinkedListへのAdd速度 :   1707108 
==============================================
==============================================
 4回目 ArrayListへのAdd速度  :   1812539 
 4回目 LinkedListへのAdd速度 :   1931342 
==============================================
==============================================
 5回目 ArrayListへのAdd速度  :   1708974 
 5回目 LinkedListへのAdd速度 :   1655791 
==============================================
==============================================
 6回目 ArrayListへのAdd速度  :   1534499 
 6回目 LinkedListへのAdd速度 :   1523615 
==============================================
==============================================
 7回目 ArrayListへのAdd速度  :   1543830 
 7回目 LinkedListへのAdd速度 :   1472920 
==============================================
==============================================
 8回目 ArrayListへのAdd速度  :    814212 
 8回目 LinkedListへのAdd速度 :    801149 
==============================================
==============================================
 9回目 ArrayListへのAdd速度  :    738326 
 9回目 LinkedListへのAdd速度 :   1438088 
==============================================
==============================================
10回目 ArrayListへのAdd速度  :    869570 
10回目 LinkedListへのAdd速度 :    755432 
==============================================
==============================================
11回目 ArrayListへのAdd速度  :    821676 
11回目 LinkedListへのAdd速度 :    648135 
==============================================
==============================================
12回目 ArrayListへのAdd速度  :    682345 
12回目 LinkedListへのAdd速度 :    578470 
==============================================
==============================================
13回目 ArrayListへのAdd速度  :    676125 
13回目 LinkedListへのAdd速度 :    502895 
==============================================
==============================================
14回目 ArrayListへのAdd速度  :    657776 
14回目 LinkedListへのAdd速度 :    495432 
==============================================

結論:余り変わらない。少しは違うけど、1万件で0.1秒も変わらないならスロークエリを直した方が良い。

8回目ぐらいからJITの影響か早くなっている。

特定のパスのgitconfigを使う

以下のようにする。自分の環境の場合は、~/dotfiles/.gitconfig に共通のgitconfigがある。共通で使いたいaliasなどが入っている

git config --global include.path ~/dotfiles/.gitconfig

.gitconfigを直接編集するようなブログしか引っかからなかったので、メモ。

git のコミットメッセージをvimで書くときに自動で折り返されないようにする

autocmd FileType gitcommit setlocal textwidth=0

をvimrcに加えればOK


上記を調べる上で必要だった知識メモ

現在のファイルタイプを確認するには

set filetype?

とコマンドを叩く

SourceTreeの外部DiffでMacVimを使う話

SourceTreeの外部diffでMacVimを使う時に、いくつか問題が発生したのでメモ

発生した問題

①SourceTreeから渡されるパスが"/"が2つ連続していてMacVimがそのパスを開けない ②diffツールにmvimdiffを使うと、内容が表示されない。

原因

①SourceTreeの不具合?わからん。。。。
②mvimdiffはプロセスをwaitしないモードで起動する様子
        ↓
 mvimdiffをwaitしないので、制御が親プロセスに即戻る
        ↓
 制御が戻ると渡されるファイルは消える(一時ファイルの様子)
        ↓
 Vimで開くときにはもうファイルが消えている

解決策

SourceTreeから直接mvimdiffを呼ぶのではなく、シェルスクリプトを間に噛ませた。

#!/bin/sh
LOCAL_PATH=`echo $1 | sed -e 's/\/\//\//g'`
REMOTE_PATH=`echo $2 | sed -e 's/\/\//\//g'`
/Applications/MacVim.app/Contents/MacOS/Vim -g -f -d $LOCAL_PATH -d $REMOTE_PATH

①に対しては、"//"を"/"にsed
②に対しては、Vimの引数を調べて、子プロオプション + diff モードで起動
するようにして対策した。

SourceTreeの方は以下のように設定する f:id:gihara2624:20151226213808p:plain


Vimの引数調べるの面倒だった。。。