概要
Mac を購入するか、 Linux を導入すれば良い…というのはごもっともですが、
止むに止まれぬ事情により1、 Windows2 でプログラミング学習を進めたい、という際の道しるべです。
コード実行環境
開発環境の整備に関して、
Mac や Linux と比べるとその労力がネックとなります。
そこで、オンライン上でコード実行できるサービス「Coding Ground」を利用します。
Coding Ground では様々な言語を実行できます。
また、シェルも提供されているため、
gem などライブラリを導入して動かすといったことも可能です。
作成したプロジェクトは GitHub や Dropbox などに保存することができますので、
Windows 環境で勉強だけでなく、作業もこなせる形になります。
GitHub アカウントを作り、気になる言語やフレームワークのコードを検索して読み、
気になった部分を Coding Ground に移していろいろ実験し、
得られた知見を Gists に溜め込んでいく、という流れがお勧めです。
Web 上で完結していますので、Windows でも不自由なく学習できます。
仮想環境構築
とはいえ、サーバー自体を作って実験してみたいことがあるかと思います。
以下のソフトウェア導入により、仮想環境構築を行います。
- VirturalBox
- Vagrant
また、標準のコンソール・シェルは操作し辛いところがありますので、
先に MSYS2 を導入して改善を図ります。
MSYS2
64bit版の場合は「msys2-x86_64」の方をダウンロードしてください。
インストーラの流れにしたがって導入します。
インストールしたディレクトリにある、以下のバッチから起動できます。
- msys2_shell.bat
- mingw32_shell.bat
- mingw64_shell.bat
基本的には msys2_shell.bat
を利用する形ですが、
導入するパッケージによっては mingw??_shell.bat
経由でないと利用できないようです。
環境に合ったものを使うようにした方が良さそうですね。
スタートメニューに MSYS2 のフォルダが生成され、
そこにショートカットが用意されていますので、
タスクバーに登録したい場合はそちらを利用できます。
mintty
MSYS2 であらかじめ導入されているコンソールです。
フォントや透過度など、設定の調整を行っておきます。
mintty 上で右クリック -> Options
より設定ウィンドウが開きます。
設定はお好みで大丈夫ですが、文字コードは ja_JP.UTF-8
にしておきます。
個人的には、「RictyDiminished」のフォントを導入して使っています。
mintty 上のフォント一覧に表示されない場合は、
「コントロールパネル -> フォント -> フォント設定」より
「入力言語の設定に基づいて一部のフォントを非表示にする」のチェックを外します。
pacman
MSYS2 であらかじめ導入されているパッケージマネージャ3です。
今回は Vagrant を動かすことを目的にしているためそれほど操作しませんが、
Windows 上で色々やりたくなった際はお世話になりそうです。
パッケージの更新をかけた後、コンソールを再起動します。
# ヘルプの表示
pacman -h
# パッケージ一覧
pacman -Sl
# パッケージ更新
pacman -Suy
winpty
mintty のコンソール入出力に事情があり、うまく動作しないコマンドがあります。
winpty を導入することで、この問題に対処することができます。
pacman -S winpty-git
openssh
Vagrantで作成した仮想環境に入るために使います。
pacman -S openssh
手元の環境では、一部依存ライブラリの導入時に接続エラーが発生しましたが、
curlを再インストールすると動作しました。
pacman -S curl
vim
Vagrantfile の編集に使います。
Vim でなくても良いですが、何かしらテキストエディタを入れておくと便利です。
pacman -S vim
VirturalBox
Vagrant で利用します。
インストーラの流れにしたがって導入します。
Vagrant
Vagrant も、インストーラの流れにしたがって導入します。
起動
'chef/centos-6.5' のboxを利用し、
プライベートIPを '192.168.33.10' に設定して起動します。
cd /path/to/workspace
vagrant init chef/centos-6.5
vim Vagrantfile
--
config.vm.network "private_network", ip: "192.168.33.10"
--
vagrant up
vagrant ssh
以降は仮想環境上で、
ライブラリの導入やプログラムの動作確認など行っていく形になります。