環境構築用のほにゃららをメモしていく


## mac

```mac.txt

#cask
brew install caskroom/cask/brew-cask

#sublimetext (subl command)
brew cask install sublime-text

#font
brew cask install font-roboto font-noto-sans-japanese font-noto-sans font-noto-serif

brew tap sanemat/font
brew install ricty

#quick look
brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json quicklook-csv betterzipql 
defaults write com.apple.finder QLEnableTextSelection -bool true && killall Finder

#z
brew install z

#osxutils
https://github.com/vasi/osxutils

#googlecl
https://code.google.com/p/googlecl/wiki/Install


#ionice
wget https://raw.github.com/elmarb/ionice/master/ionice.c
gcc ionice.c -o ionice
sudo install -o root -g wheel ionice  /usr/local/bin/

#(git)hub
GitHubユーザーのためのhubコマンド - Qiita
http://qiita.com/yaotti/items/a4a7f3f9a38d7d3415e3

#firewall
pf
socketfilterfw

```

### brew管理

更新作業
`brew update; brew outdated`
`brew upgrade`

hubが古いgoを参照していたので直す
`brew unlink hub; brew install hub`

Frequent `fatal error: MSpanList_Insert` on Sierra · Issue #1405 · github/hub
https://github.com/github/hub/issues/new

Homebrew使い方まとめ - Qiita
http://qiita.com/vintersnow/items/fca0be79cdc28bd2f5e4

ちょっと差がつくhomebrewのあまり知られていない使い方 - Meltdown Countdown rev.
http://marutanm.hatenablog.com/entry/20110420/p1

```
brew install `brew outdated` (or brew outdated | xargs brew install (or brew upgrade))
```

brew caskのappどもをupgradeする - Qiita
http://qiita.com/2k0ri/items/9fe8d33a72dbfb15fe6b

>
```
#brew cask upgrade
brew-cask-upgrade(){ for app in $(brew cask list); do local latest="$(brew cask info "${app}" | awk 'NR==1{print $2}')"; local versions=($(ls -1 "/usr/local/Caskroom/${app}/.metadata/")); local current=$(echo ${versions} | awk '{print $NF}'); if [[ "${latest}" = "latest" ]]; then echo "[!] ${app}: ${current} == ${latest}"; [[ "$1" = "-f" ]] && brew cask install "${app}" --force; continue; elif [[ "${current}" = "${latest}" ]]; then continue; fi; echo "[+] ${app}: ${current} -> ${latest}"; brew cask uninstall "${app}" --force; brew cask install "${app}"; done; }
```

Homebrewのコマンドと使い方まとめ - TASK NOTES
http://www.task-notes.com/entry/20140706/1404619443

わかりやすい

## cenots

```centos.txt
メールバックアップ

採用
fetchmail
http://kajuhome.com/fetchmail.shtml

	最新のものはSSL証明書関連がややこしくて挫折。
	GmailはSSLが必須となっている。
	Googleエクスポートとか通常のメーラー受信でいいや。
	最新だとrpmもなかったからコンパイルした。
	ちょっとややこしいので忘れよう。

未検討
gmailbackup
http://www.gmail-backup.com/

採用２
getmail
http://pyropus.ca/software/getmail/configuration.html

	fetchmailに比べてsslの設定が楽だった。
	証明書関連（gmailのルート証明書のチェック）が不要だったから。
	でも、逆に言うとセキュリティは怪しいのかも？？
	日本語の情報は少ない。
	でもfetchmailと同じく、受信してないものだけ受信するのが変？？
	いや、gmailの転送メールみたいなのが特殊なのかも。
	サーバーに影響せずに、既読は無視して受信は、多分下記でできたっぽい。
	receive_all:false
	delete:false
	デフォルトで、ヘッダーに勝手に追記数処理もあるので明示的にfalseするとしなくなるっぽい。
	ざっとしかみてないけど。
	添付ファイルは保存しないのかな。
	バージョン３，４で設定など違うので４をつかうほうがたぶんいい。
	
	導入
	tarを取得、解答、README参照でpython setup.py install
	気をつけつつ設定をしてcron設定
	
	参考：
	http://plaza.rakuten.co.jp/bikkuripon/diary/200802250000/
	http://datalinkcontrol.net/dlc/content/gmail-backup-getmail

未検討
mutt
http://builder.japan.zdnet.com/os-admin/20368023/

	CUIのメーラー普通に便利だな。
	http://acompass.net/centos6/?CentOS6%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89/Postfix

未検討(MTA)
pine
http://builder.japan.zdnet.com/os-admin/20368023/

未検討(ウェブ)
Squirrelmail
http://builder.japan.zdnet.com/os-admin/20368023/


```

## git

```git.txt
joe

joeはPython製、MIT Licenseのオープンソース・ソフトウェアです。
.gitignoreの生成がコマンドで多彩。

http://www.moongift.jp/2015/01/joe-%E5%A4%9A%E3%81%8F%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%80%81%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AB/

https://github.com/karan/joe

mod_git

コンテンツを間違ってアップロードした場合や、あるユーザだけ別なページを見せたいと言った時の対応

http://www.moongift.jp/2014/12/mod_git-apache%E3%81%ABgit%E9%80%A3%E6%90%BA%E6%A9%9F%E8%83%BD%E3%82%92%E8%BF%BD%E5%8A%A0/

https://github.com/r0ml/mod_git

```

