はじめに
この記事は生産性向上のための環境整備2020 【PR】 Lenovo Advent Calendar 2020 - 03 の1日目の記事です。
Lenovo製品は季節の折り、セールをしているときがあります。セールを狙えば、20万円を切る価格帯で Ryzen 7 のメモリ 32GB のマシンが買えてしまうので、経営大丈夫かなと心配するぐらいです。私は10年来のMacユーザーなのでApple製品の良さは知っているのですが、コストパフォーマンスを考えると、開発マシンは Windows でもいいのではないか、と思っています。
MacはOSのアップデートや Linux ライクな操作により Web系エンジニアのみならず一般ユーザにも優しいつくりになっています。一方で Windows は Shell 周りが Linux ライクではない、Web系エンジニアは Mac という風潮や、技術記事も Mac / Linux ベースで記述されていることが多いです。
しかし、Windows Subsystem for Linux 2(WSL2) をきっかけに、この潮目は変わるかもしれません。 Appleシリコン(M1)による仮想環境が動かない問題も解決しつつあるので、Windows と Mac どちらを選ぶのかについては、本当に好みと予算、そして作りたいアプリケーションの問題になっていくのではないかなあと思います。
以下、私の備忘録とともに、Windows の開発環境の構築のために設定したほうがよいであろう一覧を公開いたします。
本記事については Windows を対象としておりますが、個々のアプリケーションについては Mac でも使えるものがあります。
セットアップのはじめの一歩
OS 関連
Windows Update
新品の Windows は、OSのアップデートが行われおりません。手順を以下に記載します。
- windowsキーを押下し、「windows update」と入力、すると、「Windows Update の設定」が見つかりますので、それをクリックします
- 更新プログラムをチェックすると、利用可能な更新プログラムが見つかります
- 更新には15分ぐらいかかることもありますので、少し放っておきましょう。セキュリティパッチなども含まれているため、購入後の初期 Windows PC では対応が必須となります
Windows 10 Pro へ OS をアップグレード
Microsoftストアより Windows 10 Pro を購入します。
BitLocker というドライブの暗号化ソフトを利用できるようになったり、リモートデスクトップ接続をつかえるようになります。
個人で使う分には、Pro にしないという選択肢もありうるでしょう。
セキュリティ関連
セキュリティソフトを入れる。以上。
Norton や カスペルスキー といったソフトをインストールしますが、そこはIT資産管理部などの領域なので割愛します。
一般的には、セキュリティソフトは導入している(ISMSをもとにした社内規定として通常は明記されている)はずです。
VPN クライアントソフト
いろんなものがあります。Cisco 関連のソフトを使うケースが多いんじゃないかなあと思います。GitHub のようなホスティングサービスを使っているようなケースだと、あんまり使うことはないかもしれません。
作業環境共有
ドライブファイルストリーム
Google Drive を外付けディスクのようにマウントして使えます。わざわざブラウザ画面を経由する必要はないのが便利です。
Microsoft One Drive
あまり共有ディスクのようには使えておりませんが、こちらも Google Drive と同じように使えます。
開発環境
VirtualBox & Vagrant
自身のマシン内に Linux 環境を作成したいときに。LPIC の勉強で FHS(ファイルシステムの標準的な階層) を理解するために、よく Vagrant に CentOS を起動させて勉強しておりました。
- Oracle の公式DLページから取得 https://www.virtualbox.org/
- HashiCorp の公式DLページから取得 https://www.vagrantup.com/
WSL2 & Docker for Windows
最近ホットな WSL2、Windows 環境内で Linux 環境が起動できるという優れものです。その Linux 環境を使いつつ、Docker も使うという技術の組み合わせとなります。
- 基本的には公式をもとに従えばOK https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
- Docker は https://www.docker.com/ から DL しよう!
Git
どこかのリモートリポジトリへの push はなくとも、ローカルコミットだけを残すためだけに使うだけでもぜんぜん価値を感じるのが Git、もはや説明不要。ただし、リモートリポジトリがクライアント証明書が必要だったりする場合には、以下のような設定をすることがあります。ということが実際にあったので、備忘録。
- 証明書関係の設定が必要な場合は、対応が必要。ローカル単位でもいいとは思うのだけれど、あまり気にしていないのでグローバルに設定してあります。
$ git config --global http.sslCert /Users/marshmallow88/.ssl-cert/xxxxx.cert.pem
$ git config --global http.sslKey /Users/marshmallow88/.ssl-cert/xxxxx.key.pem
Node.js
NVM(Node Version Manager)を使ってバージョン管理されることも多いですが、Node.js は後方互換性が高いこともあり、LTS の最新版を選んで Install しておきます。
https://nodejs.org/ja/
パッケージマネージャーについては、yarn を使っていきましょう。
https://classic.yarnpkg.com/ja/docs/install/#windows-stable
おわりに
パソコンを買ったら有無もいわずに Windwos Update、忘れずに行きましょう。