本当にMacでいいんですか？（しくじり談）

お疲れ様です． Tomです．

実はずっと書こうと思っていたことがあったのですが，なかなか取り掛かれておらずでした．今回個人開発を始めようと意気込んで，ある壁に直面したのでこれを機に書いていきます．

雑多に書きますので，必要な情報を抜き取るイメージでいてくださればと思います．

## 思っていることのまとめ（時間がない人用）
総括すると下記のようになります．
① **開発のみならWindows一択**
② **Macを買うならスペックは少しオーバー気味でいい．ケチったら負け．**
③ **Mac下取り勢はデータ移行に気をつけなはれ**

### 個人的比較と総論
|  | Windows | Mac |
|:----------:|:-----------:|:----------:|
| 用途 | 仕事用 | 普段使い |
| コマンド | 使いにくい | 使いやすい |
| デザイン | モノを選ぶ | 万人受けでかっこいい |
| スペック拡張性 | カスタムしやすい | ほとんどカスタムできない |
| アプリのサポート | 幅広く利用可能 | 一部機能が制限される |
| ナレッジ | 日本語・英語ともに情報が多い | 情報が少ない |

したがって，
```
- 開発専門のマシンを考えている → Windows
- 幅広い用途を考えていて，個人プロジェクトでおおらかに使いたい → Mac
```
と言った感じで，Macを開発でゴリゴリ使うには専門的な知識が必要になることとそれでもできないことがあるので，覚悟が必要です．大きい投資だと思いますので．

## Macで良かったこと
MacOSはUnixベースなので，Linuxに親しんでいる人は使いやすいかと思います．
Windowsはコマンドをわざわざ覚えようという気にならず，コマンドプロンプトやPowerShellでコマンドが違ったりもするのでサーバと同じ感覚で作業できるのはいいと思います．
またモノなのにロマンがあるし，どこに持っていっても恥ずかしくないです．
さらにデータ移行が機能化されており，比較的簡単で好きです．個人的に人生で初めて買ったコンピュータを継承して，使い続けるという情緒的な価値があります．

## 買う前の検討が甘くてできなかったこと
### 仮想化対応の製品が少ない
そもそもMacの弱点として，AppStoreでインストールできるものが少なく，アンインストール時にファイルが綺麗に消えきらないのがあります．個人的にすごいそれが嫌なので雑多な開発は仮想マシンで実行し，不要になれば綺麗に捨てようと思っていました．
しかし仮想化でいうとVMware FusionやUTMというものくらいしかしりません．VirtualBoxはIntelのアーキテクチャのみをサポートしています．
そしてApple Silicon上では未対応のため，VMwareではNested Vertulizationができません．したがってVM内のLinux内ではハイパーバイザが使えませんし，WindowsではWSLすら使えません．VMwareの設定画面にはネストを許可する選択欄すら出てきません．
ベンダーもApple Siliconに対応させる開発のメリットもまだ感じられないのでしょうが，このアーキテクチャが成熟してきたら解決するかもしれません．

![スクリーンショット 2025-03-15 19.05.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918716/f57008d6-9a4e-40af-821e-17395fa8dfcb.png)

ChatGPTと下の記事曰くまだのようです．

> VMware Fusion on Apple Silicon (M3) does not currently support nested virtualization because macOS does not expose hardware-assisted virtualization features (like VT-x or ARM equivalent) to guest VMs. This means that even if you're running Ubuntu, Debian, or another Linux distribution inside VMware Fusion, you cannot run another virtual machine inside it.

△ ChatGPTからの回答

https://community.broadcom.com/vmware-cloud-foundation/communities/community-home/digestviewer/viewthread?MessageKey=7fa12340-3b85-42c9-bfd8-eb699ee019f0&CommunityKey=0c3a2021-5113-4ad1-af9e-018f5da40bc0#bm7fa12340-3b85-42c9-bfd8-eb699ee019f0

△ 参照した記事の一つ

またlimaというツールでもWSLの要領で使えるようですが，同じ樹海に入りそうです．

