bauer's diary

凡人の凡人による凡人のための備忘録

いまさら秘密鍵・公開鍵のおはなし

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を使う。

$ brew install coreutils

$ 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

 

 

NeoBundleでVimprocを自動インストール

NeoBundle 'Shougo/vimproc', {

  \ 'build' : {

    \ 'windows' : 'make -f make_mingw32.mak',

    \ 'cygwin' : 'make -f make_cygwin.mak',

    \ 'mac' : 'make -f make_mac.mak',

    \ 'unix' : 'make -f make_unix.mak',

  \ },

\ }

 

:NeoBundleInstall