いまさら秘密鍵・公開鍵のおはなし
GitHubを使うときに必要になる知識なので。
Gitでアクセスする端末やサーバのSSH公開鍵をGitHub側に登録する。
公開鍵はssh-keygenコマンドで作成する。
別の端末へのリモートアクセスで既に利用している場合もあるので、
GitHub専用の公開鍵を登録したい場合は、鍵ファイルの名前を個別に指定することもできる。
1.公開鍵生成時に鍵ファイル名を指定
2.GitHubへのSSH接続では標準と異なる鍵ファイルを使うように設定
1.公開鍵生成時に鍵ファイル名を指定
% cd ~/.ssh
% ssh-keygen -t rsa -f github_id_rsa -C "kitahara_yuki@cyberagent.co.jp"
SSHの設定
~/.ssh/configファイルを作成し、下記内容とする。
"github_id_rsa"がファイル名。
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
% ssh git@github.com
PTY allocation request failed on channel 0
Hi kitakitabauer! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
"You've successfully authenticated"が出ていれば認証は成功している。
array.forEach()を間違って使っているケース
array.forEach()を間違って使っているケースが結構見受けられたので、
注意が必要。
☆array.forEach()を使ったケース---------------
>||
function(array) {
array.forEach(function(element) {
if (バリデート) {
// リターンせず、次の要素を処理する
return;
}
});
// データ保存処理が実行されてしまう
データ保存処理
}
||<
----------------------------------------------
また、array.every()では、return false;すると、
通常のfor文でいうbreak;と同じ動きになるが、これでも関数は抜けない。
☆array.every()を使ったケース-----------------
function(array) {
array.every(function(element) {
if (バリデート) {
// 関数からリターンするわけではない
return false;
}
});
// データ保存処理が実行されてしまう
データ保存処理
}
----------------------------------------------
macでseqの代わりにjotを使う
シェルスクリプトでseqコマンドを使って数字をインクリメントしたいときがあります。
ですが、Macにはseqコマンドが標準でインストールされていません。
代替案としては、
coreutilsをインストールしてgseqを使う。
$ gseq 1 10
ex)
for num in `gseq 0 ${MAX_NUM}`
do
処理…
done
ですが、なるべく環境に依存しない汎用シェルを作りたいので、今回はjotコマンドを使います。
$jot 10
開始したい数を変更したい場合はこんな感じで。
$jot - 0 10
ex)
for num in `jot - 0 ${MAX_NUM}`
do
処理…
done
ctagsインストール
macはデフォルトでインストールされているが、
-Rの再帰的にインデックスを作成するオプションや、
バージョン表示もなく使いものにならないため、homebrewでインストールする。
% brew install ctags
.bashrcにalias作成
alias ctags='/usr/local/Cellar/ctags/5.8/bin/ctags'
コマンドの実行優先度は下記コマンドで確認する。
% type ctags
ctags in alias for /usr/local/Cellar/ctags/5.8/bin/ctags
対応言語確認
% ctags --list-languages
タグの作成
% ctags -R