``` 
TMc-Air-2024:~ tomoki$ brew install lima
Warning: lima 1.0.6 is already installed and up-to-date.
To reinstall 1.0.6, run:
  brew reinstall lima

TMc-Air-2024:~ tomoki$ limactl start
FATA[0000] limactl is running under rosetta, please reinstall lima with native arch 
```

いくつか迂回策を検討しましたが，今は乗り越えられない諸々の制約もあったため，階層化することを諦め，カオスなコンピュータになることを承知の上でDockerやMySQLを直でインストールしています．Windowsのライセンスも買って，VMware上でアクティベートしてしまったのでどうやって使おうかなといった感じです．

何を言っているの？何をこだわっているの？というひとはMac適正試験合格です．おめでとうございます．（インフラ屋さんは気持ち悪い思いをすると思います）

## それでもMacがいいんだ！という方
気持ちはわかります．（ここから熱が入ります）
そんなときは下記の5点をぜひ検討してください．

### ① スペック
#### - メモリ
メモリは迷わず**32GB**を選んでください．
購入当初は個人開発を考えていなかったので16GBを購入しましたが，32GBにすれば良かったなと．Dockerや仮想マシンを動かそうもんなら，もう覚悟を決めてください．あなたはもはや16GBの器ではありません．
良く言えばリソースの割り当てを考える訓練にはなりましたが，16GBというなけなしのメモリを仮想マシンにわりあてるの正直「帯に短し，襷に長し」で難しいです．かなりひもじい思いをします．
コードを書くだけならこの容量でも大丈夫な気がしますが，環境をMacの上に作るとなると，余計なストレスが強いられます．

#### - ストレージ
個人的にチップはなんでもいい（というかMacだとあまり違いを感じにくい）と思いますが，ストレージもケチらないことをお勧めします．大学の時なけなしのお金で買った126GBのストレージは，卒業を待たずほぼいっぱいになりました．ファイルなんてそんななかったですが，アプリとシステム容量が大きかったためです．
お金がないなら，Macなんて買わなくても，ThinkPadを中古で買ってきて，メモリもストレージも好きなようにカスタマイズする方が，よっぽど安いし勉強になります．あと物理的に軽いです．

### ② キーボード
配列は生産性において重要です．
会社のPCが英語配列なので，同じくそうしたいと思っていました．
しかしリファビッシュ品は英語配列がなく，泣く泣く日本語配列にしたのですが，なんだか使いづらい．．．
おまけに1ヶ月後に，新品が値引きされ，リファビッシュ品と同じ価格になりました．
これなら1ヶ月待って新品の英語配列を買えば良かったじゃないか（ﾄﾎﾎ）
何を言っても後の祭りなので，「やる気の炎を絶やさず早く動けた」「SDGsに貢献したじゃないか」と諌めています．
皆さんはこんなことがないよう，せめて使いやすいキーボードを選んでください．

