4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

生産性向上のための環境整備2020 - 02 【PR】 LenovoAdvent Calendar 2020

Day 10

VM(vagrant)のお話とリアル(現実)環境のお話

Last updated at Posted at 2020-12-09

以前、直接ホストosから開発をしていたのですが、最近VMを使用して開発するようになったので開発環境のお話をしたいと思います。
(追記 前のカレンダー見てたら全く同じこと書いていたのでやっちまったなー...と。すみません)

Virtual Machineの良い理由

VMとしての強みがある

VM(Virtual Machine)はホストOSに影響を与えることが少なく、安全にそして大胆にOSを動かすことができるので万が一OSを破壊したとしても、「BIOS起動して、ディスク入れてインストールに何時間!」ということがなくなります。また、簡単に削除することも可能なので、プロジェクトごとにVMを建てていらなくなったらまとめて削除することもできるし、あくまで仮想環境という程なのでそこにあるデータをまとめてコピーしたり、誰かに渡すということもできます。グループ開発で開発環境を揃える時も仮想環境をシェアしてしまえば同じ環境で開発することが可能です。1

本環境との干渉を考えなくても良い

例えばpythonで他のバージョンを使う時などに普通なら干渉しますが、VMなので干渉することがありません。Virtualenvのようなものが提供されてない場合でも本命のバージョンと干渉することがないのでおすすめです。
他にも理由はいろいろありますが僕が使っている理由はこんな感じです。

環境構築の仕方

Virtual Boxを導入する

ディレクトリを作成し、作成したディレクトリでvagrant initを使う

terminal
$makdir test
$cd test
$vagrant init

Vagrant Cloudというサイトで使いたいOSを指定する(今回はubuntuを選択しましたが、他のでもやり方は変わりません。)

Screen Shot 2020-12-09 at 17.27.42.png

Screen Shot 2020-12-09 at 17.27.53.png

vagrant initをするとvagrantfileという設定ファイル(これからも設定するときはこのファイルを使います)が生成されるので該当箇所のコメントを外すか、新しく記入すること

Screen Shot 2020-12-09 at 17.49.07.png

(コメントアウトされているところは消しても消さなくてもokだけどvagrantでできることがたくさん載ってるのでコメントアウトは一回読んでみて)

vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
end

vagrant upというコマンドをvagrantfileが存在するディレクトリで

terminal
vagrant up

をすれば勝手にOSをインストールしてくれます。
これで環境構築は完了です!

作成した仮想環境に接続したい

vagrantがあるディレクトリでvagrant sshを叩くと接続されます。もしパソコンを再起動している場合は vagrant upをしてから叩きましょう。

terminal
vagrant ssh

もしくはvscodeのRemote Development2を使用して、接続することもできます(自分はそうしています。)

スペックを上げたい

ちょっと長く使うと動作が遅くなってしまう時があります。それってもしかして、メモリやcpuが足りてないのでしょうか?メモリの増やしかたは

config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"
end

で可能です。cpuは

config.vm.provider "virtualbox" do |vb|
    vb.cpu = "1"
end

で可能です。

ファイルを共有させたい

config.vm.synced_folder "pathを指定(host側)", "pathを指定(vagrant側)"

で共有可能です。

リアル環境のお話

パソコン

Mac book proの2016年モデルを使用しています。16gbで早いはずなんだけどすんごい遅くて、vagrant起動させただけでファンが結構うるさいのが難点。新しいパソコンを買おうかすごい迷ってるけど財力がないことに気づく。
あとMac osがちょっと良くない。
あとタイプc限定なのがなかなかにめんどくさくて、usbとかディスプレイ使う時はハブを使っているんだけど接触が悪すぎてまともに作業できない時があるのでハブを変えようか迷ってる。

キーボード

HHKBを買ったんですけどペチペチとしたmacのバタフライキーボードよりスコスコしているキースイッチでとても良いです。ただ正直このキーボードは癖が強いキーボードなので持っている人に貸してもらったりして購入を検討するのが良いと思われます。

マウス

ロジクールのG304を使ってます。軽いし、サイドボタン2個もついているし感度も細かく調整できるし、いちいち充電しなくても電池で交換できて(めんどくさがりのGoriraにとっては本当にここ大事)とても良いです。ただ無線レシーバーの距離が意外と短い....

開発スタイル

vagrant起動させて、いっつもfirefoxとvscode(sshでvagrantに接続してる)で作業してます。pythonをよく使っているのでanacondaを入れてライブラリがたくさん使えるようにしてます。あとapple musicに加入しているので音楽を聴きながらやることもあります。最近の流行りは

  • The Beatles
  • backstreet boys
  • spitz
  • Wham!
  • NiziU
  • Twice

ですね....特にBeatlesとspitzとbackstreet boysはどの曲も良い気がする。
Whamはlast chrismasの再生数がめちゃ多い

  1. https://qiita.com/pyonpyoko/items/d5e97934940f2894ff4c

  2. ちなみにbash以外のシェルを標準シェルとして使用するとタイムアウトして接続できない?っぽいので気をつけて

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?