M1版Macのセットアップとアプリケーションの動作状況メモ

# 概要
M1版MacBook Proを購入して環境構築を実施したので、備忘録としてメモを残しておきます。

## 制限事項
* M1版固有ではないことも含んでいると思います（そのほうが多いかも？）
* 取り急ぎ絶対に必要なものや、おそらく使うであろうものだけについて記載してあります
* 随時追記していくかどうかはわかりません
* できるだけM1ネイティブに、とかはあまり考えていません
* プログラミングに関係ないことも含みますが、プログラミングに関係あることも書いているので通報しないでね

# 基本
## 初期設定
ウィザードに従って普通にセットアップしましたが、File VaultはとりあえずOFFにしておきました。

## 文字入力設定
* システム環境設定 -> キーボード -> 入力ソースで英語 -> Dvorakを追加（プログラマであればDvorakを使うはずです[要出典]）
* 入力モードで半角カタカナ以外はチェックON
* ライブ変換はうざいのでOFF
* Windows風のキー操作にチェックON（よく覚えてないが、以前使っていたMacでそうなっていたので踏襲）
* 英字のレイアウトはDvorakに（でないとnihongo ga utenai）

## マウス（Magic Mouse 2）
正直薄くて使いづらい気がしたんですが、今回のMacBookはUSBポートが少ないため、ポートを消費せずに使えるこいつが必要だったのです…（まあ、探せば他にもあったかもしれないけど）
トラックパッドが便利だから出番は少ないですが、なければないで困ります。

* 付属のケーブルでMacと接続すると認識される（アダプタが必要）
  * https://www.apple.com/jp/shop/product/MJ1M2AM/A/usb-c-to-usb%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF
* システム環境設定 -> マウス で自分好みに設定する
  * スクロールの方向: ナチュラル をチェックOFF
  * 軌跡の速さ が既定だと遅いので速くする
  * なお、この画面でマウスの電池残量を確認可能

## トラックパッド
* システム環境設定 -> トラックパッド
  * 調べる&データ検出 3本指でタップに変更
  * タップでクリック チェックON
  * スクロールの方向: ナチュラル をチェックOFF

## ソフトウェアアップデート
* Macを自動的に最新の状態に保つ チェックON

## Time Machine
* 外付けHDDを接続してフォーマットしたらTime Machineについて訊かれたのでそのまま設定
  * https://www.buffalo.jp/support/faq/detail/1199.html

## App storeでのアプリのアップデート
* アップデートが全然進まない問題があったが、App storeにログインしたりマシン再起動したりしていたら進むようになった

## アンチウィルスソフトについて
* 不要との意見が多そうなのと、ビルトインでそれっぽいものが入っているようなのでとりあえず不要と判断
  * https://www.apple.com/jp/macos/security/
* そもそもサードパーティのアンチウィルスソフトが動作するか怪しいという問題もあるし

# アプリケーション
## ブラウザ

### Google Chrome
* 公式サイトより、M1対応版をダウンロード、インストール、ログイン、同期
* 容赦無く使ってるけど問題なし

### Firefox
* 公式サイトから普通にインストール
* ざっと使った限り問題なし

## プログラミング関連

### ターミナル
#### ターミナル
* プリインストールのターミナルの背景色を変更したかったが、一度起動して閉じたあとに再度開くと初期設定の色（白背景に黒文字）になってしまう…
* まあせいぜい色の問題なので今のところ積極的に解決策は探していない
* コマンド類はあんまり試してないが、基本操作やvimくらいは動くことを確認

### プログラミング言語の実行環境

#### JDK
* 既定で入っているが、使おうとするとエラーで動かない
* AzulのがM1対応しているようなので公式サイトから13をインストール（今はもう15が出てるっぽいですが）
  * https://www.publickey1.jp/blog/20/applemacjavaazul.html
  * いくつかJavaで動くアプリケーションを入れているけど、問題なく動いているっぽい

#### C/C++
* App storeからXcodeをインストールすることでgcc/g++が動作可能に
* Hello worldレベルを試して動作OK

#### Ruby
* 2.6がプリインストールされているのでとりあえず作業なし
* 本格的に使うなら別途入れたほうがいいだろうけど

#### Python
* プリインストールされているのでとりあえず作業なし
* pythonコマンドだと2系だけど、python3コマンドで3.8.2が動く
* 本格的に使うなら別途入れたほうがいいだろうけど

#### OCaml
* Homebrewでopamをインストールするといいみたい
  * https://ocaml.org/learn/tutorials/up_and_running.html
* そこで `brew install opam` を実行でき…ない！エラーが出てインストールできず

