Macの開発環境構築メモ
最近SSDに変えてクリーンインストールしたので、また環境構築している。
前にAnsibleのPlaybookで色々インストールできるようにしていたはずだけど、対象のソフトのバージョンが古かったりとかまぁなんかアレだったので、ぼちぼち手作業でインストールすることにした。
今まで homebrew 使わない派?だったんだけど、今回は面倒なので homebrewで楽することにした。
homebrewのインストール
ここにコマンドが乗ってるので、コピペして実行する。
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
とかのオプションが必要らしい。
fontforge
は Ricty
のインストールに必要。
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になったらしい。
とりあえずググって出てきたページをいくつか参考にした。
- 初心者のためのテキストエディタ。迷ったら Atom がおすすめ。
- 【超おすすめ!!】Atomのパッケージ、テーマ、キーバインディング、設定を紹介してみる(※随時更新) - Qiita
- Atom の apm stars で興味のあるパッケージを管理する - Qiita
- ATOMでGolangの環境設定 - Qiita
- Japanese-menu - ATOMのフォント - Qiita
インストールしたパッケージ
- 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
半年振り返り
半年振り返り
早いもんで、もう2015年も半分過ぎた。 ので、簡単に振り返り。
年初の目標もあるけど、やっぱり半年経つと求められるものも変わってきていて、なかなか達成が難しい。
デプロイ自動化
デプロイを自動化する以前に、デプロイ手法自体も見直す必要あるなって感じになってきている。
単一のrailsアプリとcapistranoの連携は充分なんだけど、異なるアプリを複数同時に扱いたい時に手段がない。 (ないことはないんだけど、うまくマッチしない)
アプリとは独立した手法でやる必要があって、ansibleとかに寄せた方が良いのか悩ましいところ。
ディスポーザブルにどうやるかというのも模索している。
読書
確実に読書のモチベーションは下がっていて、技術書以外も読んだりしてるけど、ペースは落ちてる。
半年で 20冊なので、残り半年で頑張るしかない。
とりあえずまだ読んでいる途中のコードコンプリートを読み終えなければ…。
チームとか
優秀な人が多いので正直そんなに困ってない。 とりあえずマネジメント関係の本読んだりして学習しよって感じ。
ドキュメント
sphinxを使える環境を整えたけど、プロジェクトにはちょっと活かせてないのが残念なところ。
新規のプロジェクトで上手く活用できればと思いつつ、ちょっと放置ぎみ。
後半戦
そんな感じで大した進捗はない。
今年の後半は、上司にはgoやるって宣言したので、その辺りを上手くやれたらと思うし、違う分野に挑戦する話もあるので、夏バテに気をつけようと思う。
勉強や片付けへのインセンティブ
TLに流れてきた「ゲームはいくらやってもいいが、同じ時間勉強すること」というお子さんとの約束を真似て、更に「自室を綺麗に片付けたらゲーム時間プラス30分」というルールを適用したら、9歳息子が朝6時前に起きて漢字ドリルと部屋の掃除してたので、イカの魔力…!!と思っている。
— よく眠りたまに色々考える主婦 (@toppinpararin) 2015, 6月 16
確かに子供だったら、ゲームがインセンティブになって、勉強や片付けを率先するってのは良くわかる。