ぼくのかんがえたさいきょうかいはつかんきょう
どういうこと?
VMWare Player が 5.0 になったときに、ライセンスの解釈が変わったとかどうとかで、仕事の開発環境として VMWare Player が利用できなくなったとかいう話がありました。(結論どうでしたっけ??)
それからしばらくして、開発が停滞していた(と思われていた) VirtualBox も 5.0 がリリースされ、メンテナンスリリースもされるなど、活発な開発が行われているように見えることから、個人的な Linux 開発環境についても見直しを行ってみるか!という気分になりました。
期待する環境
MUST
- パフォーマンスが良いこと
- 業務用と個人用で共通化したい
SHOULD
- バックグラウンド実行したい(サービス化でも良い)
- HDDイメージは圧縮可能であること(肥大化後のシュリンク)
MAYBE
- VT on VT ができること
なんか、他にもあった気がしましたが、思い出したら追記します。。。
ともかく、いろいろ考えた結果、 VirtualBox にすることにしました。
やはり、 VMWare だとライセンスの解釈で業務では使えない可能性があるのがネックでした。
上記の期待を VMWare と VirtualBox に当てはめると、以下のようになりました。
項目 | 比較 | 備考 |
---|---|---|
パフォーマンス | VMWare > VirtualBox | 世間的な評価だけだが、体感的な差はない!? |
業務利用 | VMWare << VirtualBox | ライセンス的には VirtualBox は安心。 |
バックグラウンド実行 | VMWare < VirtualBox | VMWare も外部アプリでサービス化できるが、標準対応している VirtualBox にはかなわない。 |
HDDイメージ圧縮 | VMWare < VirtualBox | VMWare Player は標準では圧縮ツールが付属されないらしい。。。 |
VT on VT | VMWare > VirtualBox | VirtualBox は随分前からチケットがあるけど対応されていない。。。 |
そもそも、 Linux をメインにすればいいんじゃね!?という発送もあるのですが、お家では Windows がプリインストールしかないので、試すことができないのです。。。
インストールしたいツール
とりあえず、開発環境として以下のツールは導入したい。
目的 | ツール | 備考 |
---|---|---|
サーバのコンテナ化 | Docker | トライ済み |
プロジェクト管理 | OpenProject | 今までは Trac を長年使用 |
バージョン管理 | git | 業務で長年使用 |
コードホスティング | kallithea | トライ済み |
CI | Jenkins | トライ済み |
モダンなビルド環境 | cmake | トライ済み |
モダンなコンパイル環境 | llvm+clang | トライ済み |
レガシィなコンパイル環境 | gcc | 業務で長年使用 |
静的解析 | cppcheck | 検討中 |
ユニットテスト | CppUTest | トライ済み |
コードドキュメンテーション | Doxygen | トライ済み |
ドキュメントジェネレータ | pandoc | Markdown -> reStructuredText or Word |
ドキュメントジェネレータ | sphinx | reStructuredText -> Html or PDF |
ドキュメント解析 | RedPen | 検討中 |
ドキュメント(技術文書)については、編集の容易さ、差分確認やドキュメント解析(をやりたい)の観点から、軽量マークアップ言語からの変換で納品に耐えられるフォーマット(想定は Word)にたどり着くように試してみたい。 (先人の記事などで、後工程でのトラブルは発生することをある程度覚悟しているが、やはり試したい)
現状は Markdowns (flavored github) を検討しているが、 AsciiDoc も気になる。。。
ただし、 AsciiDoc は pandoc での変換入力に対応していないので、 AsciiDoc → DocBook → reStructuredText のように変換が増えるので、どのような感じになるか試す必要がある。
少しでも、業務にフィードバックできれば、残業時間の完全コントロールも夢じゃない!かも!?