私は最近、セミ強化 PC (Q9450、8GB DDR2 1066、1TB HDD、デュアル 8600GT、Vista Ultimate およびデュアル 22 インチ モニター) を自作しました。いいえ?
1 つの利点は、Vista ラップトップで同じ VM を実行できるため、どのマシンでも開発環境が同じになることです。また、年末までにMBPも購入する予定です。
オンラインでいくつかの記事を見つけました。
他の考えは本当にありがたいですか?
私は最近、セミ強化 PC (Q9450、8GB DDR2 1066、1TB HDD、デュアル 8600GT、Vista Ultimate およびデュアル 22 インチ モニター) を自作しました。いいえ?
1 つの利点は、Vista ラップトップで同じ VM を実行できるため、どのマシンでも開発環境が同じになることです。また、年末までにMBPも購入する予定です。
オンラインでいくつかの記事を見つけました。
他の考えは本当にありがたいですか?
VMのもう1つの利点は、インストールベースがクリーンであることです。私はデスクトップとラップトップを開発以外の多くのことに使用しています。インストールしたソフトウェアがいつ競合するのか、または微調整や遊んでいないものがOSを破壊するのかどうかはわかりません。すべてのツールを再インストール/構成して、希望どおりのツールになるようにすると、かなりの時間がかかる場合があります。開発用VMイメージのバックアップがある場合は、PCを好きなだけ台無しにすることができますが、それでもダウンタイムなしでコーディングできます。また、LinuxやMacOSを好むボックスでWin / Visual Studio/Etcを実行することもできます。
同じ画像の複数のコピーを作成し、それぞれを個別のプロジェクトに使用することもできます。
ラップトップ/デスクトップ/サーバー/リモート接続間を移行でき、常に同じ環境にいることも非常に役立ちます。
Web 開発では、serverpart を VM に分離するのが好きです。私の現在のセットアップは、複数の Debian VM が内部にある Macbook Pro です。私はそれの孤立した側面が好きです。サーバーで新しいソフトウェアを試すことができ、何か問題が発生した場合に元に戻すことができます。
ホストシステムのTextmateでネットワーク共有(samba)を介してプログラミングを行います。
私が見つけた問題の 1 つ (少なくとも VMWare Server を使用している場合) は、マシンがどれほど高速であっても、画面のリフレッシュ レートが約 30hz のままであるということです。それは、しばらく使用した後、少し不快な経験になります.
現在私が働いている場所では、XP のベース コピーに対する管理者権限がないため、すべての開発に VM を使用しています。
長所: 私は VM を使用するのが好きです。VM を使用するとある程度の柔軟性が得られるからです。マシンを切り替えることができます。両方でプログラムを実行でき、クールな環境で作業できます。
短所:
複数のオペレーティング システムを起動する必要があります。これには、時間、メモリ、およびリソースが必要です。
VM でのクリップボード操作は、興味深い場合があります。クリップボードへのコピーが機能しないか、VM 間で混同されることがあります。(VMWare を使用)。
USB ドライブやその他の外部デバイスを接続すると、ファイル操作が興味深いものになる場合があります。VM がデバイスを認識しない場合もあれば、認識される場合もあります。
VM イメージが破損した場合、その中のすべてを簡単に失う可能性があります.... バックアップしない限り....
開発トークを提示するのに最適です。スナップショットに戻って、毎回まったく同じ開始点からトークを行うことができます。
VMWare を使用する場合は、将来の MacBookPro で RAM を増やしてください。私は(まだ)していませんが、他のいくつかの(Mac側の)アプリを開いた状態でのパフォーマンスは、本当に遅く感じ始めています.
ではごきげんよう。
長い間、私たちは非常に初期のバージョンの Visual Studio 2005 とそれに付随する関連する .Net ビットで開発を行ってきました。プレリリース ソフトウェアに関連するさまざまな問題から実機を保護するために、すべての開発作業を仮想マシン内で行いました。それは驚くほどうまくいきました。物理ハードウェアのアップグレードが簡単になるため、そのモデルに戻すことを検討していました (マシン全体を交換するだけでハードウェア障害に対処しやすくなるのは言うまでもありません)。VM イメージをコピーするだけです。
私の現在のマシン (4 GB の RAM を搭載した Core2Duo) では、1 つの VM を実行したときのパフォーマンスの低下はほとんど目立ちません。ただし、2 つの VM を実行するのは面倒です。
また、VMWare Server を 2 つのモニターでうまく動作させる方法もわかりません。
私は最近、Linux 上の Windows XP vm を使用して Visual Studio でいくつかの作業を行っていましたが、どういうわけか vm (vmware) を作成した人が実際に Windows マシンをより高速に実行できるようにしました。確認するためにいくつかの時間テストを行いましたが、それは大きな問題ではありませんでしたが、いくつかのこと (たとえば、オートコンプリート) は実際により速く表示されました。
Windows を使用している場合、Virtual PC は開発作業に適しています。VMWare Virtual Server は実際にはデスクトップとして使用するようには設計されておらず、長時間使用すると非常に疲れます。Sun の VirtualBox は、Virtual PC と競合するもう 1 つのオプションです。VMWare にはワークステーション製品がありますが、無料ではありません。
通常、私は実際のデスクトップ (非仮想) で開発を行ってから、簡単にスナップショットを作成してロールバックできる仮想マシンに展開またはテストします。
VM でテストするほど、VM で開発したくはありません。たとえば、複数の VM をセットアップして n 層アーキテクチャをエミュレートしたり、クライアント/サーバーのセットアップを行ったり、最後に複数の OS でコードをテストしたりすると便利な場合があります。
通常の作業マシンにインストールしたくないソフトウェアに関連する何かを行っている場合や、必要な特定のイベントを回避する必要がある場合を除いて、それが開発プラットフォームとして非常に役立つかどうかはわかりません。定期的にリセットできます。少なくとも VM のみがクラッシュするため、コンピューターがクラッシュするリスクがあるコードを使用している場合にも便利です。
さまざまな構成とセットアップをテストするのに最適です-インストーラーなどで作業します。これは、私に関する限り、仮想化が本当に優れている場所です。必要なときにいつでも物事をロールバックし、繰り返し実行できることは、識別に驚くほど役立ちますエンド ユーザーが問題に遭遇する前に問題を解決します。
自宅で開発を行っている間、イントラネット上にあるコラボレーション ツールを使用できるようにするには、会社に VPN 接続する必要があります。また、Synergy を介して接続されたデスクトップ + ラップトップもあります。
私が抱えている問題は、VPN ソフトウェアが非常に安全であることを望んでいるため、追加の NIC を使用して別のプライベート ネットワークを介してデスクトップとラップトップをネットワーク化している場合でも、VPN ゲートウェイを介してすべてのネットワーク ルーティングを強制することです。最終結果として、デスクトップとラップトップの間の Synergy と会社への VPN を同時に使用することはできません。
同僚から提案された解決策は、デスクトップに VM インスタンスをセットアップし、それをすべての VPN ニーズに使用することでした。魔法のように動作します!
何をどの言語で開発しているかによって異なります。
VM はディスク アクセスにかなり大きな影響を与える傾向があるため、特に大規模な C/C++ プロジェクトの場合、コンパイルが大幅に遅くなる可能性があります。これが .NET/Java でこのような問題になるかどうかはわかりません。
グラフィックスを多用するもの (3D、ビデオなど) を実行している場合は、VM も避けます。
Windows 7 の Ubuntu VM で Java を開発した個人的な経験から言えば、これは非常に生産的であることがわかりました。主な理由は、地上のローカル IT サポートが Windows 7 をサポートしているためです。そのため、Windows のすべてのローカル ファイル共有やプリンターにアクセスしたり、Ubuntu VM を心ゆくまで構成したりできます。
リモート アクセスとデスクトップ共有に関して、生産性が大幅に向上します。Windows を使用すると、logmein.com や join.me などのツールを非常に迅速かつ簡単に使用して、自宅から自分のマシンにアクセスしたり、デスクトップで VM を社内の他のユーザーと共有したりできました (どちらもほぼフルスクリーン ウィンドウで VM をシームレスに操作できます)。 . これらのサービスはどちらも Linux ではサポートされていないため、関連するすべての VNC/X セットアップとネットワーク構成を Ubuntu で処理したくありません。
私のマシンはかなり頑丈です。クアッド コア、16Gb RAM - VM 用に 8Gb。VM での Java 開発は非常に高速です。