Macの開発環境構築メモ

最近SSDに変えてクリーンインストールしたので、また環境構築している。

前にAnsibleのPlaybookで色々インストールできるようにしていたはずだけど、対象のソフトのバージョンが古かったりとかまぁなんかアレだったので、ぼちぼち手作業でインストールすることにした。

今まで homebrew 使わない派?だったんだけど、今回は面倒なので homebrewで楽することにした。

homebrewのインストール

Homebrew — OS X 用パッケージマネージャー

ここにコマンドが乗ってるので、コピペして実行する。

GNU のコマンドインストール

とくにsedがいつも困るので、Linuxと同じように使えるようにする。
cf: Install and Use GNU Command Line Tools on Mac OS X | Hong Xu (xuhdev)

brew install binutils
brew install findutils --with-default-names
brew install gawk --with-default-names
brew install gnu-indent --with-default-names
brew install gnu-sed --with-default-names
brew install gnu-tar --with-default-names
brew install gnu-which --with-default-names
brew install grep --with-default-names
brew install gzip
brew install watch
brew install wdiff --with-gettext
brew install wget
brew install zsh
brew install fontforge

既存のコマンドを上書きしたい時には、 --with-default-names とかのオプションが必要らしい。

fontforgeRicty のインストールに必要。

MacVimのインストール

Releases · splhack/macvim-kaoriya · GitHub

ここから最新版のdmgをダウンロードしてインストールする。

Ricty(フォント)のインストール

Mac に Ricty と Ricty Diminished をインストールする - Qiita

これを参考にした。合成には数分時間がかかる。

Terminal の設定

最近見つけた、Terminalのカラースキーマが一杯あるリポジトリから好きなのを選らぶ。

GitHub - lysyi3m/osx-terminal-themes: Color schemes for default Mac OS X Terminal.app

数年間 Solarized Dark にしてたけど、やっぱり背景色は黒色が良いかもと思って、最近は会社でも DimmedMonokai にしてる。

git clone https://github.com/lysyi3m/osx-terminal-themes.git
open osx-terminal-themes/schemes/DimmedMonokai.terminal

これでスキーマが使えるようになる。デフォルト設定とかはターミナルの設定から行う。

dotfiles の設定

githubでdotfilesを管理してるので、それを入れる。

MacVimのPATH設定が入ってなかったので追加した。

PATHの順番入れ替え

Homebrewで入れたgit,zshを優先的に利用する - Glide Note

/etc/paths で管理されている。知らなかった。

Alfred2 のインストール

AppStoreのは古いやつなので、ダウンロードしてインストールする。活用するといろいろできるの知ってるんだけど、結局簡単なランチャと電卓代わりになってる。

ATOKのインストール

課金ユーザなので使わないともったいないんだけど、もうそろそろいいかなーとか思い始めている。

ていうか今ATOKじゃないとダメな理由ってなんだろ。昔は「今日」で「2016/03/06」って変換ができたのが便利だったんだけど、デフォルトのIMEでもできるようになってるしなぁ。

AppStoreから購入済みアプリをインストール

AppStoreで買うと再インストールが楽だ。最近Macから直接S3をいじる機会が増えたので、Transmitをまた使うようになった。CyberDuckでも十分だけど。

Karabiner のインストール

もうこれがないと生きていけない体になってしまった。

  • 英数 -> esc
  • かな -> enter
  • Shift+英数 -> 英数
  • Shift+かな -> かな
  • 右コマンド -> delete

というカスタマイズをしている。

各種SDK

必要に応じて入れる。いまんところ Go くらいかな。

とりあえずそんなところかな。これ便利だよってのがあったら教えてください。

2015年振り返りと2016年目標

遅くなったけど、簡単に2015年の振り返りと、2016年の目標。

2015年初に立てた計画はどうだったか

デプロイ自動化

まだまだ細かいところの調整が必要。というか、終わりがない感じする。

読書