### ③ 買い方
楽天を使い倒してください．リファビッシュ品も使えます．キャンペーンの組み合わせ方にもよりますが，ざっくり**実質3万円オフ**で買えました．具体的には下記のフローです．
```
もろもろのキャンペーンエントリーを済ます
↓
楽天市場で”Apple Gift Card”を購入し，アカウントにチャージ（Max5万円分なので複数回に分けて購入）
↓
楽天Rebates経由でチャージした残高を用いて購入
```
:::note info
Apple Gift Cardは[こちら](https://a.r10.to/h5prID)からどうぞ！
:::

:::note info
（2025/04/19 執筆現在）楽天モバイルに入っておけば，SPUでがっぽり楽天からカモれる仕組みになっているので，オペレータから連絡が来る回線を分けたいエンジニアや公私を分けようと考えている方にもこの機会に入会おすすめです．乗り換えで最もポイントをもらえるキャンペーンのURLを貼っておきます．
https://r10.to/hUvybG?openExternalBrowser=1
:::

![スクリーンショット 2025-04-20 11.23.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918716/95e09b53-6708-47dc-9a38-b5d5c3cd5117.png)

:::note alert
Apple HPまで行ったとき，少し見づらいですが金額の横にある【適用】というボタンを押して購入してください．せっかくギフトカードを用意したのに，間違えてカードなどで買わないようにしてください．
:::

### ④ データ移行
ほとんどの人はデータ移行をタイムマシンでする人がほとんどかと思います．
**そのときは極力新しいディスクで行ってください．**
私はもともとWindowsが入っていた，家に落ちているHDDで行いました．取得時に「フォーマットされていない」と怒られたので，実行したつもりでした．
バックアップが無事終わったかを確認したかったので，一旦保存したタイムマシンを初期化したMacで立ち上げてみようとすると下記のような画面になりました．

![スクリーンショット 2025-04-20 11.23.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918716/44bb008f-56e4-4038-b1e3-19e4d4567b88.png)

**「？！」**

別の意味で終わったかと思いました．不幸中の幸いにも元々のストレージが小さく，音楽やクリエイティブのデータは外のSSDやHDDに保存していたため，iCloudにちょこっと移すだけでバックアップは済んでいました．なので新しいMacで新規にユーザ作成をし，アプリも新規でインストールするでも良かったのですが，その後なんやかんやでリストアできました．

![IMG_9135.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918716/dd33a89a-89da-4fa1-8162-b78d34030488.png)

データ移行はそれで一件落着したものの，古いMacは起動する状態で下取りに出さなければなりません．
Macはファームウェアから立ち上げようとすると，AppleのサーバにOSを取りに行き，そのインストールしたイメージを立ち上げる仕組みのようです．しかしそのサーバ上にあるOSが新しくなっており，僕の古いMacに入れられませんでした．
つまり下取りに出そうとしているMacのOSが起動しないのです．
一度相談したとき，「OS起動しないと無理ですね」とAppleストアのチャラチャラした人に言われたのですが，ダメ元で後日違う人に相談すると，「電源がつけば大丈夫です」と言われ，ことなきを得ました．

### ⑤ セキュリティ
ClamAVは必ず入れてください．GUIが良いならClamXAVを推奨します．
エンジニアの”エ”の字もなかった大学生当時，何かをダウンロードする際にマルウェアも入れてしまっていたようでした．しかもわけのわからんディレクトリに．このせいで新しい移行先のMacで常時このようなポップアップが出ており，作業になりませんでした．
こんなときにClamXAVです．システムファイルがとても多く，スキャンに山ほど時間がかかりましたが，おかげさまですべて除去できました（と思っています）

![スクリーンショット 2025-04-20 11.18.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918716/b69679bf-e731-4a07-9610-845b7b638c66.png)


## 悟りの境地
購入検討当初は開発利用目的で考えておらず，別に新しいPCを用意しようと思っていました．
途中から開発にも使おう！と思ったのですが，これが甘い点でした．回避策は考えればあるものの，Mac単体でみるとリソースは上記の通り「帯に短し，襷に長し」の状態でした．

クリエイティブ目的がなく，なんのストレスもなく開発をしたいならWindowsが最適解だと思います．UIもほとんどの人はWindowsで慣れていると思いますし，Intelのアーキテクチャがほとんどなのでツールの選択肢と記事の数も多いです．使い勝手，スキルの成長幅で言えばWindowsでもいいじゃないですか．
Macでニッチなことをやろうとすると，十中八九，英語の記事に行き，解決されていないことが確認できます．

**ただそれ以上に所有感やロマンを求める方にはMacを強くお勧めします！** 
デザインはカッコよく，買ってしばらく経ちますがいまだにテンションが上がります．
（個人的に会社のWindowsPCをボロ雑巾のように使っているので，自由な時間に開発するギアとして高揚感に欠けます）

次の買い替えはいつになるかわかりませんが，「メモリ32GB」の「英語配列」にします．
Macを買う人はケチってはいけない人だと思います．そういったものにじゃぶじゃぶお金を使える人が，スペックだけを見て買うというモノだということを身をもって体感しました．

ほな．