CloudとNetBeansのSweetな関係

記事タイトルとURLをコピーする

初めまして、開発メンバーのhiroです。 本日はCloudとNetBeansのSweetな関係について
書きたいと思います。

ここ数年JavaでWebアプリを作っていましたが、久しぶりに
PHPでWebアプリを作っています。

AWSを使って開発していますが、Cloudを使っていない時代は
Linuxサーバを開発用・動作確認用の最低2台をプロジェクト毎に
用意し、ローカルでテキストエディタを使って作ったスクリプトを
FTP経由で手動でアップして開発していました(サーバ上に
リモートログインしてviやvim,emacsなどのテキストエディタで
スクリプトを書いている猛者もいます)。

この手動アップロードが思いのほか手間で、ローカルでWebや
DBサーバを動かし、スクリプト編集即確認できる環境で
開発する人も多くいると思います。

しかし、プロジェクトが複数あると、ローカルに動作環境を
作ることは難しい、というよりも不可能になってきます。
実際の動作環境がまちまちなためです。また、プロジェクトが
増えるときだけでなく、開発メンバーが増えたときも環境を
用意する必要があります。ローカルに同じ環境を用意するのは
各メンバーの環境に対応する必要もあるため、かなり手間な
作業になります。

その点、AWSでは動作環境のコピーはブラウザ上でいくつか
必要な事を指定すれば簡単に行えます。仮想OSを使い、自前で
複製することはできますが、AWSに比べると手間がかかります。

ただ動作環境が簡単に複数作れても、プログラムをコピーする
手間が消える訳ではありません。

そこで、Javaの開発元が中心となって提供しているオープンソースの
開発環境のNetBeansの出番です!

※以後Mac上での説明になります。Windowsユーザの方は
適宜読み替えてください。

インストール



まず、PHPの開発に対応したものをダウンロードサイトから
ダウンロードしてきます。
※JDK1.6が必要なので、別途インストールしてください。

アプリケーションフォルダへ配置し、よく使う方はドッグに
置きましょう。

チェックアウト



まずはSubversionのリポジトリに登録してあるSymfony1.4の
プロジェクトをチェックアウトします。



・チェックアウトに必要な情報を適宜設定してください。

・チェックアウトするリポジトリフォルダを選び、チェック
アウト先のローカルフォルダの指定をします。


/Users/ユーザアカウント/NetBeansProjectsの下あたりに
好きな名前でフォルダを指定しましょう。同じプロジェクトを
ローカルに複数チェックアウトするには、ここのローカルフォルダで
別のフォルダを指定して、チェックアウト先を変更すればOKです。

チェックアウト後に NetBeansプロジェクトをスキャンを
チェックすると、チェックアウト後にプロジェクトが作成されます。



プロジェクト設定



プロジェクトが作成されたら、プロジェクトを右クリックし
プロパティを開きます。

まず、ソースで、エンコーディングやPHPのバージョンを選択します。



次に、実行構成を開き、実行方法を「リモートWebサイト(FTP、
SFTP)」を指定します。プロジェクトURL、開始ファイルを
適宜設定し、アップロードを「保存時」に設定します。



リモート接続の管理をクリックし、Symfonyが動作するサーバへの
接続設定を行います。
※ここで接続テストできますので、すぐに確認できます。



うごかしてみよう!



これで、ローカルでSymfonyプロジェクトを開発・動作させる準備が
整いました。
※動作環境のサーバ側にもチェックアウトしたファイルを置く必要が
あります。NetBeansからアップする事も可能ですが、ファイル数が多く
時間がかかるため、サーバ上で直接チェックアウトしてください。

左にあるプロジェクトウィンドウにプロジェクトの一覧が表示されるので
ファイルを編集して保存してみましょう。



すると、自動でローカルのファイルがサーバ側へコピーされ
変更内容が直ぐに反映されます。1ファイルをアップする時間は
1,2秒ほどと、純粋なファイルコピー時間で考えると遅いですが
体感上は一瞬で、まさにNetBeansとCloudが一体化している感覚です!
気分はまさしく、コレ!



ですが、まだまだSweetと呼ぶには不十分だと思うので
NetBeansの便利さの一部をご紹介します。

Symfonyコマンド



プロジェクトを右クリックし、「Symfony→コマンドを実行」で
Symfonyコマンドの一覧が出てきてローカルでSymfonyコマンドを
実行できます。正確なコマンド名を思い出せなくても、フィルタに
buildなどといれると、buildを含むコマンドを絞り込んでくれるので
労力を減らせます。ダイアログを開いたまま、実行する事も可能で
連続して実行可能です。



コード補完



エディタでメソッドの入力途中にコマンドキーを押しながら¥を押すと
(WindowsはCtrl+Space)、メソッドの候補一覧が出てきます。
メソッドをクリックするとメソッドに書いたコメントが表示され
どんな機能なのかがわかります。
※常にクラスやメソッドにコメントを書く癖をつけると、後になって
苦労が十二分に報われます。

続けて確定すると引数を入力するモードになり、入力ミスを
減らしてくれます。引数のデフォルト値はメソッドの引数に
書いた変数名になります。

また、メソッドが実際にどんな事をやっているのか知りたい
場合にはコマンドキーを押しながらクリックすると(Windowsでは
Ctrl+クリック)そのソースへ移動する事ができます
(クラスに対しても同じ事ができます)。

リファクタリング



クラス名やメソッド名をかえたい場合、クラス/メソッドを
右クリックして、「リファクタリング」→「名前を変更」を
実行し、新しい名前を入れてプレビューを押すと、実際に
そのクラス/メソッドを使っているところまで同時に
変更してくれます(変数名の変更も可能です)。
※ただし、PHPの型指定は大変緩やかなので、NetBeansが
型を認識できず、リファクタリングが全部はできない場合もあります。



ソースの整形



コード規約等がある場合にも、ソースを右クリックして
整形を実行すれば



一発でソースをフォーマットしてくれます。



労力を多いに省いてくれます。
※フォーマットについては、環境設定で細かく設定できます。

タスクウィンドウ



プログラム途中で中断すると、何をすべきか忘れてしまう事もあります。
そんな時はソースコメントに@TODO,@FIXME等でコメントを書きましょう。

するとタスクウィンドウに一覧が出てきます。



モックアップを作っているとき等にこれから作成する処理を@TODOでコメントしたり
バグや問題がある部分に@FIXMEをつける癖を付けていけば、対応漏れも減らせます。

とまだまだ一部ですが(十分多い?)、NetBeansの便利な機能を
ご紹介させていただきました。CloudとNetBeansの組み合わせで
多くのプロジェクト開発に対応した便利な開発環境を構築できるのが
おわかりいただけたかと思います。

まさに、開発者にとってはSweetな関係です!