## git管理


```gitadm.txt

Gogs - Go言語製のGitサーバ

http://www.moongift.jp/2014/12/gogs-go%E8%A8%80%E8%AA%9E%E8%A3%BD%E3%81%AEgit%E3%82%B5%E3%83%BC%E3%83%90/

Gitonomy – PHP製のGit管理サーバ
http://www.moongift.jp/2014/04/gitonomy-php%E8%A3%BD%E3%81%AEgit%E7%AE%A1%E7%90%86%E3%82%B5%E3%83%BC%E3%83%90/

Git-ftp - Git×FTPな運用をサポート！
ftpsもcurlをつかっているのでftpsとかftpesとかで。

http://www.moongift.jp/2014/02/git-ftp-git%C3%97ftp%E3%81%AA%E9%81%8B%E7%94%A8%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%EF%BC%81/

http://chun-oki.sw8field.com/webworks/20140419/2136.html
http://thoughts.protean.cc/how-to-use-git-ftp/

```

## ssh

【メモ】githubの複数アカウントにSSH接続するための設定手順 ｜ Developers.IO
http://dev.classmethod.jp/tool/github-ssh-sub-account-setting/

```
vi ~/.ssh/config
# アクセスの際にはホスト名を書き換える
# git@github-private:hoge/git-test.git
```

## text


```text.txt

restructured text,markdownのどちらか、、

pandoc

	テキストのフォーマット変換できる。便利そう。でも、それでも迷うな。
	入力時の見た目と気楽さには自由な入力補助がいるかもな。

```

ssh-addしていると、
known_hostsにすでに記述があると優先されたりするみたいなので注意。
ssh-add -Dでクリアしたらいけたけど。。

configのuserをgitにするのがわかりにくいところ。

## クラウドIDE

```cloudide.txt

参考
http://qiita.com/Kackey/items/3c0e896a706cec7df1eb
http://qiita.com/suin/items/f570f057a0ff927b47dc

cloud9

	簡単なリファクタリングの際にローカルのIDEを起動させるのが億劫だから。
	SSHのURLを設定しテンプレートをカスタムにしてワークスペースを作成する。
	自分のgithubのSSHの秘密鍵を許可しておく必要がある。
	便利だなー。

```

## bash

```
http://www.ksknet.net/linux/bash.html

コンソールでbashを使用している時の主なキー操作を以下に簡単にまとめます。

------------[カーソルの移動関連]------------
[Ctrl]+[a] : カーソルを行の先頭に移動
[Ctrl]+[e] : カーソルを行の末尾に移動
[Ctrl]+[b] : カーソルを左に一文字移動
[Ctrl]+[f] : カーソルを右に一文字移動
[Esc]+[f] : １単語右にカーソルを移動
[Esc]+[b] : １単語左にカーソルを移動

※Tera Termを使用している場合、[Setup]->[Keyboard]->[Meta key]にチェックを入れれば[Esc]の代わりに[Alt]キーが使えるようになります。

------------[削除関連]------------
[Ctrl]+[d] : カーソルの右一文字を削除
[Ctrl]+[h] : カーソルの左一文字を削除
[Ctrl]+[k] : カーソルの右側にある文字を削除
[Ctrl]+[u] : カーソルの左側にある文字を削除
[Ctrl]+[w] : カーソルの左側にある１単語を削除
[Esc] + [d] : カーソルの右側にある１単語を削除

------------[その他]------------
[Ctrl]+[y] : 削除した文字列を貼り付け
[Ctrl]+[c] : フォアグランドで実行しているプログラムを強制終了
[Ctrl]+[r] : コマンド履歴の検索モード [参考記事: bashのreverse search機能]
[Ctrl]+[l] : 画面をクリア
```

## Google Chrome

起動コマンドを確認
```
chrome://version
```

ユーザーディレクトリ指定

```
--user-data-dir ユーザーディレクトリ
```

公式からapple scriptの紹介

```
set chrome to "\"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome\""
set userdatadir to "\"$HOME/Library/Application Support/Google/Chrome Alt\""
do shell script chrome & " --user-data-dir=" & userdatadir & " > /dev/null 2>&1 &"
```


もしかして，Chrome 57 からは，起動時引数の --user-data-dir が効かなくなっている？ 調べてみると，引数として認識はされているけれど，強制的に指定されているディレクトリのほうだけが有効になってしまっている感じ．: とり茶
http://knoike.seesaa.net/article/447795090.html

Effectiveさお
http://h-sao.com/blog/2017/01/04/how-to-use-multiple-browser-profiles-in-chrome/

List of Chromium Command Line Switches « Peter Beverloo
https://peter.sh/experiments/chromium-command-line-switches/

User Data Directory
https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md#Overriding-the-User-Data-Directory