フォルダ名やファイル名に含まれるスペース文字を回避する
例
1 |
$ find . -name '*.c' -print0 | xargs -0 grep 'pattern' |
説明
デフォルトの区切り文字はスペース文字。-print0 指定で区切り文字をNUL文字に変更する。xargsの区切り文字指定をあわせてNUL文字にすることで、フォルダ名やファイル名に含まれているスペース文字を区切り文字と誤認することを回避する。
1 |
$ find . -name '*.c' -print0 | xargs -0 grep 'pattern' |
デフォルトの区切り文字はスペース文字。-print0 指定で区切り文字をNUL文字に変更する。xargsの区切り文字指定をあわせてNUL文字にすることで、フォルダ名やファイル名に含まれているスペース文字を区切り文字と誤認することを回避する。
1 |
$ git svn clone --prefix=svn/ -s http://www.sample.com/my_repository |
1 |
$ git svn clone --prefix=svn/ --no-minimize-url http://www.sample.com/my_repository |
--prefix
をつけたとき
1 2 |
$ git branch -r svn/trunk |
1 2 3 |
$ git branch -a * master remotes/svn/trunk |
--prefix
をつけないとき
1 2 |
$ git branch -r trunk |
1 2 3 |
$ git branch -a * master remotes/trunk |
1 |
$ git svn rebase |
1 |
$ git checkout -b my_working_branch |
1 |
$ git checkout -b my_working_branch svn/my_working_branch |
※ git svn cloneにおいてprefix(svn/)をセットした効用
1 2 3 |
$ vi hello.c $ git add hello.c ... |
1 |
$ git commit -m "fix hello.c" |
1 |
$ git checkout master |
1 |
$ git merge --no-ff --no-commit my_working_branch |
fast-forwardを禁止して必ずマージコミットを作成する。ローカルリポジトリには変更履歴がブランチとして残り、リモートリポジトリに対してはマージコミットのみが反映される。
1 |
$ git commit -m "bug-fix: xxx" |
1 |
$ git svn dcommit |
1 |
$ git branch -d my_working_branch |
1 |
$ git branch |
1 |
* master |
1 |
$ git branch -r |
1 2 3 4 |
svn/xxx_1.0.0 svn/tags/1.0.0_release svn/tags/1.0.1_release svn/trunk |
1 |
$ git branch -a |
1 2 3 4 5 |
* master svn/xxx_1.0.0 svn/tags/1.0.0_release svn/tags/1.0.1_release svn/trunk |
Xcodeで複数行のインデントを調整する方法。
rbenv環境でinstallやgemを使った後はrehashを実行する必要がある。
1 2 3 4 5 6 |
$ gem install mgem Fetching: mgem-0.1.7.gem (100%) Successfully installed mgem-0.1.7 Parsing documentation for mgem-0.1.7 Installing ri documentation for mgem-0.1.7 1 gem installed |
kNumberOfFiles, kUserKey, kDisplayTingeGreen のように定数名の接頭辞(prefix)がなぜ “k” なのか?
Objective-C が登場する以前の時代から継承されているMacOSプログラミングの慣習。
ドイツ語の”Koeffizient” (【日本語】係数, 【英語】cofficient) に由来する(らしい)。
ちなみ NSString や NSArray などの接頭辞 “NS” は MacOS X や iOS の前身となったオペレーティングシステム “NeXTSTEP”に由来する。CFDataRef や CFRelease などの接頭辞 “CF” は “Core Foundation” に由来する。
1 |
$ sudo route add -net [network] [gateway] |
1 |
$ sudo route add -net 10.0.1.0/24 192.168.0.1 |
Windows環境の場合、gitのチェックイン/チェックアウトのときに改行コードの自動変換が働くケースがある。インストール直後のデフォルト設定では自動変換が有効になっているため注意すること。
Nagle(ネーグル)アルゴリズムによるソケット内バッファの送信遅延(小パケットサイズの保留)
TCP_NODELAYオプションを立てて、Nagleアルゴリズムを無効化する。
1 2 3 4 5 6 7 |
#include <arpa/inet> #include <netinet/tcp.h> /* 中略 */ int flag = 1; ret = sockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char*)&flag, sizeof(flag)); |
Windows ストア アプリのWindows Runtime Componentとして作成したnamespaceが呼出元から参照できない。
プロジェクトの"Reference(参照)"にWindows Runtime Componentを追加する必要がある
デフォルトでは".NET for Winows Store apps"と"Windows"の二つのnamespaceが登録されている。
ここに例えば"MyCppComponent"を追加する。