年間50冊が目標で、最終25冊だった。前半は調子が良かったが、後半はペースが落ちた。一番の敗因は、コードコンプリートだと思う。そんなに面白くないのに、やたら長くてモチベーションの低下が著しかった。さっさと違う書籍に移れば良かった。

目標はまったく達成できなかったが、古典で著名だからといって良い書籍ばかりではないし相性がある、ということがわかったのが昨年の成果だと思う。

チームとかの共同作業

キャリアパスや評価辺りまで面倒を見ているわけでもないし、チーム内であの人が何やってるかわかんないという状況ではないので、悩んだだけ損だったのかもしれない。人数も多くないし。

10月から3ヶ月ほど、Goの勉強も兼ねてほぼ日で簡単な問題作成をしたりしていて、教育面でサポートできたのは良かったかなと思う。

ドキュメント

Sphinxをちょっと試してみたけど、普及には至らず。

やらなくて良いことはやらない

これは意識していたので、けっこうできていた気がする。

その他

年初は想像もしてなかったが、8月からiOSアプリの開発に携わることになり、35歳にして新しいチャレンジの機会が得られたのは良かった。Goもやる機会ができて良かった。

アウトプットはほとんどできてないが、1件だけOSSにプルリクをした。簡単なドキュメントの間違いだったけど。


2016年の目標

今年はアウトプットを増やしたい。

モバイルアプリ

個人的なプロジェクトだと、3つなんかアプリを作ろうと思う。ネタはあるので、時間を作ってリリースする。

モバイルアプリと言うけど、バックエンドも作り込みいるし、時間を上手く作って達成したい。

読書

読書はムリせず30冊にしとく。月2冊か3冊。

たまには小説も読んでも良いかなと思ってる。 技術書については、DBとかOSとかのベーシックなところを読みたい。

OSSへのコントリビューション

今までやってこなかったのだけど、頑張ってみよう。簡単なタイポとかだと敷居も低い。

仕事

仕事に関しては、新入社員の教育とかの大事なこともあるんだけど、意識してコード書く時間取っていかないと、緩慢な死を迎えそうで怖い。

いかにコード書く時間を増やせるかを意識して立ち回りたい。

MacVimの起動時にメニューのエラーがでる

splhack/macvim-kaoriya を使っているんだけど、気づいたら以下のようなエラーが出るようになっていた。

kawaken % /Applications/MacVim.app/Contents/Resources/vim/runtime/menu.vim の処理中にエラーが検出されました:
行 1236:
E334: メニューが見つかりません: Help.MacVim\ Help

別に動作に問題ないのでほったらかしていたけど、ちゃんと確認してみた。

どうやらカラースキーマaltercation/vim-colors-solarized が影響しているっぽい。

