2011年12月31日土曜日

[Intellij]InttelijでjQueryを使ってみよう

IntelliJ IDEA Ultimate EditionではjQueryをサポートしているので、関数補完などを使いながら開発を行うことができます。
IDEでごりごり書いた方が、生産性あがるはずなので、IntellijでのjQueryライブラリの使い方を調べてみたと。

jQueryのライブラリを自分でダウンロードする場合

1.jQueryのサイトからjQueryのライブラリをダウンロードして任意のディレクトリに保存する。

2.Project Structure画面を開く

3.左側のメニューからGlobal Librariesを選択する。

4.「+ボタン」→「JavaScript」の順に選択する。(下の画像のように選択していく)

5.1で保存したjQueryのライブラリ(jquery-<バージョン番号>.js)を選択する。

6.左側のメニューからModulesを選択する。

7.jQueryを使用するModuleを選択して、依存ライブラリに5で追加したjQueryのライブラリを登録する。
登録すると下の画像のようにjQueryのライブラリが依存ライブラリにでてきます。
※Dependenciesタブを選択し、左下の「+ボタン」→「Library...」から5で登録したライブラリを選択出来ます。

Intellijの機能でダウンロードする場合

Inttelijには、JavaScriptのライブラリをダウンロードしてくれる機能があるので、
この機能を使うと依存ライブラリの設定まで簡単に行うことが出来ます。

1.Settings画面を開く

2.左側のメニューからJavaScriptLibrariesを選択する。(Project Settingsにあります)

3.Download from...のリンクをクリックしDownload LibraryのWindowでjQueryを選択してダウンロードする。(ちょっと古いバージョンみたいです。)
これで、依存ライブラリとしてjQueryのライブラリが設定されます。簡単ですね。

動作を確認してみよう

補完がちゃんと有効になってるみたい。使いやすいかわからないけど、とりあえずjQueryの勉強しつつ使ってみよう。

2011年12月13日火曜日

[Oracle]テキストリレラルの使用方法

Oracleでシングルクォート(')を文字列中で使う場合、シングルクォートでエスケープ必須だと思ってましたが、
代替引用メカニズムなるものを使用してrubyっぽくエスケープをせずにリテラルが定義できるみたいです。

マニュアルはこちら
http://docs.oracle.com/cd/E16338_01/server.112/b56299/sql_elements003.htm#i42617

従来までのリテラルの使い方
SQL> select 'hoge''s' from dual;

'HOGE''S'
------------
hoge's

大替引用メカニズムなるものを使用するとかんな感じになります。
q(Q)'任意の文字(開始)<文字列>任意の文字(開始文字に対応した終了文字)'

SQL> select Q'{hoge's}' from dual;

Q'{HOGE'S}'
------------
hoge's

任意の文字の部分には、何でも使用できるのでこんな感じでもいけちゃいます。ものすごくわかりづらいですが。
SQL> select Q'ahoge'sa' from dual;

Q'AHOGE'SA'
------------
hoge's

2011年12月9日金曜日

[Intellij]コード補完を使いこなそう

Intellijには、3種類の補完方法が存在します。
Eclipseだと、補完といったらCtrl + Spaceだけ使っていたらいいと思うけど、Intellijだとこの3種類をうまく使いこなせないと、ちょっと残念な感じになってしまう。

ちなみに、3種類の補完は下の画像のように「Code」→「Completion」から使うことが出来ます。(マウス操作で使うことはまずないと思うけど)

それぞれの補完機能の説明

Basic補完

基本的な補完機能。EclipseのCtrl + Spaceで出来る補完機能と同じ感じの補完となる。(Eclipseとは少し違うかもしれませんが、勝手な想像で書いています)
そのスコープ内で使用可能な変数などをもとに補完候補を表示するので、変数やパラメータとして使用出来ないデータ型のものも候補として表示される。

使いどころとしては、変数やパラメータの補完よりかはメソッドの修飾子やthrows節の例外のようにそこで使用する修飾子やクラスや変数が自明な場合に使用します。(と勝手に思っています。)
こんな感じに補完候補が表示されます。

例えばメソッドの引数でBasic補完を使うと、データ型が一致していて代入可能なものがあればその変数を候補として上位に表示してくれます。
下の画像のように、mのパラメータがStringなのでString型の変数が上位に表示されます。

使い方を間違えるとこんな感じに意味のないものが列挙されちゃったりもします。これは間違った使い方だと勝手に思ってますが。

ほかにもpropertyファイルのキー値をこんな感じで補完してくれたりします。ほかにも色々やってくれると思います。(たぶん)


SmartType補完

SmartType補完は、そこで利用可能なもののみにフィルタをかけて候補を表示してくれます。Basic補完のように使用可能な変数やクラスを候補として列挙することはなく、使用可能なものがなければ、ないよと教えてくれます。
この補完にであって、IDEってすげーって思った記憶があります。

使い方としては、変数宣言時の右辺やreturn文などで使います。俺は、補完よりもリファクタリング機能のIntroduce Variable使っちゃうことが多いけど、なれてきたら補完とリファクタリングをうまく使い分けれるようなると思います。

SmartType補完が有効に使える場所
  • 変数宣言時の初期化
  • 初期化で必要なコンストラクタ呼び出しや、メソッド呼び出しなど
  • 変数呼び出しのパラメータ
  • return文
Basic補完との違いは、下の画像を見るとわかると思います。

ClassName補完

補完候補としてクラス名を列挙してくれる機能です。
主に変数宣言時に使いますが、この補完機能を文字列内で使うと選択したクラスの完全修飾名を挿入してくれます。

例えば・・・
java.util.ArrayListを補完候補から選択した場合、文字列には"java.util.ArrayList"が挿入されます。

また、Class Name補完はクラスパス配下にあるファイルも候補として表示してくれます。
なので、クラスパス配下にあるpropertiesやxmlなどのパスを入力する時に、この補完をつかうと入力の手間を減らすことが出来ます。

イメージ的には、こんな感じに補完されます。

補完の俺設定

こだわりがあるのは、Case sensitive completionはFirst letterにしるのと、
ドキュメントとパラメータのポップアップを切ってる部分かな。