#### Go
* Homebrewでインストール可能 `brew install go`
* 1.16rc1が入りました。まだベータ版という段階なのですね。
  * https://blog.golang.org/ports
* VSCodeと組み合わせてGo公式ツールを自動ダウンロードさせて、入力補完や自動フォーマット、自動インポート整理が動いて快適に開発で状況
* ただし、デバッグ実行ができない。delveのインストールは可能になったが（ちょっと前は無理だったが）、実行しても待たされるだけで何も起こらない
* それ以外は問題なく使えている。今のところは

### インストールツール
#### SDKMAN!
* 公式サイトの手順通りでインストール可能
* もっともSDKMAN!が動いたところで、SDKMAN!でインストールするJDKは現状動かないわけだが…（SDKMAN!の用途はそれだけじゃないけど試してない）

#### Homebrew
* 今は公式サイトのコマンドを実行すればインストールできるようになっている
  * https://brew.sh/index_ja

### バージョン管理
#### Git
* Terminalでgitコマンドを打つとDevToolがないとか怒られた
* そこからGUI操作でDevToolをインストールすることでgitコマンドが動作可能に
* 簡単にGitHubと疎通したが問題なさそう

### エディタ、IDE
#### IntelliJ IDEA
* 公式サイトからインストール
* Rosetta入れろと言われたので入れた
* プロジェクトを作って簡単なJavaコード書いて動かしたりデバッグしたりしたけど大丈夫そう

#### VSCode
* 公式サイトからインストール
* 本格的には試してないがざっと使った限りは大丈夫そう

#### CotEditor
* App storeからインストール
* M1ネイティブ対応っぽい
* 普通に動いている

### オフィス
#### Libre Office
* 公式サイトからインストール
* とりあえず既存の文書を開けるかを確認し、問題なさそう

### コミュニケーション
#### LINE
* App storeからインストール
* ログインして、トークの閲覧と送信をざっとやってみた感じだと大丈夫そう

### マルチメディア
#### Photos Duplicate Cleaner
重複画像の削除ツールです。

* App storeからインストール
* 問題なく動いてそう

#### Kindle
* 公式サイトからインストール
* よく見たらApp storeにもあったけどどっちがいいんだろうか
* 重いけど動作する。しかし重いのは元々かもしれない

#### Elmedia Player
動画再生アプリです。

* 公式サイトからインストール
* 基本的に動くけど、昔保存しておいたswfファイルが一部動かなかった

#### VLC
動画再生アプリです。

* 公式サイトからインストール
* 問題なく動いてそう

#### Flash Player projector
前述のswfファイルを動かすためにインストール。

* 公式サイトからインストール
  * https://www.adobe.com/support/flashplayer/debug_downloads.html
* あくまでも開発者向けツールなので、特に理由がなければElmedia Playerを使ったほうがいいと思います

#### WinX HD Video Converter for Mac
画面の動画キャプチャなどができるアプリです。

* 公式サイトからインストール
* 思った通りに動かない
  * フルスクリーンになっているアプリのキャプチャができない
  * 音が記録されない

すぐに使うわけではないので、代わりとなるアプリは今のところ探していない。

# おまけ
## 性能について
M1版Macは性能について非常にポジティブな評価を受けているため、個人的にも気になって適当ですがチェックしました。（本当に適当なので、あくまでもおまけ）


### Javaのサンプルコード
以前書いたJavaの並列ストリームの記事のサンプルについて、M1版Macで動かした結果を追記しています。 
https://qiita.com/dhirabayashi/items/e9b0d85b33ad04857276#%E4%BD%99%E8%AB%87%E3%81%9D%E3%81%AE%EF%BC%92

 速いです（小並感）

### ゲーム
あんまりやってないけど一応アカウントがある「ミストトレインガールズ」というネトゲがありまして。全体的にアニメーションに気合が入っているゲームで（たぶん）、以前使っていたMacBook Pro（2014年頃のやつ）だと

* 戦闘アニメーションは処理落ちでまともに再生できない
* というかOP画面やホーム画面のちょっとしたアニメーションですらカクカク
* 充電口の周辺が火傷しそうなくらい熱くなり（それも一瞬で）、ファンが全力でぶん回る

という悲惨な有様でした。

しかし、M1版Macでは処理落ちは全くなくて非常に快適にプレイできました。「ぬるぬる動く」ってやつです。それに発熱もほとんどなし。同じゲームとは思えないレベルでした。
（前のマシンがショボかっただけかもしれませんけど）

# まとめ
* 一部（現時点では）インストールできなかったり、ちょっと期待通りに動かない点もあるが多くの場合は問題なく動く
* 性能はいい感じ
* M1版Macはいいぞ