" Menus "{{{
" ---------------------------------------------------------------------
" Turn off Solarized menu by including the following assignment in your .vimrc:
"
"    let g:solarized_menu=0

そもそもメニューを使ってないし、コメントに従って let g:solarized_menu=0 を設定したらエラーが出なくなった。

あるいは、MacVimのバグでは?というIssueがSolarizedの方に立っていた。

Solarized menu items in MacVim not working · Issue #133 · altercation/vim-colors-solarized

実際どうなのかわからないけど、とりあえずエラーが出なくなったので解決ってことにしておく。

Macでの開発環境構築

8月から親会社に一部出向していて、モバイルアプリやることになった。

なので、自宅のMacは丸一年くらい触ってなかったけど、久しぶりに開発環境を整えることにした。

ついでに、yosemiteクリーンインストールした。

今回はモバイルアプリのお勉強が目的なので、とりあえずxcodeを入れて、おすすめのツールとか、これ必須とかを調べている。

↓これが気になってる。ビルドツール
fastlane - iOS Automation for Continuous Delivery

ちなみに、atomに乗り換えは失敗した。ので、Macvimを使うことにして、vimrcやプラグインを整理した。

あと、dotfileも整理して、gitのユーザ設定に悩んでいたのを解決できたので、スッキリした。

Atomに乗り換え中

新しいことを始めることになったので、Vimに特に不満があるわけではないが、Atomに乗り換え中。Atom最近1.0になったらしい。

とりあえずググって出てきたページをいくつか参考にした。

インストールしたパッケージ

  • autoclose-html
  • autocomplete-paths
  • color-picker
  • git-log
  • git-plus
  • go-plus
  • godef
  • highlight-selected
  • japanese-menu
  • japanese-wrap
  • jumpy
  • linter
  • maximize-panes
  • merge-conflicts
  • minimap
  • minimap-autohide
  • minimap-bookmarks
  • minimap-git-diff
  • minimap-highlight-selected
  • minimap-pigments
  • pigments
  • project-manager
  • sort-lines

パッケージの管理

apmというコマンドが付いているので、それでやると良いらしい。

apm install --packages-file my-atom-packages.txt

ファイルの内容は、パッケージ名のリストで良い。

autoclose-html
autocomplete-paths
...

バージョン指定もできるっぽい。今回は新規なので関係なし。

また、atom.ioにGithubアカウントでサインインすると、スターが付けられるようになる。

apm login
apm star --installed

で、スターを付けたパッケージを一括インストールもできる。便利だ。

apm stars --install

サブコマンドがややこしい。スターを付けるときは単数形( star )で、インストールするときは複数形( stars )らしい。

設定画面のフォント

海外製のツールにありがちな、日本語が中華フォントになるやつ。以下のスタイルシートを追加した。

atom-workspace {
  font-family:Consolas,"VL ゴシック","";
}

vim-mode

vimキーバインドに設定できる vim-mode というパッケージがあるんだけど、微妙だったのでやめた。

半年振り返り

半年振り返り

早いもんで、もう2015年も半分過ぎた。 ので、簡単に振り返り。

年初の目標もあるけど、やっぱり半年経つと求められるものも変わってきていて、なかなか達成が難しい。

デプロイ自動化

デプロイを自動化する以前に、デプロイ手法自体も見直す必要あるなって感じになってきている。

単一のrailsアプリとcapistranoの連携は充分なんだけど、異なるアプリを複数同時に扱いたい時に手段がない。 (ないことはないんだけど、うまくマッチしない)

アプリとは独立した手法でやる必要があって、ansibleとかに寄せた方が良いのか悩ましいところ。

ディスポーザブルにどうやるかというのも模索している。

読書

確実に読書のモチベーションは下がっていて、技術書以外も読んだりしてるけど、ペースは落ちてる。

半年で 20冊なので、残り半年で頑張るしかない。

とりあえずまだ読んでいる途中のコードコンプリートを読み終えなければ…。

チームとか

優秀な人が多いので正直そんなに困ってない。 とりあえずマネジメント関係の本読んだりして学習しよって感じ。

ドキュメント

sphinxを使える環境を整えたけど、プロジェクトにはちょっと活かせてないのが残念なところ。

新規のプロジェクトで上手く活用できればと思いつつ、ちょっと放置ぎみ。

後半戦

そんな感じで大した進捗はない。

今年の後半は、上司にはgoやるって宣言したので、その辺りを上手くやれたらと思うし、違う分野に挑戦する話もあるので、夏バテに気をつけようと思う。

勉強や片付けへのインセンティブ

与太話。

今朝、こんなツイートを見た。

確かに子供だったら、ゲームがインセンティブになって、勉強や片付けを率先するってのは良くわかる。

ただ、

じゃあゲームもしないから、勉強も片付けもしない

というタイプもいる。
ひねくれた子供だなと思うけど、自分がそうだったし、なかなか難しいと思う。

まぁとにかく、こういうのは効果的ではあるんだけど、子供騙しでしかないなと。

大人になって、自分の書斎やリビング、ダイニングが片付けられない、勉強しようと思っているけど積読が増えるとか、そういうのどうやって解決したら良いんだろう。

僕らにも、部屋片付けたら、祖父母からクルマがもらえるとかあれば頑張るかな。