パソコンを購入して必要なアプリをインストールしてみた

# 0. はじめに
- MacBookでの利用を想定
⚠️Windowsの場合は、ダウンロードサイトのページが異なるので注意
- Apple IDを作成して、App Storeでアプリをインストールできるようにする
- Apple メニュー  > システム設定 > Apple ID でサインイン >Apple ID を作成
⚠️画面の案内に従って、メールアドレスを指定し、強力なパスワードを作成して、デバイスの地域を設定

![スクリーンショット 2023-04-09 午前9.57.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2674841/ca43458b-a755-ce37-4870-7320411bea27.png)

# 1. 作業用アプリ
## Google Chrome
- デフォルトのブラウザであるSafariは基本的に使わない

https://www.google.com/chrome/

設定方法は以下の記事で解説
（こちらも自分で書いた記事なので、良かったら見てください！）

https://qiita.com/TS1engineer/items/752bedac8559f972154c
## Google Drive
- オンラインストレージ。スプレッドシートなどが便利

https://www.google.com/intl/ja_jp/drive/

## Gmail
- デフォルトのメールは使わない

https://www.google.com/intl/ja/gmail/about/

- メールの自動振り分け設定は以下を参考

https://www.howtonote.jp/gmail/filter/index2.html#:~:text=Gmail%E3%81%AE%E7%94%BB%E9%9D%A2%E5%8F%B3%E4%B8%8A%E3%81%AB,%E4%B8%80%E8%A6%A7%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

## Chatwork
- チャットツール

https://go.chatwork.com/

## Slack
- チャットツール

https://slack.com
## Office365

https://www.office.com/
## DeepL
- Google翻訳に変わる翻訳アプリ

https://www.deepl.com
## Dropbox
- ドキュメント管理

https://www.dropbox.com

## Notion
- 作業メモやタスク管理

https://www.notion.so
## chatGPT
- なんでも解決してくれる

https://openai.com/blog/chatgpt

## Qiita
- 困ったら調べてみる

https://qiita.com/

# 2.開発用アプリ
## Visual Studio Code
- 一般的なテキストエディタ

https://azure.microsoft.com/ja-jp/products/visual-studio-code

設定方法は以下の記事で解説
(こちらも自分が書いた記事なので、良かったら見てみてください)

https://qiita.com/TS1engineer/items/1b54f65ee87cb49582f5

## iTerm
- Mac標準のターミナルに変わるもの

https://iterm2.com/

設定方法は以下の記事で解説
(こちらも自分が書いた記事なので、良かったら見てみてください)

https://qiita.com/TS1engineer/items/30bec5948373c256a84e

## Xcode
- macOS開発用の統合開発環境（IDE）

https://developer.apple.com/jp/xcode/
## Homebrew
- macOS向けのオープンソースのパッケージ管理システム

https://brew.sh/index_ja
## GitHub
- Gitのバージョン管理と共同ソフトウェア開発のためのウェブベースのプラットフォーム

https://github.com/

## Git
- プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システム
```:ターミナル　
brew install git
git -v
```
⚠️Homebrewでインストールできる。インストール後は毎回バージョン確認することで、インストールの成功を確認。

## rbenv
- Rubyのバージョン管理ツール
```:ターミナル　
brew install rbenv
rbenv -v
```
## Ruby
インストールできるバージョンを確認
```:ターミナル
rbenv install -L | grep -v - | tail -n 10
```

Ruby3.1.4をインストールする場合
```:ターミナル
rbenv install 3.1.4
ruby -v
```
## bundler
- Rubyプログラムで使用されるGemの依存関係管理ツール
```:ターミナル
gem install bundler
bundler -v
```

## MySQL
- オープンソースのリレーショナルデータベース管理システム (RDBMS)

インストールできるバージョンを確認
```:ターミナル
brew search mysql
```

今回はバージョン指定せずにインストール
```:ターミナル
brew install mysql
```
起動確認
```:ターミナル
brew services list
```

## PostgreSQL
- オープンソースのリレーショナルデータベース管理システム (RDBMS)

インストールできるバージョンを確認
```:ターミナル
brew search postgresql
```

今回はバージョン14をインストール
```:ターミナル
brew install postgresql@14
```
起動確認
```:ターミナル
brew services list
```
⚠️postgresql started で始まる1行が表示されればOK

PostgreSQL に直接接続できるかどうかを確認
```:ターミナル
psql postgres
```
⚠️　#  postgres=# で始まる状態になっている(PostgreSQL に接続している)ことを確認

