macで快適にプログラミング

29
Mac ででででででででででで ででで M1 でででで

Upload: yusuke-sakurai

Post on 30-Jun-2015

313 views

Category:

Technology


1 download

DESCRIPTION

Macで快適にプログラミングするためのツールたちを紹介します

TRANSCRIPT

Page 1: Macで快適にプログラミング

Mac で快適にプログラミング

増井研 M1 桜井雄介

Page 2: Macで快適にプログラミング

自己紹介• 桜井雄介 / @keroxp• 政策・メディア研究科修士 1 年• 研究テーマ

– 日本語ソフトウェアキーボード– インタラクティブアニメーション

• 得意なこと– iOS アプリ– フロントエンド js

• 好きな言語– Objective-C, CoffeeScript

• 最近の興味– Haxe/OpenFL

Page 3: Macで快適にプログラミング

研究成果• 2012-2013 年「 Blossom 」• タブレット向け日本語入力キーボード• 情報処理学会 HCI 研究会学生奨励賞受賞

Page 4: Macで快適にプログラミング

みなさん OS は何使ってますか

Page 5: Macで快適にプログラミング

増井研は Mac 率が高い

Page 6: Macで快適にプログラミング

開発者が Mac を選ぶ理由• UNIX 系なので Linux などと環境が似ている– サーバーサイドにデプロイするときに困らな

い• Homebrew のおかげでパッケージが充実し

ている• プログラミング環境のセットアップが簡

単• iOS アプリが開発できる

Page 7: Macで快適にプログラミング

Mac でソフトウェアを開発するための便利な道具を紹介しま

Page 8: Macで快適にプログラミング

Xcode

• Mac での開発には必須• 正確には Xcode と一緒に入れる Command

Line Tools が必要– gcc, clang の C コンパイラが入っている– これがないと後述の Homebrew が使えない

• iOS/Mac のアプリを開発するのにも必要– Mac で C, C++, Objective-C を書くにはこれが一

番• IDE としても非常に優秀

Page 9: Macで快適にプログラミング

Homebrew

• Mac のコマンドラインパッケージの管理ソフト

• 様々なソフトがこれでインストール/アンインストールできる

• make install とか邪悪なことをしなくて済む

Page 10: Macで快適にプログラミング

./configure && make &&make installをみつけたら

Page 11: Macで快適にプログラミング

殺せ

Page 12: Macで快適にプログラミング

make install はなぜ悪か• 何処にインストールされるのかよく分からな

い• どうやってアンインストールするのか分から

ない• 何がインストールされてるのか分からない• バージョンアップできない• 大体ビルドできない• システムが汚染されていく• まずは brew search で検索

Page 13: Macで快適にプログラミング

Brew の良いところ• 『管理』が出来る– 追加・更新・削除ができる– make && make install とかするとこれができない– バージョンを上げたり下げたり– 把握ができる

• 面倒なことをしなくてよい– brew install XXX するだけでインストール完了– brew update && brew upgrade でアップデート完

Page 14: Macで快適にプログラミング

Brew で入れよう• Git/svn

– Mac には最初から入っているがバージョンが古い• Android SDK

– 普通は自分でダウンロードしてドコかに置く– バージョンアップとかが面倒

• Node.js– brew で入れるのが一番楽– npm も入ってるよ

• ruby-build, rbenv– ruby のバージョン管理のタメのツール– brew で入れるのが(ry

Page 15: Macで快適にプログラミング

Sublime Text

• 軽量のコードエディタ• 何かと便利• 内部プラグインがとても充実している• ほぼすべての言語のシンタックスハイライ

ト• 各種言語のビルドもできる• カスタマイズが楽

Page 16: Macで快適にプログラミング

O-My-Zsh

• OSS の .zshrc/.zshenv 設定ファイル• これ大体使うよねっていうシェルの機能

がまとめられている– Tab で選択移動– git の branch 表示– ls に色つけ– コマンドライン引数の補完

Page 17: Macで快適にプログラミング

zsh とは何か• ターミナル上からコマンドを実行するた

めの環境• いわゆるシェル– bash, tcsh の仲間

• 中でも一番 zsh が便利なので使いましょう

Page 18: Macで快適にプログラミング

なぜ O-My-Zsh が必要か• 異なるコンピュータで同じ動作が期待で

きる• チーム開発の場合メンバーの環境を統一

できる– でも大体みんな自分で弄りたがるからあんま

り推奨できない• 増井研では gesh, nish, shosh など各人秘伝

のタレが存在している

Page 19: Macで快適にプログラミング

Dash

• ドキュメントツール• 言語の API を検索するのに非常に便利• 主要な言語なら大体ある• 主要なライブラリも大体ある– Rails, Underscore.js, Backbone.js …

• 『あれどうなってたっけ?』というときに爆速で検索できる

Page 20: Macで快適にプログラミング

なぜ Dash が必要か• ツールは何でもいい• 公式ドキュメントを読むことが重要• 主要な言語やライブラリは必ず公式ドキュ

メントが充実している– 引数や返り値、動作の挙動や注意点など

• Dash は勝手にドキュメントをアップデートしてくれるので常に最新の情報を確認できる

• 安易に Web を検索するよりも API を読もう

Page 21: Macで快適にプログラミング

Geny Motion

• Android エミュレータ• 速い• 速い• 速い• とにかく速い• Android謹製のエミュレータは遅すぎて話

にならない• Android 開発するなら必須

Page 22: Macで快適にプログラミング

Refrector

• iPhone/iPad のキャプチャツール• 実機でデバッグしているときの映像を

Mac で録画できる

Page 23: Macで快適にプログラミング

iTerm2

• ターミナルのすごいやつ• 何がすごいのかよく分からない• でもみんな使ってる• tmux を使わなくても画面分割できる

Page 24: Macで快適にプログラミング

Slack

• 最近流行っているチャットツール• Skype にはない色々な機能がある• 特に外部 Web サービスとの連携が便利– Github のコミット , Pull-Req などがチャットに流れてくる

– Travis CI の失敗が流れてくる– Crashlytics のログが流れてくる

• 他にも楽しい機能がたくさん

Page 25: Macで快適にプログラミング

Github

• コードホスティング用Web サービス• 絶対に使うべき• 絶対に使うべき• 絶対に使うべき• 増井研は全員アカウントを持っている–課題の提出とかにも使われ始めている

• Github アカウントを持っていない・・・?

Page 26: Macで快適にプログラミング

Github アカウントを持っていない子はどんどんしまっちゃお

うねえ

Page 27: Macで快適にプログラミング

なぜ Github を使うべきか• 単純にコードの管理が楽– ディレクトリに入れっぱなしイクナイ

• 簡単に人に公開できる– 間違ってる点を指摘してもらえる– Pull-Request で修正してもらえる

• 他の人と一緒に作業ができる–逆に Github を使わずにどうやるのか

Page 28: Macで快適にプログラミング

なぜ Github を使うべきか• 色々な便利な機能がある– Issue, Wiki, Pull-Request など

• 大小様々な OSS のコードがある–有名な OSS のコードはほとんど Github にある

• 世界中のトップレベルのコードが読める– 中途半端なレベルのコードではなく、大勢の人

間が議論して作り上げたコードなのでグッドノウハウが詰まっている

• 知らなければ「 Github 入門」で今すぐ ggr

Page 29: Macで快適にプログラミング

Q&A