tag:crieit.net,2005:https://crieit.net/tags/Hyper-V/feed 「Hyper-V」の記事 - Crieit Crieitでタグ「Hyper-V」に投稿された最近の記事 2019-05-05T20:27:41+09:00 https://crieit.net/tags/Hyper-V/feed tag:crieit.net,2005:PublicArticle/14644 2018-12-11T09:58:00+09:00 2019-05-05T20:27:41+09:00 https://crieit.net/posts/Windows 開発マシンをWindowsに移行した話 <p>(2019/05/05追記)<br /> 一年も前に書いたジョークがいまさら発火して、もうどんな顔していいかわからないのだけど🙃 この記事には後日談があります<br /> <a href="https://crieit.net/posts/VSCode-Remote-Development">VSCodeのRemote Development機能が革命的な話。</a></p> <p>(追記終わり)</p> <p>2010年頃に開発マシンをMacに移行して、それからずっとMacで開発していたのだけれど、Windowsに戻してみることにした。</p> <p><a href="https://crieit.now.sh/upload_images/b334fc6e12964946d4dd17efac9146355c0f097e3cc3c.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/b334fc6e12964946d4dd17efac9146355c0f097e3cc3c.jpg?mw=700" alt="2018-11-22 21.00.06s.jpg" /></a></p> <h1 id="理由"><a href="#%E7%90%86%E7%94%B1">理由</a></h1> <p>最近なんかMacイケてないと思わない?</p> <ul> <li>新型MacBook Pro1.3kgはともかく、<a target="_blank" rel="nofollow noopener" href="https://www.apple.com/jp/mac/compare/results/?product1=macbook-air-retina-13&product2=macbook-pro-touchbar-13">13インチMacBook Airが1.2kg</a>ってありえないでしょ?アップルの空気はそんなに重いの?</li> </ul> <p>一方で、WindowsでWEB開発する条件が整いつつある</p> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://www.office.com/">Office 365</a>, <a target="_blank" rel="nofollow noopener" href="https://www.adobe.com/jp/creativecloud.html">Adobe CC</a>など、大手の会社のソフトウェアはだいたいマルチプラットフォーム対応になってきたよね <ul> <li><a target="_blank" rel="nofollow noopener" href="https://code.visualstudio.com/">VSCode</a>も<a target="_blank" rel="nofollow noopener" href="https://www.sublimetext.com/">Sublime Text</a>もWindowsで動くよ</li> </ul></li> <li>開発環境にDocker使うんだったら、もはやWindowsでも一緒なのでは?</li> <li>surfaceかっこいいよね!</li> </ul> <p>つまりこういうことです</p> <blockquote> <p>不満を持ちながらも惰性でMacを使い続けるよりはもっと良い環境になる可能性のある方向を目指す方が生産的だよねということで、試しにいっちょWindows機に移行してみるか、ということにしました<br /> <a target="_blank" rel="nofollow noopener" href="https://techracho.bpsinc.jp/morimorihoge/2018_12_02/65605">Web開発環境をMacBook ProからWindows機に移行してみた話</a></p> </blockquote> <h1 id="RFP"><a href="#RFP">RFP</a></h1> <ul> <li>nodeとかrubyといったunixネイティブのソフトウェアは、仮想マシンを使ってlinux上で動かす。中途半端にWindowsの上で動かすと余計な手間がかかるのでやらない <ul> <li>WSL(Windows Subsystem for Linux)はどうなんだろう?</li> </ul></li> <li>OfficeやAdobeソフト、エディタなどを仮想マシンで動かすと重そうなので、WindowsネイティブなアプリはWindows上で動かしたい</li> <li>その間にあるものをどうするかが悩み</li> </ul> <h1 id="構成"><a href="#%E6%A7%8B%E6%88%90">構成</a></h1> <p>しばらく試して落ち着いた構成がこちら。</p> <p><img src="https://qiita-image-store.s3.amazonaws.com/0/30743/ed84e9d9-dd14-3f0a-ba69-4bb5b5d77353.png" alt="Untitled.png" /></p> <ul> <li>Windowsが提供する仮想マシン環境 hyper-V でlinuxマシンを動かす</li> <li>一台目dev-baseは、開発環境のベースとなるマシン <ul> <li>sambaサーバでディスク領域をWindowsに公開して、Windowsのネットワークドライブとしてマウントする</li> <li>VSCodeやSourceTreeはすべてこのドライブに対して実行する</li> <li>同じ領域を、nfsサーバでも公開する</li> </ul></li> <li>二台目linuxは、プロジェクトごとに用意する仮想マシン <ul> <li>nodeとかrubyとかがインストールされる</li> <li>ソースコードなどは、nfs領域上にあるものをマウントして利用</li> </ul></li> </ul> <p>こうすることで、Windows上のアプリから読み書きしたファイルをリアルタイムでlinux上で操作することができる。</p> <p>あとは、Windows上で適当なシェルを用意して、SSHでlinuxに接続してしまえばもうlinuxの世界。</p> <h2 id="試行錯誤"><a href="#%E8%A9%A6%E8%A1%8C%E9%8C%AF%E8%AA%A4">試行錯誤</a></h2> <ul> <li>MacとWindowsのキーの違いは、<a target="_blank" rel="nofollow noopener" href="https://www.autohotkey.com/">AutoHotkey</a>でだいたい吸収できます</li> <li><del>仮想デスクトップの切り替えがキーボードでできないのも、<a target="_blank" rel="nofollow noopener" href="https://github.com/sdias/win-10-virtual-desktop-enhancer">win-10-virtual-desktop-enhancer</a>で解決</del> (2019/05/05追記)<a target="_blank" rel="nofollow noopener" href="https://twitter.com/matsudamper/status/1124995892245753856">標準でショートカットがある</a>ことを教えてもらいました!</li> <li>WindowsのPowerShell上でsshが動くので、シェルはこれでもいいのですけど、<del>なんか使いにくかったので<a target="_blank" rel="nofollow noopener" href="http://www.9bis.net/kitty/">Kitty</a>を入れました</del> (2019/05/05追記) <a target="_blank" rel="nofollow noopener" href="https://ja.poderosa-terminal.com/">Poderosa</a>に乗り換えました</li> <li>Macに乗り換えて泣く泣く別れた<a target="_blank" rel="nofollow noopener" href="https://hide.maruo.co.jp/software/hidemaru.html">秀丸エディタ</a>と感動の再開を果たしたのですが、昨今の複雑化した開発の前には、もはや単機能エディタでは力不足ですね。初恋の人と同窓会で再開したみたいだと思いました</li> <li>Docker on linux試したんだけど、これdocker内からファイルを書くとrootで書いたことになっちゃうのですよね <ul> <li>最近のDockerだと、User Namespaceという機能で解決できるらしいのですが、うまく行かなかったので諦めました</li> <li>Hyper-Vがすんなり動いたので、Docker for windowsはまだ試してない。うまく動けばこっちのほうがいいかも</li> </ul></li> </ul> <h1 id="良かったこと"><a href="#%E8%89%AF%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8">良かったこと</a></h1> <ul> <li>Surface軽い! <ul> <li>1.3kgのMacbook Proはリュックで背負っても辛い感じだったのですが、700gのSurface Proなら肩掛けカバンでも持ち歩くことができます。封筒にだって入っちゃうぞ。</li> </ul></li> <li>スナップ機能が便利 <ul> <li>Windows7の頃からあった機能らしいのですが、画面を左右に分割してブラウザとエディタなどのアプリを配置することができます。Macの<a target="_blank" rel="nofollow noopener" href="https://manytricks.com/moom/">Moom</a>でもできますが、Windowsだと、左70%右30%みたいなことができるのが嬉しい</li> </ul></li> <li>Windows Hello楽しい <ul> <li>iPhoneのFaceIDと同様の、顔認証によるログイン機能が搭載されています。パソコン起動したときディスプレイと目を合わせるのは「よろしくね」という感じでちょっとよいです</li> </ul></li> </ul> <h1 id="困ったこと"><a href="#%E5%9B%B0%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8">困ったこと</a></h1> <ul> <li><p>なんか不安定</p> <ul> <li>スリープから復帰した時に仮想マシンが起きてこなかったり、外付けディスプレイへの描画が起きてこないなどの、かゆいトラブルが発生しています。今思えばMacは安定していたなあ</li> <li>とはいえ、Macでトラブルが起きないのは、長いこと使ってきてトラブルを回避するノウハウを体が覚えているみたいなところもあるので、Windowsだってしばらく使えば安定してくるんじゃないかなと期待している</li> </ul></li> <li><p>surfaceビミョー</p> <ul> <li>surfaceの特徴であるTypeCover(超薄型キーボード)、キーボードとしては、多少ペコペコするけど普段使いでも行けるくらいよくできています。</li> <li>問題なのはタッチパネルの方で、普段はいいのだけれど、電車の中みたいに安定しないところで使おうとするとカーソルが暴走を始めます。たぶん、歪むと検出値が安定しなくなるんだと思う</li> <li>だからといって外付けマウスを電車の中で使うのは不可能なので、<a target="_blank" rel="nofollow noopener" href="https://direct.sanwa.co.jp/ItemPage/400-MA077">指輪マウス</a>を実験中w</li> </ul></li> </ul> <p><a href="https://crieit.now.sh/upload_images/fb8d8ccf1a5dc6e98e960d5ac225bd405c0f0990dc176.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fb8d8ccf1a5dc6e98e960d5ac225bd405c0f0990dc176.jpg?mw=700" alt="2018-12-10 23.29.05.jpg" /></a></p> <h1 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h1> <p>予想していたとおり、Macじゃないと開発できないのはiPhoneアプリくらいで、unixベースのソフトウエアを使って開発するぶんには、MacでもWindowsでもできるなという感じです。</p> <p>Macは良かったんだなあ、と思うこともあるのですけど、新しい環境は楽しいのでしばらくこれで続けてみようと思います。</p> daisuke furukawa