```:ターミナル
postgres=# \l
```
⚠️バックスラッシュの後は 1 ではなく，アルファベット小文字の「エル」
⚠️List of databases が表示されればOK

接続終了
```:ターミナル
postgres=# exit
```

## Postico 2
- macOS用のPostgreSQLデータベースクライアント(GUI)
- ターミナルで確認しなくて済むのでわかりやすい

https://eggerapps.at/postico2/

## Yarn
- JavaScript パッケージの依存関係を管理するためのパッケージマネージャー
```:ターミナル
brew install yarn
```

## Node.js
- JavaScript アプリケーションを実行するためのオープンソースのランタイム環境
```:ターミナル
brew install node
```

## Bootstrap と FontAwesome
- オープンソースのフロントエンドのフレームワーク
- 公式サイトに導入方法の説明がある

https://getbootstrap.jp/docs/5.0/getting-started/introduction/#%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B

- YarnでBootstrap等をインストール
```:ターミナル
yarn add bootstrap@~4.5.1 jquery popper.js @fortawesome/fontawesome-free
```

- 以下、ファイルに必要な設定を追加していく
```:app/javascript/packs/application.js
// ***** 一番下に追加（コメントは全て削除） *****
import "bootstrap/dist/js/bootstrap"
import "@fortawesome/fontawesome-free/js/all"
```

```:app/assets/stylesheets/application.css
/* 以下を追加 */
@import "bootstrap/scss/bootstrap";

$fa-font-path: '@fortawesome/fontawesome-free/webfonts';
@import "@fortawesome/fontawesome-free/scss/fontawesome";
@import "@fortawesome/fontawesome-free/scss/regular";
```

```:app/views/layouts/application.html.erb
/* 以下を追加 */
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
```

- 動作確認
以下のテンプレートをHTMLファイルに貼り付けして、正しく導入されていることを確認

https://getbootstrap.jp/docs/5.0/components/buttons/

- kaminariでレイアウトを以下のように表示
![スクリーンショット 2023-04-21 21.17.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2674841/ed30586b-af0e-f828-ffee-9075b3cc2194.png)


```:ターミナル
rails g kaminari:views bootstrap
```

# 3.便利ツール
## Alfred 5
- macOS標準搭載の『Spotlight』に変わるランチャーアプリ

https://www.alfredapp.com/
- 使い方の参考記事

https://paso-jiyu.com/alfred/

## Shiftlt
- Macでショートカットキーを設定し、画面分割が簡単にできる

https://github.com/fikovnik/ShiftIt/releases

- 使い方の参考記事

https://www.aqua-exp.com/entry/mac-shiftlt

- アプリを開く設定（MacOSがVenturaの場合）

https://support.apple.com/ja-jp/guide/mac-help/mh43185/mac

## Hammerspoon ShiftIt
ShiftItだと、ビデオ会議中に使えない不具合があるために、以下を利用。
※ShiftItは使わなくなった。

https://qiita.com/TS1engineer/items/22dc6dd06f6b85e45c29

## Diagrams
- ER図や画面遷移図の作成に便利

https://app.diagrams.net/

## 1Password
- パスワードマネージャ

https://1password.com/jp

設定後にChromeで保存したパスワードを一括削除する方法は以下の通り

https://rin-ka.net/chrome-password-bulk-delete/

## Clippy
- クリップボード管理アプリ

https://clipy-app.com/

- 自動ログイン時に通知を表示させない方法

https://ringosuki.hateblo.jp/entry/2022/12/19/Clipy%EF%BC%9AmacOS%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E3%81%9F%E3%81%B3%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B%E9%80%9A%E7%9F%A5%E3%82%92%E5%9B%9E%E9%81%BF%E3%81%99%E3%82%8B

## AS Timer
- ストップウォッチ機能
- 作業時間を設定することで、今の作業に集中できる

https://apps.apple.com/jp/app/as-timer/id512464723?mt=12

## Monosnap
- mac標準のスクショに変わるアプリ
- 起動のショートカットを設定できるのが便利

https://monosnap.softonic.jp/mac/download

## HyperSwitch
⌘ + Tabでアプリを切り替える際に、同じアプリもウィンドウ単位で選択できるようになる。
以下の記事を参考に設定。

https://pikawaka.com/tips/hyper-switch

## battery
バッテリー充電を80%までとするアプリ。
これで製品の劣化を防ぐ。

https://github.com/actuallymentor/battery?tab=readme-ov-file

# 4. システム環境設定
こちらの記事で解説しています！

https://qiita.com/TS1engineer/items/a57ee6792a9480ebf21f