(Java技術者の)Macへの初期導入


# はじめに

自社のアドベントカレンダー用に執筆しました。<br>
と言いつつ、特定の先輩・同僚への指南書です。<br>
(Mac買ったんなら使いたおそうぜ！)

# 1.OSの最新化

まずは寝ているMacをナウい状態へ生まれ変わらせましょう。<br>
昔のMacOSのアップデートは有料だったそうですが、 今時のMacOSは無料でアップデートできます。

アップデート方法は「mac クリーンインストール」で検索すれば方法が見つかります。<br>
(大事なデータは外付けHDDにでも退避しましょう)

# 2.Apple標準サービスの登録

MacOSはAppleId/icloudと紐づけて、外部サービス越しに色々とうまいことやってくれます。<br>
AppleId/icloudにサインインし、以下がうまく動作するか確認しましょう。<br>
1.iPhoneの連絡先等と同期(Apple標準アプリとデータをかなり共有します)<br>
2.iTunesのサービスがAppleId/icloudのメールアドレスで動作する<br>
3.AppStoreでアプリを購入/DLできる

# 3.AppStoreにてダウンロード

Apple公認アプリを使用しましょう。<br>
アップデート等はAppStoreで管理します。<br>
以下を取得しましょう。

アプリ名       |       用途
:------------ | -------:
Xcode         |   開発者ツール
TheUnarchiver |  ファイル解凍等
Twitter       |  情報交換ツール
SourceTree    |  ソース管理補助
Slack         | チーム開発ツール
Shazam        |  音楽検知ツール
Line          |  メッセンジャー
Kobito        |  Qiitaエディタ

# 4.パッケージ管理システムの活用

iphone/MacでいうAppStore<br>
AndroidでいうGooglePlayStore<br>
PCGameでいうSteam<br>
過去に購入したデータを管理しアップデートパッチを配布するかのような管理をしてくれるパッケージ管理システム。<br>
私はMac(Linux)にして、これらと出会い感動しました！<br>
なので、皆さんも使ってください。<br>
とりあえず「Homebrew」を勧めますので、以下のワードで検索しMacに適応させましょう。<br>
「Mac Homebrew」

「brew」コマンドが使用できるようになればGUIで「Cakebrew」アプリをダウンロードし、使用しましょう。<br>
この項の詳細は6で記載します。

# 5.外部サイトのアプリをダウンロード

AppStoreで配信されていない非公式のアプリについては多少こちらに記載します。<br>
4で記載した「brew」コマンドで管理できるものについては、極力「brew」で管理するものとします。<br>
保存先は「Applications/」配下となります。

アプリ名           |           用途
:------------- | -----------:
JDK            |       開発者ツール
IntelliJ IDEA  |      JavaIDE
Eclipse        |      JavaIDE
Atom           |  高性能テキストエディタ
Dropbox        |     クラウドサービス
Cakebrew       |   brewGUIツール
MySqlWorkbench | MySqlDBviewr
GoogleChrom    |  インターネットブラウザ
PS4リモートプレイ    |  リモートプレイ

# 6.brewでアプリを管理

アプリというかツールというか、コマンドというか、、、<br>
色々管理してくれます。<br>
保存先は「/usr/local/Cellar」配下となります。(多分)<br>
以下にbrewでの管理ができるものを並べます。

アプリ名                        |      用途
:-------------------------- | ------:
MySql                       |     RDB
postgresql                  |     RDB
mariadb                     |     RDB
neo4j                       | GraphDB
docker                      |      VM
gradle                      |  ビルドツール
jenkins                     |  ビルドツール
sonarQube                   |  静的コード解析ツール
tomcat                      |  APサーバー
git                         | バージョン管理
sellenium-server-standalone |  テストツール

特にデータベース周りは、<br>
バージョンアップをbrewに任せてしまうので再インストールの敷居がかなり下がっています。

# 7.PC内のファイル/サービスを整理

アプリはLaunchpadに表示されますが、使用する用途に従ってグループ分けしましょう。<br>
散々とし、「どこに何がある」か理解できないとPCを見るのが嫌になってしまいます。<br>
Mac標準アプリで有用なものも紹介したいと思います。

1.ターミナル -> Windowsでいうdos窓 mysqlの初回起動などはこちらを使います。<br>
2.Automator -> マクロ/シェルのようなものが組めます。<br>
3.メール/メッセージ -> iphoneと連動できます。<br>
4.システム環境設定 -> かなり使います<br>
5.Safari -> 標準ブラウザです。<br>
6.QuickTimePlayer -> iphoneと接続し、iphoneの画面を録画できます。<br>
7.iTunes -> 動画を有料レンタルできます。返却に行かなくて良いところが楽です。  
8.FaceTime -> パケット通信を使用し、iPhone/Macと通話できます. 

# 8.IT系のサービスと連動

以下に並べるサービスを登録し、アプリ/safariでログイン状態を維持しましょう。  

・Github
・Qiita
・Twitter
・Connpass
・Doorkeeper
・Slack
・Dropbox

# 9.集団開発イメージ
最後におまけとして。  
マカーの友達作って集団開発しましょう。
以下に行動サンプルを挙げてみます。

ソースコード　-> Githubの無料アカウントでパブリック開発. 
ドキュメント -> Dropboxで共有
チャットツール -> Slackでオープンチャンネル  
動作環境　-> 激安サーバー. 
ビルド環境　-> Gradle,Jenkinsを動作環境、開発環境に構築. 
ビデオ通話 -> FaceTime,Line,Skype. 
集合場所 -> カフェ、コワーキングスペース

# 終わりに

１〜７までに６時間ぐらいかかります