<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>プラネット NetBeans</title>
	<link>http://www.planetnetbeans.org/ja/</link>
	<language>ja</language>
	<description>プラネット NetBeans - http://www.planetnetbeans.org/ja/</description>

<item>
	<title>きしだのはてな: [java][java8]Java8で体験するオブジェクトと関数の狭間</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20130519#1368919112</guid>
	<link>http://d.hatena.ne.jp/nowokay/20130519#1368919112</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;Java8でlambda構文が導入されることで、Java言語も関数型のような性質をもつことになりました。&#60;/p&#62;
			&#60;p&#62;関数型の性質として大事なことのひとつに、関数を戻り値として返せるということがあります。lambda構文によって、Javaでも表記上は関数を戻り値として返すことが可能になったわけです。&#60;/p&#62;
			&#60;p&#62;で、関数を戻り値として返せるとどうなるかというと、関数をオブジェクトのように使えるようになります。まあ、Javaでは関数といっても普通のオブジェクトとして扱われるので、関数としてオブジェクトのようなものが記述できる、ということになります。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;では実際に、オブジェクトのようなものを関数として記述してみます。&#60;/p&#62;
			&#60;a name=&#34;seemore&#34;&#62;&#60;/a&#62;

&#60;pre class=&#34;syntax-highlight&#34;&#62;    &#60;span class=&#34;synType&#34;&#62;public&#60;/span&#62; &#60;span class=&#34;synType&#34;&#62;static&#60;/span&#62; Function&#38;lt;String, Object&gt; myFunc(String name, String address, LocalDate birthday){
        &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; prop&#60;span class=&#34;synError&#34;&#62; -&gt;&#60;/span&#62; {
            &#60;span class=&#34;synStatement&#34;&#62;switch&#60;/span&#62;(prop){
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;name&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; name;
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;address&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; address;
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;birthday&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; birthday;
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;introduce&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; (Runnable)()&#60;span class=&#34;synError&#34;&#62; -&gt;&#60;/span&#62; {
                    System.out.printf(&#60;span class=&#34;synConstant&#34;&#62;&#34;わたしは%s。%sに住んでて%tY年%&#38;lt;tm月%&#38;lt;td日生まれ%n&#34;&#60;/span&#62;, 
                            name, address, birthday);
                }
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;age&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; (Function&#38;lt;LocalDate, Integer&gt;)d&#60;span class=&#34;synError&#34;&#62; -&gt;&#60;/span&#62;
                        birthday.periodUntil(d).getYears();
            }
            &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; &#60;span class=&#34;synConstant&#34;&#62;null&#60;/span&#62;;
        }
    }
&#60;/pre&#62;

			&#60;br /&#62;

			&#60;p&#62;ここでは、文字列でname、address、日付でbirthdayを受け取ると、「文字列をうけとってオブジェクトを返す関数」を返すような関数を定義しています。&#60;/p&#62;
			&#60;p&#62;ちなみに、NetBeansのデイリービルド201305152300版では、コンパイルエラーと表示されます。&#60;/p&#62;
			&#60;p&#62;※ returnのあとのセミコロンがなくてもb88でコンパイル通るというのが原因ぽい。これは仕様？&#60;/p&#62;
			&#60;p&#62;※2 b89だとコンパイルエラーになるらしい。残念。セミコロン追加してください。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;このmyFuncをこんな感じで呼び出しますね。&#60;/p&#62;
&#60;pre class=&#34;syntax-highlight&#34;&#62;Function&#38;lt;String, Object&gt; func = myFunc(&#60;span class=&#34;synConstant&#34;&#62;&#34;きしだ&#34;&#60;/span&#62;, &#60;span class=&#34;synConstant&#34;&#62;&#34;ふくおか&#34;&#60;/span&#62;, LocalDate.of(&#60;span class=&#34;synConstant&#34;&#62;2007&#60;/span&#62;, &#60;span class=&#34;synConstant&#34;&#62;5&#60;/span&#62;, &#60;span class=&#34;synConstant&#34;&#62;26&#60;/span&#62;));
System.out.println(func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;name&#34;&#60;/span&#62;));
System.out.println(func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;address&#34;&#60;/span&#62;));
System.out.println(func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;birthday&#34;&#60;/span&#62;));
&#60;/pre&#62;

			&#60;br /&#62;

			&#60;p&#62;表示はこうなります。&#60;/p&#62;
			&#60;blockquote&#62;
			&#60;p&#62;きしだ&#60;/p&#62;
			&#60;p&#62;ふくおか&#60;/p&#62;
			&#60;p&#62;2007-05-26&#60;/p&#62;
			&#60;/blockquote&#62;
			&#60;br /&#62;

			&#60;p&#62;もどってきた「関数」が、name・address・birthdayといった属性をもっているようにふるまっています。myFuncはコンストラクタのような役割になっていますね。&#60;/p&#62;
			&#60;p&#62;定義では、文字列「name」を受け取ったらmyFuncの第一引数を返すといった「関数」をlambda構文で記述していて、クラスやオブジェクトを定義・生成するような構文は使っていません。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;メソッドはどうでしょう？「introduce」という引数で「関数」を呼び出すと、Runnableオブジェクトが返ってきます。これは引数をもたず戻り値もない処理をあらわします。&#60;/p&#62;
&#60;pre class=&#34;syntax-highlight&#34;&#62;Runnable introduceProc = (Runnable)func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;introduce&#34;&#60;/span&#62;);
introduceProc.run();
&#60;/pre&#62;

			&#60;br /&#62;

			&#60;p&#62;これを呼び出すと、次のように表示されます。&#60;/p&#62;
			&#60;blockquote&#62;
			&#60;p&#62;わたしはきしだ。ふくおかに住んでて2007年05月26日生まれ&#60;/p&#62;
			&#60;/blockquote&#62;
			&#60;p&#62;ちゃんと、myFuncに渡した値が使われていますね。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;引数をもつメソッドも定義できています。日付を渡すと、その時点での年齢を返してくれます。&#60;/p&#62;
&#60;pre class=&#34;syntax-highlight&#34;&#62;Function&#38;lt;LocalDate, Integer&gt; ageFunc = (Function&#38;lt;LocalDate, Integer&gt;)func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;age&#34;&#60;/span&#62;);
System.out.println(ageFunc.apply(LocalDate.now()) + &#60;span class=&#34;synConstant&#34;&#62;&#34;歳&#34;&#60;/span&#62;);
&#60;/pre&#62;

			&#60;br /&#62;

			&#60;p&#62;次のように、正しく表示されますね。&#60;/p&#62;
			&#60;blockquote&#62;
			&#60;p&#62;5歳&#60;/p&#62;
			&#60;/blockquote&#62;
			&#60;br /&#62;

			&#60;p&#62;このように、myFuncを呼び出して返ってきた「関数」が、オブジェクトのように使えることがわかりました。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;このような、関数をオブジェクトのように扱う記述は、関数を値として扱えるような言語では比較的自然に記述することができるのですが、Javaではlambda構文で関数の記述はできるようになったものの値としてはオブジェクトとして扱われるので、非常にイビツな記述になっています。&#60;/p&#62;
			&#60;p&#62;コードの説明も、やはりちょっと苦しいです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ただ、これが、なんだかオブジェクトと関数の狭間に迷い込んだことをあらわしていて非常に面白いなと思いました。&#60;/p&#62;
			&#60;p&#62;ちなみに、2007年5月26日は、Twitterをはじめた日なので、誕生日として扱っても間違いないです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;全体は次のようになります。&#60;/p&#62;
&#60;pre class=&#34;syntax-highlight&#34;&#62;&#60;span class=&#34;synPreProc&#34;&#62;import&#60;/span&#62; java.time.LocalDate;
&#60;span class=&#34;synPreProc&#34;&#62;import&#60;/span&#62; java.util.function.Function;

&#60;span class=&#34;synType&#34;&#62;public&#60;/span&#62; &#60;span class=&#34;synType&#34;&#62;class&#60;/span&#62; FuncObj {
    &#60;span class=&#34;synType&#34;&#62;public&#60;/span&#62; &#60;span class=&#34;synType&#34;&#62;static&#60;/span&#62; &#60;span class=&#34;synType&#34;&#62;void&#60;/span&#62; main(String&#60;span class=&#34;synIdentifier&#34;&#62;...&#60;/span&#62; args){
        Function&#38;lt;String, Object&gt; func = myFunc(&#60;span class=&#34;synConstant&#34;&#62;&#34;きしだ&#34;&#60;/span&#62;, &#60;span class=&#34;synConstant&#34;&#62;&#34;ふくおか&#34;&#60;/span&#62;, LocalDate.of(&#60;span class=&#34;synConstant&#34;&#62;2007&#60;/span&#62;, &#60;span class=&#34;synConstant&#34;&#62;5&#60;/span&#62;, &#60;span class=&#34;synConstant&#34;&#62;26&#60;/span&#62;));
        System.out.println(func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;name&#34;&#60;/span&#62;));
        System.out.println(func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;address&#34;&#60;/span&#62;));
        System.out.println(func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;birthday&#34;&#60;/span&#62;));
        
        Runnable introduceFunc = (Runnable)func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;introduce&#34;&#60;/span&#62;);
        (introduceFunc).run();
        
        Function&#38;lt;LocalDate, Integer&gt; ageFunc = (Function&#38;lt;LocalDate, Integer&gt;)func.apply(&#60;span class=&#34;synConstant&#34;&#62;&#34;age&#34;&#60;/span&#62;);
        System.out.println(ageFunc.apply(LocalDate.now()) + &#60;span class=&#34;synConstant&#34;&#62;&#34;歳&#34;&#60;/span&#62;);
    }
    &#60;span class=&#34;synType&#34;&#62;public&#60;/span&#62; &#60;span class=&#34;synType&#34;&#62;static&#60;/span&#62; Function&#38;lt;String, Object&gt; myFunc(String name, String address, LocalDate birthday){
        &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; prop&#60;span class=&#34;synError&#34;&#62; -&gt;&#60;/span&#62; {
            &#60;span class=&#34;synStatement&#34;&#62;switch&#60;/span&#62;(prop){
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;name&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; name;
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;address&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; address;
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;birthday&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; birthday;
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;introduce&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; (Runnable)()&#60;span class=&#34;synError&#34;&#62; -&gt;&#60;/span&#62; {
                    System.out.printf(&#60;span class=&#34;synConstant&#34;&#62;&#34;わたしは%s。%sに住んでて%tY年%&#38;lt;tm月%&#38;lt;td日生まれ%n&#34;&#60;/span&#62;, 
                            name, address, birthday);
                }
                &#60;span class=&#34;synStatement&#34;&#62;case&#60;/span&#62; &#34;age&#34;: &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; (Function&#38;lt;LocalDate, Integer&gt;)d&#60;span class=&#34;synError&#34;&#62; -&gt;&#60;/span&#62;
                        birthday.periodUntil(d).getYears();
            }
            &#60;span class=&#34;synStatement&#34;&#62;return&#60;/span&#62; &#60;span class=&#34;synConstant&#34;&#62;null&#60;/span&#62;;
        }
    }
}
&#60;/pre&#62;

		&#60;/div&#62;</description>
	<pubDate>Sat, 18 May 2013 23:18:32 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][life] Java Day Tokyo 2013でIDEバトルやってきました</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20130517/1368797978</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20130517/1368797978</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;&#60;a href=&#34;https://oj-events.jp/public/application/add/64&#34; target=&#34;_blank&#34;&#62;https://oj-events.jp/public/application/add/64&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;血で血を洗う勝者なき闘い！！...なんてことはなく，和気藹々とやりましたよ。&#60;/p&#62;
			&#60;p&#62;こんな面白い企画に誘って頂き関係者の皆さん（＆出張扱いにしてくれた弊社）には感謝です。こんな場所で話せるほどIntelliJがメジャーになったと思うと感慨深いものがありますね。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;みんな気付いているけど，これが真実だよね。&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/rewtheblow&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/1350491780/ryu_normal.JPG&#34; alt=&#34;rewtheblow&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      好きなものを使うのが一番w     &#60;a href=&#34;http://twitter.com/search?q=%23idewars&#34; target=&#34;_top&#34;&#62;#idewars&#60;/a&#62; &#60;a href=&#34;http://twitter.com/search?q=%23jdt2013&#34; target=&#34;_top&#34;&#62;#jdt2013&#60;/a&#62;
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/rewtheblow/status/334192244858945536&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-05-14&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;15:23:34&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://twicca.r246.jp/&#34; rel=&#34;nofollow&#34;&#62;twicca&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;p&#62;そんでもご贔屓のツールについて語るのも聴くのも楽しいんだからしょうがない。:-)&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;当日&#60;del datetime=&#34;2013-05-17T22:39:38+09:00&#34;&#62;モデレータとグルになった広報活動&#60;/del&#62;では伝えきれなかった点について若干補足しときます。IntelliJの特徴で伝え損ねたのですが，これの最大の特徴は，これだと思ってます。&#60;/p&#62;
&#60;pre&#62;基本的なコンセプトは，使う人が 『いろいろ』 知ってる前提でサポートするIDEで、
やりたいことが，よく知らなくても何とかしてくれる系ではないです
&#60;/pre&#62;

			&#60;br /&#62;

			&#60;p&#62;EclipseのCtrl+2みたいな「これだけ知ってれば何とかなる」みたいな機能は少なめですし，NetBeansのように「細けぇ事は気にするな」的なお手軽さはありません。「なんでもしてやるから指示しな」「ダメだったら文句言ってやる」となかなかスパルタンなところがあります。(´・ω・`)&#60;/p&#62;
			&#60;p&#62;裏を返すと，やりたいことがハッキリしてれば，その手順を邪魔しないし，絶妙なアシストをしてくれます。そんなIDEですが，クセが強いのであわない人はあわないだろうな...。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;テキストエディタと異なるIDEのメリットについては，きしださんがキレイにまとめてくれました。&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/aoetk&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/112831123/qoo_normal.jpg&#34; alt=&#34;aoetk&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      「IDEが良い書き方を教えてくれる」これは確かに！ &#60;a href=&#34;http://twitter.com/search?q=%23ideawars&#34; target=&#34;_top&#34;&#62;#ideawars&#60;/a&#62; &#60;a href=&#34;http://twitter.com/search?q=%23jdt2013&#34; target=&#34;_top&#34;&#62;#jdt2013&#60;/a&#62; &#60;a href=&#34;http://twitter.com/search?q=%23jdt2013e2&#34; target=&#34;_top&#34;&#62;#jdt2013e2&#60;/a&#62;
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/aoetk/status/334192814512558081&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-05-14&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;15:25:50&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://janetter.net/&#34; rel=&#34;nofollow&#34;&#62;Janetter for Mac&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;FindBugsやCheckstyleあたりをうまいこと使えばテキストエディタでも似たような事はできますが，シームレスさに置いてはIDEに軍配があがると思います。テキストエディタより動作が重くなる理由のひとつでもあるんだから，そこは認めとこう。&#60;/p&#62;
			&#60;p&#62;この手のお節介機能については，IntelliJも負けてないんだけど，頑張りすぎて項目が膨大になり互いに矛盾するものもあって，使いこなすのは&#60;del datetime=&#34;2013-05-17T22:39:38+09:00&#34;&#62;結構&#60;/del&#62;ちょっと大変。IntelliJ（Hectorおじさん）に指摘されたことを盲目的に信じずに「これは直す」「これはいいや」と取捨選択できないとうっとうしいだけだろな。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121224/1356275317&#34; target=&#34;_blank&#34;&#62; 24日目 Inspections &#38;amp; Intentions  - marsのメモ&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ps.&#60;/p&#62;
			&#60;p&#62;今までほとんどIntelliJユーザに遭遇したことがなかったので行くまで「IntelliJが流行ってるとかガセ」と思ってたら違ってた。東京すごい。&#60;/p&#62;
			&#60;p&#62;あとtwitterでしかあったことがない皆さま方も実在してた。現実すごい。&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      今日の成果: @&#60;a href=&#34;http://twitter.com/takezoen&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;takezoen&#60;/a&#62; さん @&#60;a href=&#34;http://twitter.com/_siosio_&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;_siosio_&#60;/a&#62; さん @&#60;a href=&#34;http://twitter.com/mike_neck&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;mike_neck&#60;/a&#62; さん、実在。 @&#60;a href=&#34;http://twitter.com/kikutaro_&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;kikutaro_&#60;/a&#62; さん @&#60;a href=&#34;http://twitter.com/shinsan68k&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;shinsan68k&#60;/a&#62; さん、不定（会えてない。
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/334272260741414912&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-05-14&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;20:41:32&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-right&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/yusuke&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/3567036650/db278e544b315d84022707ccab53bfb0_normal.jpeg&#34; alt=&#34;yusuke&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      @&#60;a href=&#34;http://twitter.com/masanobuimai&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;masanobuimai&#60;/a&#62; というか、みんなが@&#60;a href=&#34;http://twitter.com/masanobuimai&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;masanobuimai&#60;/a&#62; が実在するんだと確認した一日だと思うw
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/yusuke/status/334295594552139776&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-05-14&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;22:14:15&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://sites.google.com/site/yorufukurou/&#34; rel=&#34;nofollow&#34;&#62;YoruFukurou&#60;/a&#62;&#60;/span&#62; to @&#60;a href=&#34;http://twitter.com/masanobuimai/status/334272260741414912&#34; class=&#34;twitter-user-screen-name&#34;&#62;masanobuimai&#60;/a&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;(゜Д゜)ハッ!! これが「&#60;i&#62;深淵をのぞく時、深淵もまたこちらをのぞいているのだ。」&#60;/i&#62;と言うことか...。&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Fri, 17 May 2013 13:39:38 +0000</pubDate>
</item>
<item>
	<title>きしだのはてな: Java大好き男に「どのIDEが好き？」と訊ねられたとき、女はどう答えたらいいの？</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20130516#1368672852</guid>
	<link>http://d.hatena.ne.jp/nowokay/20130516#1368672852</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;あ、まず前提として、&#60;/p&#62;
			&#60;p&#62;貴女がJava大好き男を夢中にさせることが、&#60;/p&#62;
			&#60;p&#62;はたして貴女を幸福にするかどうか、それはまた別問題だけれど。&#60;/p&#62;
			&#60;p&#62;とはいえ、Java大好き男たちは玉石混交ながら、&#60;/p&#62;
			&#60;p&#62;大手SI系の給料高い男なども多く、&#60;/p&#62;
			&#60;p&#62;したがって、釣り師たる女たちにとっては、&#60;/p&#62;
			&#60;p&#62;なかなかあなどれない釣り場です。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;では、Java大好き男に「どのIDEが好き？」と訊ねられたとき、&#60;/p&#62;
			&#60;p&#62;貴女は、どう答えれば理想的でしょう？&#60;/p&#62;
			&#60;p&#62;まず最初に、その男がAndroidのようなタイプの携帯アプリと&#60;/p&#62;
			&#60;p&#62;あとはJavaScript、そして（アプリ公開するほどではないけれど）iPhoneアプリが大好きな、&#60;/p&#62;
			&#60;p&#62;そんなタイプの場合は、&#60;/p&#62;
			&#60;p&#62;貴女はかれの目を見て、微笑みとともに質問など無視して、こう言いましょう、&#60;/p&#62;
			&#60;p&#62;「わたしが、いいIDEを作ってあげる♪」&#60;/p&#62;
			&#60;p&#62;これこそまさに必殺の答えです。&#60;/p&#62;
			&#60;p&#62;そこでJava大好き男が、えへへ、とやにさがったならば、&#60;/p&#62;
			&#60;p&#62;貴女は、ひそかに、「IntelliJベースのAndroid開発ツール」あたりを&#60;/p&#62;
			&#60;p&#62;ひそかに開発しておきましょう。これで成功まちがいなしです。&#60;/p&#62;
			&#60;a name=&#34;seemore&#34;&#62;&#60;/a&#62;

			&#60;br /&#62;

			&#60;p&#62;しかし、ここでは、もう少しハイブロウな（？）いわゆるOracle Java好きの男の&#60;/p&#62;
			&#60;p&#62;落とし方をお伝えしましょう。&#60;/p&#62;
			&#60;p&#62;この場合、貴女は、こう答えましょう、&#60;/p&#62;
			&#60;p&#62;「わたしは、NetBeansが好き。&#60;/p&#62;
			&#60;p&#62;zipでよく落とすの、、&#60;/p&#62;
			&#60;p&#62;最初から日本語化されてるのも、大好き♪」&#60;/p&#62;
			&#60;p&#62;もしも貴女がそう答えたならば、&#60;/p&#62;
			&#60;p&#62;その瞬間、Oracle Java大好き男の目はきらりと輝き、&#60;/p&#62;
			&#60;p&#62;かれの貴女への恋心は、&#60;/p&#62;
			&#60;p&#62;２０％増量になるでしょう。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;では、参考までに、危険な回答を挙げておきましょう。&#60;/p&#62;
			&#60;p&#62;Oracle Java大好き男に「どのIDEが好き？」と訊ねられたとき、&#60;/p&#62;
			&#60;p&#62;貴女がこう答えたとしましょう、&#60;/p&#62;
			&#60;p&#62;「OracleのJDeveloperが好き♪　毎年1案件は大手案件で使うの。」&#60;/p&#62;
			&#60;p&#62;その瞬間、Java大好き男の貴女への恋心は消えます、&#60;/p&#62;
			&#60;p&#62;なるほどJDeveloperは、Oracle製のJava IDE、&#60;/p&#62;
			&#60;p&#62;エディタは平凡ながら、ま、無難にまとめてあるものの、&#60;/p&#62;
			&#60;p&#62;しかし、「ADFコンポーネントはなんと30種類以上！」とかなんとか無意味な自慢を吹聴し、&#60;/p&#62;
			&#60;p&#62;Javaプログラム開発についての謬見を撒き散らした罪がありますから、Java大好き男にとっては天敵なんです。&#60;/p&#62;
			&#60;p&#62;また、もしも貴女が「JBuilderが大好き♪　あたしインストールしたBorlandツールたくさんあるよ♪」&#60;/p&#62;
			&#60;p&#62;と答えたとしても、同様の効果をもたらすでしょう、&#60;/p&#62;
			&#60;p&#62;なぜって、JBuilderは、1990年代にはJava屈指の名IDEだったものの、&#60;/p&#62;
			&#60;p&#62;しかし2000年代そうそうから、いやはやなんともなEclipseプラグインに転落し、&#60;/p&#62;
			&#60;p&#62;いまや、あの機能ではNetBeansの魅力に遥かに及びません。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;またもしもたとえあなたがJavaが大好きで、&#60;/p&#62;
			&#60;p&#62;「わたし、IntelliJのIDEAが好き、無料でも使えるけど、&#60;/p&#62;
			&#60;p&#62;最高に好きなのはUltimate Edition♪　Scalaプラグインもすっごく使いやすいの。」&#60;/p&#62;
			&#60;p&#62;と、答えたとしたらどうでしょう？&#60;/p&#62;
			&#60;p&#62;なるほど、貴女の趣味は高く、&#60;/p&#62;
			&#60;p&#62;たしかにIntelliJ IDEAは、外装が　chick であるのみならず、&#60;/p&#62;
			&#60;p&#62;機能も最高に使いやすいんですけれど、&#60;/p&#62;
			&#60;p&#62;しかし、貴女の答えを聞いて、Java大好き男はきっとおもうでしょう、&#60;/p&#62;
			&#60;p&#62;（なんだよ、お高くとまった女だな、カネかかりそう）って。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;貴女が、Javaが大好きで、IDEの名を挙げるにしても、&#60;/p&#62;
			&#60;p&#62;たとえば、Eclipseならば安心でしょう、&#60;/p&#62;
			&#60;p&#62;なぜならば、Eclipseは、ふつうのサラリーマンにもマニアにもともに愛されるめずらしいIDEで、&#60;/p&#62;
			&#60;p&#62;貴女がそのIDEを挙げても必ずしも、あなたがJavaおた宣言をしているとは受け取られないでしょう。&#60;/p&#62;
			&#60;p&#62;しかし、たとえば、vimにせよSublime Text 2にせよ、&#60;/p&#62;
			&#60;p&#62;そういうエディタの名前をいきなり挙げるのは、ちょっぴり微妙。&#60;/p&#62;
			&#60;p&#62;ましてや貴女が、「Emacsが大好き♪　わたし、もうほとんど全ソース、読んじゃった♪」&#60;/p&#62;
			&#60;p&#62;と答えたならば、どうでしょう？&#60;/p&#62;
			&#60;p&#62;これはかなり博打な答え方で、&#60;/p&#62;
			&#60;p&#62;なるほど、Emacsは、Unix系OSの超絶名エディタゆえ、&#60;/p&#62;
			&#60;p&#62;あなたがそう答えた瞬間、Java大好き男がいきなり超笑顔になって、&#60;/p&#62;
			&#60;p&#62;鼻の下がだら〜んと伸びちゃう可能性もあるにはありますが、&#60;/p&#62;
			&#60;p&#62;しかし、逆に、（なんだよ、この女、エディタおたくかよ）とおもわれて、どん引きされる可能性もまた大です、&#60;/p&#62;
			&#60;p&#62;なぜって、必ずしもJava大好き男がエディタ大好き女を好きになるとは、限らないですから。&#60;/p&#62;
			&#60;p&#62;しかも、この答えには、もうひとつ問題があって、&#60;/p&#62;
			&#60;p&#62;男たちは、女を導き高みへ引き上げてあげることが大好きゆえ、&#60;/p&#62;
			&#60;p&#62;もしも貴女が、「Emacsのマクロが大好き♪」なんて言ってしまうと、&#60;/p&#62;
			&#60;p&#62;そこにはもはや、男が貴女をプログラマ教育する余地がまったく残されていません、&#60;/p&#62;
			&#60;p&#62;したがって貴女のその答えは、&#60;/p&#62;
			&#60;p&#62;Java大好き男の貴女への夢を潰してしまうことに他なりません。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ま、ざっとそんな感じです、貴女の目には男たちはバカでスケベで鈍感に見えるでしょうが、&#60;/p&#62;
			&#60;p&#62;しかし、ああ見せて、男は男で繊細で、傷つきやすく、IDEに夢を持っています、&#60;/p&#62;
			&#60;p&#62;貴女の答え方ひとつで、男の貴女への夢は大きくふくらみもすれば、&#60;/p&#62;
			&#60;p&#62;一瞬で、しぼんでしまいもするでしょう。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;では、スキットを繰り返しましょう。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;「わたしは、NetBeansが好き。&#60;/p&#62;
			&#60;p&#62;zipでよく落とすの、、&#60;/p&#62;
			&#60;p&#62;最初から日本語化されてるのも、大好き♪」&#60;/p&#62;
			&#60;p&#62;そして、その瞬間、Java大好き男の目がらんらんと輝いたなら、&#60;/p&#62;
			&#60;p&#62;貴女はこう重ねましょう、&#60;/p&#62;
			&#60;p&#62;「それからね、いま、わたしが使ってみたい機能は、&#60;/p&#62;
			&#60;p&#62;Java8のLambda、素敵な文法って噂を聞いたから。&#60;/p&#62;
			&#60;p&#62;あなたのお暇なときがあったら、わたしをJava8へ連れてって♪」&#60;/p&#62;
			&#60;p&#62;これでもう完璧です。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そうなったらこっちのもの、&#60;/p&#62;
			&#60;p&#62;デートの日には、アイメイクをばっちり決めて、かわいい下着をつけて、&#60;/p&#62;
			&#60;p&#62;Java Oneか、デュークの可愛いTシャツを着てゆきましょう。&#60;/p&#62;
			&#60;p&#62;その日から、Java大好き男は貴女の虜になるでしょう。&#60;/p&#62;
			&#60;p&#62;では、釣り師としての貴女の、愛の幸運と幸福をお祈りします！&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;参考&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://tabelog.com/tokyo/A1301/A130101/13002457/dtlrvwlst/3464106/&#34; target=&#34;_blank&#34;&#62;インド料理大好き男に「どこの店が好き？」と訊ねられたとき、女はどう答えたらいいの？ : グルガオン GURGAON 食べログ&#60;/a&#62;&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Thu, 16 May 2013 02:54:12 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [CentOS][Java]Windows 8のHyper-V上にCentOS 6.4+GlassFish+Apache+PostgreSQL</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130504/1367691044</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130504/1367691044</link>
	<description>CentOSのインストール CentOS6.4だと凄い楽。最初からこのサイト見ておけばよかった・・・。 Windows 8 メモ / CentOS 6.4をHyper-Vにインストールする 続いて、GlassFishを入れるときに参考にしたサイト CentOS6.2にGlassFish3.1.2.2をインストールする Apacheの起動時のエラー対応 Apacheのエラー：Could not reliably determine the server’s fully qualified domain  ...</description>
	<pubDate>Sat, 04 May 2013 18:10:44 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Java]自宅PC（Windows）のJava環境メモ(JDK7/JDK8, NetBeans IDE)</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20130504/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20130504/p1</link>
	<description>JDK（Java SE 開発キット） 自宅PC（Windows 8 64bit）のJDKを、Java SE 7 u21にアップデートしました。OSは64bit版ですが、JDKは32bit版と64bit版の両方をインストールしています。Javaで書かれたプログラム（クラスファイル）だけなら64bit版Javaだけインストールしていれば動きますが、ネイティブコードを伴うプログラムは32bit版ネイティブコードの場合32bit版Javaが必要になるので両方をインストールしています。 次に、Java SE  ...</description>
	<pubDate>Sat, 04 May 2013 00:00:00 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][mac] Dash LauncherプラグインをIntelliJにインストールする</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20130421/1366534067</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20130421/1366534067</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;APIリファレンス＆スニペットブラウザのDashなんですが、設定見るとAppCodeと連携できるようです（NetBeansはありませんね...。|ω・`）チラッチラッ&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20130421173741&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20130421/20130421173741.png&#34; alt=&#34;f:id:masanobuimai:20130421173741p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20130421173741p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;https://itunes.apple.com/jp/app/dash-docs-snippets/id458034879?mt=12&#34; target=&#34;_blank&#34;&#62;Mac App Store - Dash (Docs &#38;amp; Snippets)&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;調べてみると、AppCodeのプラグインとして提供しているようだったので、ものは試しとIntelliJに入れてみたらアッサリ動いた。やったことと言えば、&#34;Tools-&gt;Search in Dash&#34;の割り当てキーが「&#60;b&#62;ctrl+SHIFT+D&#60;/b&#62;」で既存のキーマップと競合していたので、こっちを優先してあげたくらい。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20130421173038&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20130421/20130421173038.png&#34; alt=&#34;f:id:masanobuimai:20130421173038p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20130421173038p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;たぶん、これIntelliJ以外のJetBrains系IDEでも動くよね。DashのAppCode用プラグインは、Githubのプロジェクト内にある（Dash.jar）ので、それを取ってきてインストールするだけでよい。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;https://github.com/Kapeli/AppCodeDashSearch&#34; target=&#34;_blank&#34;&#62;Kapeli/AppCodeDashSearch ? GitHub&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;docset指定したり、もうちょっと使いやすくする余地はありそうなんだけど、それよりもDashのWindows版が欲しいです。:-)&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Sun, 21 Apr 2013 08:47:47 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [JSF][NetBeans][Java]PrimeFacesのp:ajaxを複合コンポーネントに入れたい</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130413/1365845120</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130413/1365845120</link>
	<description>JSF2.0になって、簡単なコンポーネントなら自作できるようになったけど、情報が少なくてはまると辛い。 PrimeFacesのp:ajaxのlistener属性にcc:attributeから指定したメソッドを設定しようとするとリンク先のようなエラーがでる。 http://stackoverflow.com/questions/15420081/jsf2-0-composite-component-with-optional-method-expression リンク先では、cc.getValueExp ...</description>
	<pubDate>Sat, 13 Apr 2013 09:25:20 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [Java][NetBeans]PrimeFacesのtreeコントロールで遅延読み込み</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130331/1364725514</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130331/1364725514</link>
	<description>最近遅延読み込みがマイブームです。PrimeFacesのtreeコントロールは、遅延読み込み機能とかいうのは明示的にあったりはしないんですよね。dataTableの方にはあるのに。 ということで、treeのほうはTreeNodeを自前実装してgetChildCountやisLeafやgetChildrenメソッドで遅延読み込みするようなものを作ってやればOKです。とりあえず、DefaultTreeNodeクラスを継承して以下のようなものを作ってみました。  package com.mycompany. ...</description>
	<pubDate>Sun, 31 Mar 2013 10:25:14 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [NetBeans][Java]PrimefacesのdataTableで遅延読み込み</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130327/1364343608</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130327/1364343608</link>
	<description>RichFacesからPrimeFacesに浮気中。こいつも遅延読み込みできるのね。 表示するデータは、以下の単純なクラス。  package com.mycompany.richtest; import java.io.Serializable; public class Person implements Serializable { private int id; private String name; public int getId() { return id; } public void ...</description>
	<pubDate>Wed, 27 Mar 2013 00:20:08 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [memo] JDKのバージョンアップポリシーについて</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20130326/1364307018</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20130326/1364307018</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;長いだけでオチは無いよ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;「Java6がサポート切れた」だの「秋にはJava8が出る」だのとJavaのバージョンアップキャンペーンっぽい話題をちらほら聞きますよね。実際、保守しているシステムも、やれハードウェアの老朽化だ、OSやミドルウェアの保守切れだ、とかいう理由で否応なしに&#60;b&#62;JVMの&#60;/b&#62;バージョンアップをするハメになりますよね。でも&#60;b&#62;コンパイラ（JDK）のバージョンアップ&#60;/b&#62;ってどうしてるんですかね？&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;JVMはそれを必要とするミドルウェア（大抵はAPサーバですわな）がサポートしてないって大義名分があるので、Java5だJava6だと定期的にバージョンアップしてくんだけど、その上で動いているシステム（まあ業務アプリだわな）のコンパイラ（JDK）まで気にしてるって話は意外なほど聞かないのよね。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;んで、どうしてるかというと、何もしない。いわゆるSI業界では、ソフトウェアは「やわらかいモノ」ではなく「モロいモノ」という扱いなので「&#60;b&#62;寝た子は起こすな&#60;/b&#62;」が鉄則なので、要らんことはしない。したがって、JDK1.4が主流だった時に作成したシステムは2013年になった今でもJDK1.4でコンパイルしているのが普通...なんだと思うのデスよ。&#60;/p&#62;
			&#60;p&#62;え？そんな古いJDKどっから手に入れるかって？抜け目の無いプロジェクトは、保守に必要な環境をインストーラごと保管しているので、そんな心配はご無用さ。:-)&#60;/p&#62;
			&#60;p&#62;システムを構築した業態・業界にもよると思うんですが、業務システムって想像以上に長生きで、2000年あたりに新規構築したシステムが今でも現役なんて珍しくないですよね（と誰とは無く。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;「JDKは据え置き」が果たしていいのか？というと悪いとも思うし、良いとも思う。つまるところ、そのプロジェクトなり会社なりのバージョンアップポリシー如何なんだけど、実際は前述の通り「何かあったら怖いから現状のままにしてる」が多数派なんじゃなかろうかと。なんで「ウチはこれこれ、こうゆう理由で、こんな対応してるよ」って事例があったら、それによろこんで倣うと思うんですよね。それがある程度の権威がある事例だったらなおさら。:-P&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そうは言っても、選択肢は多くは無くて、やる事と言ったら&#60;/p&#62;

			&#60;ol&#62;
				&#60;li&#62; JDKのバージョンは塩漬けのまま変えない&#60;/li&#62;
				&#60;li&#62; JDKもバージョンアップするJVMと同じバージョンにあわせる&#60;/li&#62;
			&#60;/ol&#62;
			&#60;p&#62;くらいかと。後者（JDKもバージョンアップ）を選ぶ理由のわかりやすい例は「JDKだってサポートプラットフォームがあるんだぞ」ってヤツ。今でもWindowsXPで開発してるところはあるけど、だいたいWindows7使ってるところもあるよね。で、仮にJDK1.4を使うとして、それがWindows7をサポートしてるか？っていったら、そんなワケないですよね。&#60;/p&#62;
			&#60;p&#62;正直、JDKのサポートプラットフォームなんて「&#60;b&#62;細けぇこたぁどうでも良いんだ&#60;/b&#62;」と思うのだけど&#60;b&#62;寝た子を起こすな&#60;/b&#62;哲学は&#60;b&#62;長いものに巻かれろ&#60;/b&#62;哲学と互換性があるので、何かあっても文句言えるところを確保するってのも立派な理由のひとつですわな。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;じゃあ、JDKもいっしょにバージョンアップするとした場合、どんなパターンが考えられるか。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; JDKだけバージョンアップしてコンパイルする&#60;/h4&#62;
			&#60;p&#62;大抵、これでしょうね。多少、警告が出ると思うけど見なかったことにして、ほとんど何もしないで完了する。運が悪いと、次の理由でコードを修正することになるけどね。&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62; 変数名とかが新しいJDKで採用された予約語と被った

				&#60;ul&#62;
					&#60;li&#62; &#60;code&#62;assert&#60;/code&#62;が被るって事はそうそう無いけど、&#60;code&#62;enum&#60;/code&#62;はありそう。:-)&#60;/li&#62;
				&#60;/ul&#62;
				&#60;/li&#62;
				&#60;li&#62; JDKのAPIを独自拡張してるクラスが、JDK側のAPIの追加・非推奨化の影響を受けた

				&#60;ul&#62;
					&#60;li&#62; 継承したり委譲してたりしてたJDKのAPIが増えた・減った場合ですね。これはフレームワークとかユーティリティを自作してると直面しそうですね。&#60;/li&#62;
				&#60;/ul&#62;
				&#60;/li&#62;
			&#60;/ul&#62;
			&#60;br /&#62;

			&#60;h4&#62; JDKのバージョンアップに伴い、ソースコードもそのJDKの特徴にあわせて修正する&#60;/h4&#62;
			&#60;p&#62;たとえばJDK1.4からJDK5以上にしたから、ついでにソースコードにも手を加えて、拡張forやオートボクシング、ジェネリクスといった特徴を取り込もうってヤツです。普通の発想だったらまずやりませんよね、こんなことｗ&#60;/p&#62;
			&#60;p&#62;個人的には、この手（ミドルウェアの更新みたいな）バージョンアップは４〜５年に１回の割合でしか起きないので、これくらいの&#60;b&#62;無難な&#60;/b&#62;変更を全体に行うことで保守要員の育成にもなるんじゃないかなって思うんですよね。なんですかね、伊勢神宮方式とでも言いますかね。&#60;/p&#62;
			&#60;p&#62;ただ現実問題、&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62;そんな広範囲に手を加えるためのコストが捻出できない&#60;/li&#62;
				&#60;li&#62;&#60;b&#62;無難な修正&#60;/b&#62;といってもデグレードを起こす可能性はある&#60;/li&#62;
			&#60;/ul&#62;
			&#60;p&#62;などの理由で、これが採用されることはないだろうなと思ってます（そんな話を聞いた試しもない。:-P&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そんわけで、JDKは据え置き／運が良くてJVMと同じバージョンのJDKを使うけどソースコードは必要最低限しか弄らないのどっちかだろなと。ただ後者（JDKもバージョンアップ）を選択した場合、その後の保守でソースコードに手を加えるときはどうすんだ？って疑問が残るのですよ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;つまり「元はJDK1.4で作ったソースコードだけど、今はJDK7でコンパイルしてる」なーんて状況で、何かしらの仕様変更を行うとき、そのソースコードは&#60;b&#62;JDK7の特徴を存分に使っていい&#60;/b&#62;のかどうかって事ですわ。放っておくと、eclipseさんやNetBeansさんといったIDEが気を利かせて、最新のJDKの特徴を駆使したテンプレートを展開したり、何古くさいコード書いてんだって警告してくれるので、否応なしに新しいコードになってきますよね。で、古い書き方のコードと新しい書き方のコードがパッチワークみたいに混在しちゃうわけだ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;「それでいいのか！？」って思うけど、それもプロジェクト事のポリシーに寄るんだよね。当然、パッチワークになるのを嫌えば&#60;b&#62;新しい書き方禁止！&#60;/b&#62;で、カビが生えたプロジェクト固有のコーディングルールを守るわけだ。これって特に若手にとって不幸な事だと思うのよね。だって書籍だの研修だので覚えるJavaはいわゆる近代のJavaだと思うんだ、なのに仕事で書くのは習ったことも無い古典Javaなーんて話が笑い話じゃ無く起きてる。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Java5、Java6、Java7でもって今度はJava8でそれなりにJavaも便利な書き方ができるようになってるんだけど、すぐに新しい特徴を取り込める状況にあるかというと、そうでも無いどころか、取り込むのを禁止したいと思う状況だったりするので、悩みは尽きないのですよ（でオチも無いｗ&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ps.&#60;/p&#62;
			&#60;p&#62;ちなみに、JDK1.2からJDK7.0までの間にJDKの互換性がらみで困ったことは、この２つくらいしかないんですよ。&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62; &#60;code&#62;enum&#60;/code&#62;が予約語になった（JDK5.0から）&#60;/li&#62;
				&#60;li&#62; JDK1.4までの&#60;code&#62;BigDecimal.toString()&#60;/code&#62;がJDK5.0から&#60;code&#62;BigDecimal.toPlainString()&#60;/code&#62;になった

				&#60;ul&#62;
					&#60;li&#62; 他にもJDBCまわりでAPIの増減はあったけど、それで困るケースってそうなかった&#60;/li&#62;
				&#60;/ul&#62;
				&#60;/li&#62;
			&#60;/ul&#62;
			&#60;p&#62;それ以外については、JDK1.2でコンパイルしたクラスファイルであろうと元気に最新のJVMで動くので、Javaの上位互換性はスゴいなって正直思う（それ故にBigDecimalの件はイラっと来たけど）。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ふむふむ。&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/yusuke&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/3431132146/cf149ee3e0a15f3af5ac55026cc77ea2_normal.jpeg&#34; alt=&#34;yusuke&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      @&#60;a href=&#34;http://twitter.com/masanobuimai&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;masanobuimai&#60;/a&#62; 1.5からデフォルトパッケージにあるクラスをパッケージに所属するクラスから呼べない(コンパイルエラー)という問題に2回くらい遭遇しました
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/yusuke/status/316555664824623105&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-03-26&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;23:22:06&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://twitter.com/download/iphone&#34; rel=&#34;nofollow&#34;&#62;Twitter for iPhone&#60;/a&#62;&#60;/span&#62; to @&#60;a href=&#34;http://twitter.com/masanobuimai/status/316553124926062594&#34; class=&#34;twitter-user-screen-name&#34;&#62;masanobuimai&#60;/a&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/shinsan68k&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/1229038980/ponpon_normal.png&#34; alt=&#34;shinsan68k&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      Javaのバージョンアップ回りでこまったのはJavaSoundの細かいタイミングとかフルスクリーン回りの挙動、タイミングが変わったとかかな。JDBCがインターフェースにガッツリ手が入ってしまってギャーってのはよくあるとおもう。実装はいいけど、インターフェースに手が入るとダメだよね
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/shinsan68k/status/316558998558081025&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-03-26&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;23:35:21&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via web&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/_siosio_&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2214330619/3EP85tsW_normal&#34; alt=&#34;_siosio_&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      お手伝いしてるプロジェクトのコーディング規約眺めてる
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/_siosio_/status/316802658805628928&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-03-27&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;15:43:34&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://twitter.com/download/android&#34; rel=&#34;nofollow&#34;&#62;Twitter for Android&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/_siosio_&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2214330619/3EP85tsW_normal&#34; alt=&#34;_siosio_&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      Java5からの新機能は使っちゃダメって書いてあるお。
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/_siosio_/status/316803595263672321&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-03-27&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;15:47:17&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://twitter.com/download/android&#34; rel=&#34;nofollow&#34;&#62;Twitter for Android&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/_siosio_&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2214330619/3EP85tsW_normal&#34; alt=&#34;_siosio_&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      理由に記述方法が異なるコードが混在すると、可読性がさがるためとあるけど、可読性さがるか？1メソッド数千行とかのがよっぽどあれだと思うが。
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/_siosio_/status/316805799659847680&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-03-27&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;15:56:03&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://twitter.com/download/android&#34; rel=&#34;nofollow&#34;&#62;Twitter for Android&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Tue, 26 Mar 2013 14:10:18 +0000</pubDate>
</item>
<item>
	<title>へびのぬけがら: NetBeans IDE 7.3 リリース</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-5968153835640208905.post-2118410615906121130</guid>
	<link>http://snakemanshow.blogspot.com/2013/03/netbeans-ide-73.html</link>
	<description>ずいぶん、時間が経過していしまいましたが、 NetBeans IDE 7.3 が&#60;a href=&#34;http://netbeans.org/community/releases/73/&#34;&#62;リリース&#60;/a&#62;されています&#60;br /&#62;恒例のスプラッシュです&#60;br /&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://4.bp.blogspot.com/-lEujQygPygE/UUOpe9y-HII/AAAAAAAABY4/5jdQdIMpfFM/s1600/nb73_splash.png&#34;&#62;&#60;img src=&#34;http://4.bp.blogspot.com/-lEujQygPygE/UUOpe9y-HII/AAAAAAAABY4/5jdQdIMpfFM/s320/nb73_splash.png&#34; height=&#34;209&#34; border=&#34;0&#34; width=&#34;320&#34; /&#62;&#60;/a&#62;&#60;/div&#62;今回のリリースで最も目玉となる新機能はやはり HTML5 サポートかと思います&#60;br /&#62;その他にも多くの新機能が追加されていますので、ぜひお試しください&#60;br /&#62;何かお気づきの点がありましたら、 &#60;a href=&#34;http://netbeans.org/projects/ja/lists&#34;&#62;ML&#60;/a&#62; 等へご連絡お願い致します</description>
	<pubDate>Fri, 15 Mar 2013 23:10:40 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][eclipse][NetBeans][IdeaVIM] jVi, Vrapper, IdeaVIMの比較</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20130310/1362894890</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20130310/1362894890</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;ちょいと前にマジメに比較してみて、そのまま死蔵してた資料が出てきたので供養のつもりで公開してみる。知らない人に簡単に説明すると、jVi, Vrapper, IdeaVIMはそれぞれNetBeans, eclipse, IntelliJ IDEAのvi/vimプラグイン。世の中のvi/vimユーザの怨念たるや凄まじく、IDEなんてモードレスエディタが当たり前なのに、無理矢理vi/vimモードを実装した猛者がいるのです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;どれも一定水準以上のすばらしい出来なんだけど、vi/vim（特にvim）に対する拘りも人それぞれで、満足する人、それでも不満が残る人がちらほら。でも、どうがんばってもこれらプラグインがvimに追いつくことは叶わぬ夢なので、どの辺で妥協できるかが、これらを受け入れられるかどうかのポイントになるかと。&#60;/p&#62;
			&#60;p&#62;それと想像に難しくないけど、どれもvimscriptはサポートしてないよ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;jVi, Vrapper, IdeaVIM以外のvi/vimプラグインについては、この辺を参照のこと。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20091121/1258806385&#34; target=&#34;_blank&#34;&#62; 各種IDEのvi/vimプラグイン - marsのメモ&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/matarillo/20100505/p1&#34; target=&#34;_blank&#34;&#62;VsVim - 猫とC#について書くmatarilloの雑記&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; jVi 1.4.5 : NetBeans用vimプラグイン&#60;/h4&#62;
			&#60;p&#62;&#60;a href=&#34;http://jvi.sourceforge.net/&#34; target=&#34;_blank&#34;&#62;http://jvi.sourceforge.net/&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;古くはJBuilderのviプラグインでNetBeansに移植された。もともと&#34;&#60;b&#62;vi&#60;/b&#62;&#34;プラグインだったので、vimの機能が不足してたんだけど、この前調べたらそんなことなかった。&#60;/p&#62;
			&#60;p&#62;気になった点をいくつか。&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62; Ctrl-[ でエディットモードに復帰できないけど、オプションで指定できるようになる。&#60;/li&#62;
			&#60;/ul&#62;
&#60;pre&#62;  オプション -&#38;amp;gt; jVi Config -&#38;amp;gt; Ctrl-Key Bindings で &#34;Ctrl-[ the &#34;real&#34; &#38;amp;lt;ESC&#38;amp;gt;&#34;をチェックする。
&#60;/pre&#62;


			&#60;ul&#62;
				&#60;li&#62; :コマンドにNetBeans固有のコマンドがある。&#60;/li&#62;
			&#60;/ul&#62;
&#60;pre&#62;  :fiximports    ... import文の最適化
  :make          ... ビルド実行（引数にターゲット名を指定できる）
  :grep          ... 「使用状況を検索」ダイアログを表示する。検索対象はカーソル位置から決定。
  :tselect       ... 「型に移動」ダイアログを表示する。
  :e#            ... #で現在開いているファイルの一覧が表示される。
&#60;/pre&#62;


			&#60;ul&#62;
				&#60;li&#62; ウィンドウ分割機能あり。わりとしっかりしている。&#60;/li&#62;
			&#60;/ul&#62;
&#60;pre&#62;  Ctrl-W, h j k l   で分割ウィンドウ間の移動が可能。
  Ctrl-W, H J K L   で分割ウィンドウ間の位置移動が可能。
&#60;/pre&#62;


			&#60;ul&#62;
				&#60;li&#62; ワード移動は日本語（全角）と英語（半角）を区別しない&#60;/li&#62;
				&#60;li&#62;ある程度のオプションはNetBeansよりjViが優先される。たとえば、行番号，不可視文字の表示，ワードラップ...なんかはNetBeansのオプション指定が効かない。&#60;/li&#62;
			&#60;/ul&#62;
			&#60;br /&#62;

			&#60;h4&#62; Vrapper 0.24.0 : Eclipse用vimプラグイン&#60;/h4&#62;
			&#60;p&#62;&#60;a href=&#34;http://vrapper.sourceforge.net/home/&#34; target=&#34;_blank&#34;&#62;http://vrapper.sourceforge.net/home/&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;eclipse最古参のvimプラグインはviPlugin(&#60;a href=&#34;http://www.viplugin.com/viplugin.htm&#34; target=&#34;_blank&#34;&#62;http://www.viplugin.com/viplugin.htm&#60;/a&#62;)だったと思うけど、今はこっちのほうが有名なんでは？&#60;/p&#62;
			&#60;p&#62;こいつの一番の売りは mapコマンドでeclipseのコマンドをvimにアサインできることだと思う。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://yuroyoro.hatenablog.com/entry/20100218/1266477264&#34; target=&#34;_blank&#34;&#62;Eclipseのキーバインドをvim風にできるVrapperが素晴らしすぎる件について - ( ???) ゆるよろ日記&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;あと surround.vim（相当？）を独自実装してるみたい。&#60;/p&#62;
			&#60;p&#62;ワード移動は日本語（全角）と英語（半角）を区別しないどころか、特定の区切り子だけをみてるだけっぽかった。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; IdeaVIM 0.23.93 : IntelliJ IDEAのvimプラグイン&#60;/h4&#62;
			&#60;p&#62;&#60;a href=&#34;https://github.com/JetBrains/ideavim&#34; target=&#34;_blank&#34;&#62;https://github.com/JetBrains/ideavim&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;これもだいぶ古くからあるプラグイン。一番使い込んでて、不満があったらパッチ当てちゃうので公正な評価ができない。:-P&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/searchdiary?word=%2A%5BIdeaVIM%5D&#34; target=&#34;_blank&#34;&#62;[IdeaVIM] - marsのメモ&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;元々は&#60;a href=&#34;http://plugins.jetbrains.com/space/index?pr=idea&#38;amp;lg=rmaddy&#34; target=&#34;_blank&#34;&#62;Rick Maddyさん&#60;/a&#62;が個人的に公開してたプラグインなんだけど、彼がメンテできなくなったのでメンテナに @&#60;a href=&#34;http://twitter.com/oleg_s&#34; class=&#34;twitter-user-screen-name&#34;&#62;oleg_s&#60;/a&#62; さんが名乗りをあげて、このあたりからJetBrains公式プラグインになったみたい。ちなみに現在のメンテナである @&#60;a href=&#34;http://twitter.com/vlasovskikh&#34; class=&#34;twitter-user-screen-name&#34;&#62;vlasovskikh&#60;/a&#62; さんはとても意欲的で twitter で &#34;IdeaVIM&#34; ってつぶやくと、どの言語でつぶやいたかに関わりなく「バグだったらYouTrackにファイルしてね？」ってmention送ってくる。&#60;/p&#62;
			&#60;p&#62;ちなみに、IdeaVIMのワード移動はvim互換でちゃんと日本語と英語を区別するよ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; 機能比較表&#60;/h4&#62;
			&#60;p&#62;一式もろもろを比較したのがこちら。思ってみればクリップボード操作も拘りもってる人居そう。あたしは、vimでもCtrl+X,C,Vにremapしてるから全然気にしてないけど。:-)&#60;/p&#62;
			&#60;p&#62;あと設定できるオプションもプラグインによって異なるのでご注意を。&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Sun, 10 Mar 2013 05:54:50 +0000</pubDate>
</item>
<item>
	<title>きしだのはてな: [Java][NetBeans]Jacoco+NetBeansでカバレッジを取ってJenkinsで記録</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20130226#1361841262</guid>
	<link>http://d.hatena.ne.jp/nowokay/20130226#1361841262</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;カバレッジをとるのに、Jacocoを使ってみました。&#60;/p&#62;
			&#60;p&#62;設定などのメモ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62;Mavenの設定&#60;/h4&#62;
			&#60;p&#62;project &gt; build &gt; pluginsタグに次のようなプラグインを追加します。&#60;/p&#62;
&#60;pre class=&#34;syntax-highlight&#34;&#62;          &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;plugin&gt;&#60;/span&#62;
              &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;groupId&gt;&#60;/span&#62;org.jacoco&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/groupId&gt;&#60;/span&#62;
              &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;artifactId&gt;&#60;/span&#62;jacoco-maven-plugin&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/artifactId&gt;&#60;/span&#62;
              &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;version&gt;&#60;/span&#62;0.6.2.201302030002&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/version&gt;&#60;/span&#62;
              &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;executions&gt;&#60;/span&#62;
                  &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;execution&gt;&#60;/span&#62;
                      &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;goals&gt;&#60;/span&#62;
                          &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;goal&gt;&#60;/span&#62;prepare-agent&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/goal&gt;&#60;/span&#62;
                      &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/goals&gt;&#60;/span&#62;
                  &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/execution&gt;&#60;/span&#62;
                  &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;execution&gt;&#60;/span&#62;
                      &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;id&gt;&#60;/span&#62;report&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/id&gt;&#60;/span&#62;
                      &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;phase&gt;&#60;/span&#62;prepare-package&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/phase&gt;&#60;/span&#62;
                      &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;goals&gt;&#60;/span&#62;
                          &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;goal&gt;&#60;/span&#62;report&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/goal&gt;&#60;/span&#62;
                      &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/goals&gt;&#60;/span&#62;
                  &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/execution&gt;&#60;/span&#62;
              &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/executions&gt;&#60;/span&#62;
          &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/plugin&gt;&#60;/span&#62;
&#60;/pre&#62;

			&#60;br /&#62;

			&#60;h4&#62; NetBeansのカバレッジまわりの機能&#60;/h4&#62;
			&#60;p&#62;NetBeansは、特に設定をしなくてもpomにカバレッジの設定があるとカバレッジ関係の機能が使えるようになります。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;プロジェクトメニューにカバレッジのメニューが追加されているので、「レポートの表示」とするとカバレッジレポートが表示されます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20130226100947&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20130226/20130226100947.png&#34; alt=&#34;f:id:nowokay:20130226100947p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20130226100947p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;レポート画面で「すべてのテストの実行」とするとテストが実行されてカバレッジが計測されます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20130226100946&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20130226/20130226100946.png&#34; alt=&#34;f:id:nowokay:20130226100946p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20130226100946p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そのとき、エディタ画面ではテストされた行とされてない行が色分けされます。「完了」を押せば、カバレッジ表示されなくなります。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20130226100945&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20130226/20130226100945.png&#34; alt=&#34;f:id:nowokay:20130226100945p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20130226100945p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Jenkinsでのカバレッジ記録&#60;/h4&#62;
			&#60;p&#62;JenkinsにJacoco pluginを導入すると、「ビルド後の処理」として「JaCoCoカバレッジレポートを記録」が選べるようになるので追加します。&#60;/p&#62;
			&#60;p&#62;そうすると、カバレッジが記録されます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20130226100943&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20130226/20130226100943.png&#34; alt=&#34;f:id:nowokay:20130226100943p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20130226100943p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Tue, 26 Feb 2013 01:14:22 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [life] Java One 2012 フィードバック！（ #てらだよしおまつり ）に参加してきた</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20130120/1361668182</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20130120/1361668182</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;&#60;a href=&#34;http://tohoku-dev.jp/modules/news/article.php?storyid=182&#34; target=&#34;_blank&#34;&#62;http://tohoku-dev.jp/modules/news/article.php?storyid=182&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;a href=&#34;http://masanobuimai.hatenablog.jp/entry/20120716/1342449182&#34; target=&#34;_blank&#34;&#62;約半年ぶり&#60;/a&#62;に寺田さん（@&#60;a href=&#34;http://twitter.com/yoshioterada&#34; class=&#34;twitter-user-screen-name&#34;&#62;yoshioterada&#60;/a&#62;）が来仙するってんで参加してきました。内容はJava One 2012 SF中心でJavaEE7とかJava8とかといったかなり未来の話。:-)&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;いろいろ考えさせられたが、それ故に消化するまで時間がかかりそうなので、主立ったメモだけ残すよ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      去年のJavaのテーマは「Moving forward Java」今年は「Make the Future Java」だそうな。 #てらだよしおオンステージ
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292214134093791232&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:17:33&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;p&#62;はじまった。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      JCP.nextってこれか。＞ JCP.next Public Review &#60;a href=&#34;http://t.co/YntwoGeJ&#34; target=&#34;_top&#34; class=&#34;twitter-tweet-url&#34;&#62;&#60;span&#62;URL&#60;/span&#62;&#60;/a&#62;
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292215801002471425&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:24:10&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      英語ができないとホント困りますね。(/ω＼)イヤン
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292216757438013440&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:27:58&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      そーいや、日本発のJSRってないかも。
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292216988539957248&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:28:53&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;p&#62;JCPはよりオープンになったって話。Specification LeadsやExpert Groupに属して無くても意見があったらガンガン言えるようになった（むろん英語で）。Java8のλに関しても日本の大学生がガンガン意見言ってたという事例があるそうな。&#60;/p&#62;
			&#60;p&#62;そう思うと日本初のJSRが一つくらいあってもいいんじゃないかと。例えば2Way-SQLなんかJSR化してもいいくらいの良い考え方だと思うけどなー、とか思ってみたり。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      まあ、コミュニティに参加する人達は非日常を経験しにきてるようなもんだかんねー。( ゜∀゜)・∵. グハッ!!
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292217621749854209&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:31:24&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;p&#62;「社外のコミュニティに積極的に参加してる人とそうでない人で情報格差が広まっている」とのこと。まあ、そうかも。こうゆう場に集まる人たちはアンテナ高いけど、それを職場にフィードバック出来てないのは不徳の致すところでございます。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      WebSocketも誰かがラッパー書いて「ほら、素で使うより簡単」て言いそうやな。
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292234502644850688&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;20:38:29&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      標準を素直に使おうとしないのは、古くからのJava屋の悪いクセ。(´・ω・`)
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292230864392306690&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;20:24:02&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      Java屋さんは標準APIをみるとすぐ「もっと便利にしてやるぜー」と俺俺ラッパー書いちゃうけど、よその言語系はどうなんだろう？(´・ω・`)
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292250036534915073&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;21:40:13&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      何にでも例外ケースはあって、稀におこるそれに対応してないからって鬼の首取ったように騒ぐのは悪いクセ。そん時だけ例外処理すりゃあいいのだ。
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292264277149093888&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;22:36:48&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;p&#62;JSF2.2やWebSocketのAPIとか見てて思わず「ラッパー組んじゃる」って考えるのは悪いクセ。いちいち帯に短したすきに長しと思わないで、黙って出来合いのAPIを使ってみようという境地に至りたい。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;b&#62;番外編：&#60;/b&#62;&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      JavaScriptとRubyしか言わない。RT @&#60;a href=&#34;http://twitter.com/kiy0taka&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;kiy0taka&#60;/a&#62;: またか。RT @&#60;a href=&#34;http://twitter.com/masanobuimai&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;masanobuimai&#60;/a&#62;: またgroovy飛ばしたぞ #てらだよしおヒドい
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292219395030265856&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:38:27&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;p&#62;スライドにあったIDEの紹介にeclipseやNetBeansだけでなくIntelliJ IDEAもあったのは評価するが、相変わらず動的言語でgroovyを飛ばす（なんか恨みでもあるのかｗ&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      Rhinoはいらない子。(´・ω・)カワイソス
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292219588630966272&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:39:13&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      Project Easelって、それWebStormのパク...うわなにおす
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292220682627072001&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:43:34&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      言語としてのJavaってなんか影薄いな。(´・ω・`)
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292234986705276928&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;20:40:24&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      あれこれ、言語覚えんで、JavaScriptに集中していいんちゃうか？
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292236813840551937&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;20:47:40&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;p&#62;JavaScript無双をどこまで信じていいものか...。(´・ω・`)&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;b&#62;おまけ：&#60;/b&#62;&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;&#60;div class=&#34;twitbox&#34;&#62;&#60;p&#62;&#60;/p&#62;
			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      去年のJavaのテーマは「Moving forward Java」今年は「Make the Future Java」だそうな。 #てらだよしおオンステージ
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292214134093791232&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;19:17:33&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-left&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/oymk1&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/1228620289/201006142200_normal.jpg&#34; alt=&#34;oymk1&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      Javaの未来がよく見えない
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/oymk1/status/292238193716248576&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;20:53:09&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://www.hootsuite.com&#34; rel=&#34;nofollow&#34;&#62;HootSuite&#60;/a&#62;&#60;/span&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;div class=&#34;twitter-detail twitter-detail-right&#34;&#62;
  &#60;div class=&#34;twitter-detail-user&#34;&#62;
    &#60;a href=&#34;http://twitter.com/masanobuimai&#34; class=&#34;twitter-user-screen-name&#34;&#62;
      &#60;img src=&#34;http://a0.twimg.com/profile_images/2475113145/dclqfldm7yjqsjigzdcd_normal.jpeg&#34; alt=&#34;masanobuimai&#34; height=&#34;48&#34; width=&#34;48&#34; /&#62;
    &#60;/a&#62;
  &#60;/div&#62;
  &#60;div class=&#34;twitter-detail-tweet&#34;&#62;
    &#60;p class=&#34;twitter-detail-text&#34;&#62;
      @&#60;a href=&#34;http://twitter.com/oymk1&#34; target=&#34;_top&#34; class=&#34;twitter-user-screen-name&#34;&#62;oymk1&#60;/a&#62; だって、ぼくらと世界が繋がってないもの。(・ω&#38;lt;)テヘペロ☆
    &#60;/p&#62;
    &#60;p class=&#34;twitter-detail-info&#34;&#62;
      &#60;a href=&#34;http://twitter.com/masanobuimai/status/292238377313505280&#34; class=&#34;twitter-detail-info-permalink&#34;&#62;&#60;span class=&#34;twitter-detail-info-date&#34;&#62;2013-01-18&#60;/span&#62; &#60;span class=&#34;twitter-detail-info-time&#34;&#62;20:53:53&#60;/span&#62;&#60;/a&#62; &#60;span class=&#34;twitter-detail-info-source&#34;&#62;via &#60;a href=&#34;http://tapbots.com/tweetbot&#34; rel=&#34;nofollow&#34;&#62;Tweetbot for iOS&#60;/a&#62;&#60;/span&#62; to @&#60;a href=&#34;http://twitter.com/oymk1/status/292238193716248576&#34; class=&#34;twitter-user-screen-name&#34;&#62;oymk1&#60;/a&#62;
    &#60;/p&#62;
  &#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;/p&#62;&#60;/div&#62;&#60;p&#62;&#60;/p&#62;
			&#60;p&#62;まだJava6すら使ってない我々にとっては未来過ぎる話でしたね。:-)&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ps.&#60;/p&#62;
			&#60;p&#62;寺田さん、最新情報をありがとうございました。テム・レイ化しないようコツコツ素振りします。それと運営の村上さん（@&#60;a href=&#34;http://twitter.com/MasanoriMurakam&#34; class=&#34;twitter-user-screen-name&#34;&#62;MasanoriMurakam&#60;/a&#62;）おつかれさまでした。ノシ&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Sun, 24 Feb 2013 01:09:42 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Java][NetBeans]NetBeans 7.3をインストール</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20130224/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20130224/p1</link>
	<description>先日、NetBeans 7.3が正式リリースされたので早速インストールしてみました。今回はWindows 8(64bit版)に、NetBeans IDE 7.3 すべて版を入れました。すべて版にはJava SEのほか、JavaCard、Java ME、Java EE開発環境とJava EEアプリケーションサーバー（GlassFishおよびTomcat）、C++、Groovy、PHPのプログラミング言語開発、HTML5+JavaScript+CSS開発機能が同梱されたものになります。   NetBean ...</description>
	<pubDate>Sun, 24 Feb 2013 00:00:00 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Java読書会]デブサミ2013コミュニティブース出展（2日目）</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20130215/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20130215/p1</link>
	<description>デブサミ2013コミュニティブース出展（1日目） - torutkの日記に引き続き、2日目の出展です。 昨日は、過去Java読書会BOFで読んだ本を、年代順に手前から並べていたので、最新のものが奥側になっていました。ここ最近オライリー本が多く、オライリー本は表紙のレイアウトでタイトルが下の方に位置しているので、写真のように重ねて並べるとタイトルが隠れてしまうという問題がありました。 そこで、今日は、年代順に奥から並べてみました。  また、ポストイットでいくつかの本にキャッチーをつけてみました。例えば  ...</description>
	<pubDate>Fri, 15 Feb 2013 00:00:00 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [Java][NetBeans]JAX-RSのMessageBodyWriterを使って出力をカスタマイズ</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130207/1360248394</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130207/1360248394</link>
	<description>JAX-RSって出力を柔軟に差し替えれるんですね。知りませんでした。これは捗る。やりかたは簡単。MessageBodyWriterインターフェースを実装して@Providerアノテーションをつけるだけ。  package okazuki.mavenproject7; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.lang.annotati ...</description>
	<pubDate>Thu, 07 Feb 2013 14:46:34 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [Java][NetBeans]ThymeleafのHello world</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130207/1360247160</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130207/1360247160</link>
	<description>HTMLとかXHTMLとかHTML5とかのテンプレートエンジンのThymeleafいい感じっぽいのでHello worldしてみます。 NetBeansでMavenのJavaアプリケーションのプロジェクトを作成して依存性の追加でthymeleafで検索するとorg.thymeleafが出てくるので、それを追加します。pom.xmlには以下のような記述が追加されます。   org.thymeleaf &#38;lt; ...</description>
	<pubDate>Thu, 07 Feb 2013 14:26:00 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [Java][NetBeans]RichFaces 4.xのtreeコンポーネントで遅延読み込み</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130124/1359046528</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130124/1359046528</link>
	<description>でっかいツリーを表示したいが、最初に全部データをクライアントに持っていくのは忍びない。というか普通にある程度の規模以上になると性能問題になりますよね。 そんなときのために、表示するのに必要最低限のデータだけをとっておいて、あとは必要に応じて取得するという手は常套手段です。やってみましょう。 表示するデータ 表示するデータは、実際にDBにアクセスするものはめんどくさかったので以下のような簡易的なものです。  package okazuki.mavenproject4; import java.util. ...</description>
	<pubDate>Thu, 24 Jan 2013 16:55:28 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [Java][NetBeans]JAXBでJSON出力したい</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130121/1358747568</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130121/1358747568</link>
	<description>eclipselinkの2.4.0を入れる jsonに出力したいクラスのあるパッケージにjaxb.propertiesを置く   javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory   JAXBContextを生成するときにJAXBContextProperties.MEDIA_TYPEにapplication/jsonを設定する  JAXBContextPropertiesはeclipseli ...</description>
	<pubDate>Mon, 21 Jan 2013 05:52:48 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [Java][NetBeans]Java EE 6の単体テストでClassFormatErrorが出る</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130118/1358503685</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130118/1358503685</link>
	<description>Java EEのクラスに依存してるクラスを単体テストしようとして以下のエラーに悩まされました。  java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file [Java EEの中のクラスの名前]  ぐぐってみたら解決策発見したのでメモメモ。 http://d.hatena.ne.jp/ryoasai/20110812/1313164684</description>
	<pubDate>Fri, 18 Jan 2013 10:08:05 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Android]Android端末実機デバッグ</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20130114/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20130114/p1</link>
	<description>Android開発環境を構築する（オフライン環境）（続） - torutkの日記のおまけです。 Android SDKを使った開発では、PC上でAndroidエミュレータ（AVD）を使ってAndroidアプリケーションを実行します。しかし、このAVDが「激重」で、起動するのに数分かかる代物です。 そこで、Android携帯端末を持っていれば直接その端末で実行・デバッグした方が快適です。PCとAndroid携帯端末をUSBケーブルで接続してPC上で作成したAndroidアプリケーションを 実行できる ...</description>
	<pubDate>Mon, 14 Jan 2013 00:00:00 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Android]Android開発環境を構築する（オフライン環境）（続）</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20130113/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20130113/p1</link>
	<description>Android開発環境を構築する(オフライン環境) - torutkの日記の続編です。 今回は、NetBeans IDEにAndroidプラグインをインストールし、NetBeans上でAndroidプログラミングができるまでの環境を構築します。  NetBeans用Android開発プラグイン NBAndroidのインストール NetBeansのAndroidプラグインは、「NBAndroid」を使います。NBAndroidホームページは次のURLです。NetBeansは基本的には7.2以降です。   ...</description>
	<pubDate>Sun, 13 Jan 2013 00:00:00 +0000</pubDate>
</item>
<item>
	<title>きしだのはてな: [java][netbeans][glassfish]GlassFishのカスタムリソースに日本語で説明を入れるとNetBeansが認識しなくなる</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20130111#1357861416</guid>
	<link>http://d.hatena.ne.jp/nowokay/20130111#1357861416</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;JavaでWebアプリを開発するとき、開発環境と本番環境で違うような値はカスタムリソースとして持たせたりすると思うのだけど、その説明に日本語を入れるとNetBeansがGlassFishを認識できなくなってしまった。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20130111022307&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20130111/20130111022307.png&#34; alt=&#34;f:id:nowokay:20130111022307p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20130111022307p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;説明を英語にすると認識できるようになった。&#60;/p&#62;
			&#60;p&#62;これ、NetBeansの動きがおかしいけど、問題はGlassFishの設定ファイルであるdomain.xmlに、&#38;lt;?xml 〜?&gt;で文字コードとかを指定していないことにあるんじゃないかなー。&#60;/p&#62;
			&#60;p&#62;ちなみに、&#38;lt;?xml 〜?&gt;を手書きで追加しても、GlassFish起動時に消されてしまいました。&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Thu, 10 Jan 2013 23:43:36 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [NetBeans][Java]CDI関連情報まとめ</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130110/1357832123</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130110/1357832123</link>
	<description>Java EE 6を使うならCDIを使わなきゃね！ということなんですが、Beginning Java EE 6にはCDIについて書かれてない！！せっかくNetBeansは手厚くCDIをサポートしてくれてるのにもったいない！ということでぐぐりました。 まずは、Oracleにいた人が書いてくれてたBlogの記事がありました。とても丁寧なので、さいごまで連載が続かなかったのがとても残念でなりません…  Understanding Contexts and Dependency Injection (CDI) ...</description>
	<pubDate>Thu, 10 Jan 2013 15:35:23 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [JavaFX]JavaFXのTableViewを使う画面をシーンビルダーで作成する</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20130109/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20130109/p1</link>
	<description>JavaFX 2の表（テーブル）コントロールTableViewを使った簡単なサンプルを、SceneBuilderを使って作成する手順を、以前の日記 id:torutk:20121005 に文章で書きました。 文章だけでは分かりにくいので、SceneBuilderとNetBeansを使ってJavaFX FXMLアプリケーションでTableViewを使う簡単なプログラミングについて画面キャプチャを交えて次のホームページに作成しました。   http://www.02.246.ne.jp/~torutk/j ...</description>
	<pubDate>Wed, 09 Jan 2013 00:00:00 +0000</pubDate>
</item>
<item>
	<title>かずきのBlog@Hatena: [Java][NetBeans]NetBeans 7.2.1で新規作成時に選べるJSFのコンポーネント</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/okazuki/20130108/1357614380</guid>
	<link>http://d.hatena.ne.jp/okazuki/20130108/1357614380</link>
	<description>はじめに WPF連載の中に突如現れるJavaEE関連ネタ！！ 本題 Webアプリケーションを作成するときにJSFのライブラリとして以下の3つがあることを確認…どれも、個人的に未使用なので癖や良し悪しはなんとも言えない。 ちょっと気になるDataTable系コントロールだけ見てみました。 PrimeFaces jQueryをベースとしてるらしい。  PrimeFaces 3.0 リリース - Ajax，モバイル，IE9 対応 JSF2 コンポーネントを提供  http://www.infoq.com/j ...</description>
	<pubDate>Tue, 08 Jan 2013 03:06:20 +0000</pubDate>
</item>
<item>
	<title>forest of netBeans: あけまして　おめでとうございます。２０１３</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/lopes_nb/20130104/1357330067</guid>
	<link>http://d.hatena.ne.jp/lopes_nb/20130104/1357330067</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;去年は何かすべてにおいて行き詰っていて、NetBeansを使っていませんでした。&#60;/p&#62;
			&#60;p&#62;そんな中、年末に片貝さんのセッションや自分の周りのNetBenasユーザーの&#60;/p&#62;
			&#60;p&#62;使用状況を聞いて刺激をうけたので、自分も今年はNetBeansを使っていきた&#60;/p&#62;
			&#60;p&#62;いとおもいます。&#60;/p&#62;
			&#60;p&#62;それにしても、久しぶりNetBeans使ってみたら立ち上がり軽くなったなあ！&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Fri, 04 Jan 2013 20:07:47 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA] 25日目 IntelliJ IDEA Advent Calendar 2012 インデックス</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20121225/1356362339</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20121225/1356362339</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;やっと終わったわ。:-(&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;IntelliJが出来ることはもっといろいろありますし、正直びみょーなところや「これって他（Eclipse/NetBeans/etc）のほうがマシじゃね？」って点も多々ありますので、おのおのそれなりなつきあい方を模索してみてください。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;信者になれば毎年の年貢や不意のセールで心が揺らぐこともなくなるでしょう（ンな分けない。:-P&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121201/1354324848&#34; target=&#34;_blank&#34;&#62;01日目 ひとりIntelliJ IDEA Advent Calendarはじめました&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121202/1354410511&#34; target=&#34;_blank&#34;&#62;02日目 IntelliJと仲間たち&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121203/1354461097&#34; target=&#34;_blank&#34;&#62;03日目 IntelliJの購入方法&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121203/1354462688&#34; target=&#34;_blank&#34;&#62;おまけ：IntelliJ IDEAの読み方&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121204/1354625168&#34; target=&#34;_blank&#34;&#62;04日目 インストール直後にやった方が良いこと&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121205/1354633460&#34; target=&#34;_blank&#34;&#62;05日目 Eclipseとの違い&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121206/1354745257&#34; target=&#34;_blank&#34;&#62;06日目 IDEA12とIDEA11の比較&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121207/1354806233&#34; target=&#34;_blank&#34;&#62;07日目 メニューバー，ツールバー，ナビバーとステータスバーについて&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121208/1354896206&#34; target=&#34;_blank&#34;&#62;08日目 ツールウィンドウ&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121209/1355040015&#34; target=&#34;_blank&#34;&#62;09日目 IDEの設定（概要編）&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121210/1355071570&#34; target=&#34;_blank&#34;&#62;10日目 IDEの設定（Project Settings）&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121211/1355152371&#34; target=&#34;_blank&#34;&#62;11日目 IDEの設定（IDE Settings：前編）&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121212/1355320150&#34; target=&#34;_blank&#34;&#62;12日目 IDEの設定（IDE Settings：後編）&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121213/1355326042&#34; target=&#34;_blank&#34;&#62;13日目 オススメしないプラグイン&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121214/1355492261&#34; target=&#34;_blank&#34;&#62;14日目 Copyright プラグイン&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121215/1355498262&#34; target=&#34;_blank&#34;&#62;15日目 プラグインの探し方&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121216/1355587645&#34; target=&#34;_blank&#34;&#62;16日目 目的のファイルに素早く移動する&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121217/1355670241&#34; target=&#34;_blank&#34;&#62;17日目 IntelliJで期待しちゃイケないこと&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121217/1355753328&#34; target=&#34;_blank&#34;&#62;おまけ:XPathの表示と検索&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121218/1355756941&#34; target=&#34;_blank&#34;&#62;18日目 Databaseプラグイン&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121219/1355843560&#34; target=&#34;_blank&#34;&#62;19日目 ExplorerやFinderとの連係&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121220/1356013598&#34; target=&#34;_blank&#34;&#62;20日目 artifactの設定（ついでにProject Structure ）&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121221/1356015886&#34; target=&#34;_blank&#34;&#62;21日目 コマンドプロンプトとTerminal&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121222/1356137162&#34; target=&#34;_blank&#34;&#62;22日目 情報源とか雑多なこと&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121223/1356227487&#34; target=&#34;_blank&#34;&#62;23日目 Remote Hostプラグイン&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121223/1356228675&#34; target=&#34;_blank&#34;&#62;おまけ：ライセンスのこととか&#60;/a&#62;&#60;/li&#62;
				&#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121224/1356275317&#34; target=&#34;_blank&#34;&#62;24日目 Inspections &#38;amp; Intentions&#60;/a&#62;&#60;/li&#62;
			&#60;/ul&#62;
		&#60;/div&#62;</description>
	<pubDate>Mon, 24 Dec 2012 15:18:59 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][advent] 24日目 Inspections &#38; Intentions</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20121224/1356275317</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20121224/1356275317</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;私に「Javaでいいや」どころか下手すると「Javaが良い」と思わせるIntelliJの超絶変態機能。Inspectionsはコードの検査で，いわゆる「Checkstyle&#38;amp;Findbugsの強力バージョン」。Intentionsは意図というか気づき？EclipseでいうQuick Assistっぽい感じ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Inspectionsは検査なので，エラーや警告，プロジェクト固有の規約違反などを指摘する（指摘項目によっては，その解決もしてくれる）。Intentionsは「こうも書けるよ」的なアドバイス。どっちも実行キーは，ALT+Enter（macだとopt+Enter）で実行可能な箇所にカーソルを置くと電球アイコンが表示される。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ALT+Enterについては、はるか昔に解説してた。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20070626#1182830076&#34; target=&#34;_blank&#34;&#62;31日間ReSharper一周 ... それIDEAでもできるよ（その８）&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Eclipse知ってる人には「Ctrl+1のようなもの」と言えばピンとくるかも（Ctrl+2っぽいのは無い）。NetBeansはまんま同じキーで同じことできるから分かるでしょ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Inspectionsはエラーや警告の類いなので、エディタの右側にマーカーバーとして指摘箇所を表示してくれる。マーカーバーの説明も昔書いてた。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20070506#1178461753&#34; target=&#34;_blank&#34;&#62;31日間ReSharper一周 ... それIDEAでもできるよ&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ファイルを開くたびに検査を実行するので、有効になってるInspectionsが多いほど検査に時間がかかります。検査中はエディタ右上端のコンパイルステータス（compile status)が目玉マークの間は検査中ということを示してます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121216105926&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121216/20121216105926.png&#34; alt=&#34;f:id:masanobuimai:20121216105926p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121216105926p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;
			&#60;p&#62;このコンパイルステータスを緑に保つのが良いことなのですが、検査項目をうまいこと調整しないと緑にするのは至難の業です。2007年に紹介したときは630項目くらいだったのですが、IDEA12のデフォルト&#60;span class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#f1&#34; name=&#34;fn1&#34; title=&#34;IDEA12の標準プラグインを全て有効にした状態&#34;&#62;*1&#60;/a&#62;&#60;/span&#62;であらためて数えなおしたところ1,600項目近くありました。中には互いを打ち消し合う検査項目もあるので未調整でステータスを緑にするのは今や不可能ですね。:-P&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;うまいとこ手綱を握らないと鬱陶しいことこの上ないInspectionsですが、普段だったらうっかり見落とすような事まで指摘してくれるので、とても頼りになるパートナーとペアプロしてると錯覚することもままあります。ここまで徹底して指摘できるのも、型でガチガチに縛ってるJavaだからなんだよなぁと思うと「（IntelliJ使うんなら）Javaも悪くないな」と思うわけです。むろん、RubyやJavaScriptなどの他言語用のInspectionsもありますが、数や精度ではJavaのソレに及ばないです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Inspectionsはひとつひとつ警告レベルを指定でき、モノによっては専用のオプションもあるので、一度じっくり項目をながめてみることをオススメします。過去に紹介したInspections系のエントリにも、いくつかオススメが載ってますので、ご参考まで。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20080307#1204864541&#34; target=&#34;_blank&#34;&#62;「正しいソースの書き方養成ギプス」をIDEAでもやってみる。&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20080404#1207318458&#34; target=&#34;_blank&#34;&#62;behind the times: 10 Best IDEA Inspections You’re Not Using&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20081117#1226921940&#34; target=&#34;_blank&#34;&#62;Usages of API documented as @since 1.5&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Inspectionsの調整は、まず項目ごとの警告レベルの設定ができます。デフォルトの警告レベルは「As typo/As server problem/As weak warning/As info/As warning/As Error」の６種類。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121222220641&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121222/20121222220641.png&#34; alt=&#34;f:id:masanobuimai:20121222220641p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121222220641p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#34;As server problem&#34;はJetBrainsのCIサーバであるTeamCityを使ってなければ設定する必要すらありません。通常は&#34;As warning&#34;なんですが「ウザいけどOFFにするのはどうも」ってのは&#34;As weak warning&#34;か&#34;As info&#34;にしとくといいです。&#60;/p&#62;
			&#60;p&#62;一応、デフォルト以外の警告レベルも追加できるのですが、そこまでするのはやり過ぎかなと思います。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121222220642&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121222/20121222220642.png&#34; alt=&#34;f:id:masanobuimai:20121222220642p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121222220642p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;それと先ほども言いましたが、Inspectorによっては独自のオプションを持っているものもあります。正直、プロジェクトごとにいちいち設定するのは大変ですので、その辺はうまいこと使い分けしましょう。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121222220643&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121222/20121222220643.png&#34; alt=&#34;f:id:masanobuimai:20121222220643p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121222220643p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ちなみに、Inspectionsの設定は、Settings-&gt;Inspectionsで行います。この設定画面にはステータスバーに居るHectorおじさん経由でもたどり着けます（おじさんをクリックして&#34;Configure Inspections&#34;をクリック。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121222222246&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121222/20121222222246.png&#34; alt=&#34;f:id:masanobuimai:20121222222246p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121222222246p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;それ以外にも、警告箇所でALT+Enterを押し、該当する検査項目からInspectionsの設定画面に飛ぶこともできます（下図の場合、&#34;Flip comparison（Constant on right side of comparison）&#34;が検査項目で、そこから展開したメニューにある&#34;Edit inspection profile setting&#34;で設定画面に飛べます）。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121222222250&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121222/20121222222250.png&#34; alt=&#34;f:id:masanobuimai:20121222222250p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121222222250p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Inspectionsの設定項目が多すぎるので、とりあえず全設定ONにして実コードの検査度合いをみつつ、上記方法で個別に警告レベルの調整をしたりしてます（それでも調整はくたびれます）。このサブメニューを見てもわかるように、検査項目の設定に飛ぶだけでは無く、検査項目そのものを無効（Disable inspection）にしたり、ここでだけ検査を無効（Suppress ...）することも可能です。ただし、&#34;Disable inspection&#34;を選択した場合、その検査項目は二度と登場してきませんので、復帰させるには1,600もあるInspectorsから探し出さないといけません（これもかなりくたびれる作業です。:-(&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ちなみに、上記スクリーンショットの&#34;Flip comparison&#34;の下にある鉛筆アイコンの項目３つがIntentionsになります。こちらは検査項目ではないのでマーカーバーには影響ありません。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Hectorおじさんについて補足すると、検査レベル（Highlighting Level）を「Inspections/Syntax/None」に変えるたび、おじさんがそっぽを向いていくという細かい芸があります。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121222222247&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121222/20121222222247.png&#34; alt=&#34;f:id:masanobuimai:20121222222247p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121222222247p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121222222248&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121222/20121222222248.png&#34; alt=&#34;f:id:masanobuimai:20121222222248p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121222222248p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;なんとなく想像が付くかと思いますが、このInspectoinsは結構CPUパワーを食います（つまり動作が重くなる）。そのため検査レベルを下げていけばいくほどIntelliJが軽くなります。その分、IntelliJを使っている良さも減っていきますが...。とはいえ非力なマシンでIntelliJを使うと、ホントに泣きたくなるほど遅くなるので、背に腹は代えられないときは、この辺から調整してみることをオススメします。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;それとIDEA9あたりから&#34;Power Save Mode&#34;というのがつきました。Helpを読んでも要用を得なかったのですが、名称からしてCPUにやさしいモードなのだと思います。その証拠（？）に、このモードにするとHectorおじさんが完全に沈黙します。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121222222249&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121222/20121222222249.png&#34; alt=&#34;f:id:masanobuimai:20121222222249p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121222222249p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;いずれにしろ、明らかに余計だと思えるInsepctionsは無効にしておいたほうがPCにも、利用者の気持ちにもやさしいと思います。:-)&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;あと、その気になれば自分でもInspectionsやIntentionsを作れます。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20070822#1187763253&#34; target=&#34;_blank&#34;&#62;独自Inspectorを作ってみる&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20070823#1187859256&#34; target=&#34;_blank&#34;&#62;QuickFixの作り方&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20070827#1188192125&#34; target=&#34;_blank&#34;&#62;この前，独自Inspectorで試したことを，他の方法で実現してみんとす&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;やめりゃ良かったと作り始めてから思ったのですが、IDEA12でデフォルトのプラグインをすべて有効にしたときのInspectionsとIntentionsの一覧を作りました。気になる＆使っている順にコメントも付けてます。まだ完成してませんが、気長にこつこつやってこうと思います（&#34;+&#34;付いてるのが、個人的オススメ。それらをError, Warinig, Infoのどれにするかは各自が決めて。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;https://docs.google.com/spreadsheet/pub?key=0ArbvUhTt22d6dGtzWVNYX3c1dGxFbE9Bb25jWE9ybkE&#38;amp;output=html&#34; target=&#34;_blank&#34;&#62;IntelliJ IDEA : inspections&#38;amp;intentions&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;br /&#62;

			&#60;p&#62;当然ながら、RubyやPHP、Python、Scala、Kotlinなどの言語系プラグインを入れると、それ用のInsepctionsやIntentionsが増えます。:-P&#60;/p&#62;
		&#60;/div&#62;
		&#60;div class=&#34;footnote&#34;&#62;
			&#60;p class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#fn1&#34; name=&#34;f1&#34;&#62;*1&#60;/a&#62;：IDEA12の標準プラグインを全て有効にした状態&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Sun, 23 Dec 2012 15:08:37 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][advent] 20日目 artifactの設定（ついでにProject Structure ）</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20121220/1356013598</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20121220/1356013598</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;Settingsの話は３回もやりましたが，Project Structureの話をしてませんでしたね。正直，面倒なので，昔に書いたエントリーやIntelliJ本体のヘルプを参照してください（だんだんやる気がなくなってる。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20091021#1256129174&#34; target=&#34;_blank&#34;&#62;初めてIntelliJに触れる人へ − プロジェクトの設定とかテスト実行の話&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;IntelliJのバージョンがあがるたびに設定画面もびみょうに変わってますが，まあ何とか読み替えられると思います。ちょっと補足すると，ライブラリの設定（File-&gt;Project Structure-&gt;Modules-&gt;Dependencies）にあるスコープ（Scope）は，Mavenを知らないと意味がわからないと思います。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121213704&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121213704.png&#34; alt=&#34;f:id:masanobuimai:20121121213704p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121213704p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;設定可能な値と意味は以下の通りです。&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62;&#60;b&#62;Compile&#60;/b&#62;

				&#60;ul&#62;
					&#60;li&#62; 普通はこれです。コンパイルや実行時に参照されます。&#60;/li&#62;
				&#60;/ul&#62;
				&#60;/li&#62;
				&#60;li&#62;&#60;b&#62;Test&#60;/b&#62;

				&#60;ul&#62;
					&#60;li&#62; テストコードのコンパイルとテストの実行時に参照されます。&#60;/li&#62;
					&#60;li&#62; junit.jarとかがここに属します。&#60;/li&#62;
				&#60;/ul&#62;
				&#60;/li&#62;
				&#60;li&#62;&#60;b&#62;Runtime&#60;/b&#62;

				&#60;ul&#62;
					&#60;li&#62; 実行時にだけ参照されます。コンパイル時には参照されませんので，コード補完の対象になりません。&#60;/li&#62;
					&#60;li&#62; 強いて言えばJDBCドライバなどが，ここに属します。&#60;/li&#62;
				&#60;/ul&#62;
				&#60;/li&#62;
				&#60;li&#62;&#60;b&#62;Provided&#60;/b&#62;

				&#60;ul&#62;
					&#60;li&#62; 実行環境にあらかじめ用意されているライブラリを指定します。コンパイル時に参照されますが，実行時には参照されません（実行環境に相当品があるので）。&#60;/li&#62;
					&#60;li&#62; 具体的に言うと，J2EEのAPI（javaee.jar）とかが，ここに属します。&#60;/li&#62;
				&#60;/ul&#62;
				&#60;/li&#62;
			&#60;/ul&#62;
			&#60;br /&#62;

			&#60;p&#62;NetBeansにも同様の考え方があるので，NetBeansからの移行組はすんなり理解できると思いますが，eclipseにはどうゆうわけか伝統的にこの考えが無いので，はじめは戸惑うかと思います。でも，これを知ってしまうとスコープが無い世界には戻れないと思いますヨ。:-)&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;あと，ライブラリはMaven Repositoryから直接ダウンロードできます。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20100729#1280412234&#34; target=&#34;_blank&#34;&#62;IntelliJ IDEA 10のEAPが登場したよ&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Artifactsの指定&#60;/h4&#62;
			&#60;p&#62;ちょっと脱線が長引いたのでセクション分けて本題に戻ります。IDEA9あたりからプロジェクトごとに成果物を定義できるArtifactsという機能がついきました。設定箇所は，File-&gt;Project Structure-&gt;Artifacts。&#60;/p&#62;
			&#60;p&#62;何ができるって「成果物を定義できる」んですが「成果物ってなによ？」と言うと，要するにJarファイルとかWARファイルとかEARファイルとかってアレです。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121214919&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121214919.png&#34; alt=&#34;f:id:masanobuimai:20121121214919p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121214919p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;使い方は，昔書いたこのあたりが参考になると思います。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20091210#1260445911&#34; target=&#34;_blank&#34;&#62;IntelliJ CE用Winstoneプラグイン公開しました&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;p&#62;これの良いところは，自分のニーズに応じていくつもの成果物を定義できることです。これで，zipファイルも作れれば，実行モジュールだけではなく，リリースモジュールも作れそうなので，ちょっと残念ではあります（だったら自分でプラグイン作ったら？という話でもありますが。:-P&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ps.&#60;/p&#62;
			&#60;p&#62;チーム開発する場合など，ライブラリや成果物の生成はIDEではなくAntやMavenといったビルドツールに任せるのが望ましいのです。ただ，個人の実験や趣味で作るちょっとしたプロジェクトなどは，IDEで完結できることが多いととても楽なのです。&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Thu, 20 Dec 2012 14:26:38 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][advent] 18日目 Databaseプラグイン</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20121218/1355756941</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20121218/1355756941</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;地味に便利な Databaseプラグインについてです。IDEからDBを操作する機能ですが、NetBeansにも似たような機能があるし、今やさほど珍しい機能ではないですね。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そんな中でIntelliJっぽいなぁという機能について紹介します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; DDL 文からDBの定義を再現&#60;/h4&#62;
			&#60;p&#62;この手の機能はDBに接続すると相場が決まっているのですが、IntelliJの場合、DDLが定義されたファイルだけでも、この機能を利用できます。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;使い方は、Databaseウィンドウを開き「＋」ボタンを押して &#34;DDL Data Source&#34;を選択。以下のようなダイアログが表示されるので，&#34;DDL Files&#34;の「＋」ボタンを押して，任意のDDLファイルを指定します。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121215845&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121215845.png&#34; alt=&#34;f:id:masanobuimai:20121121215845p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121215845p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;DB が別のネットワークにあるなどの理由で参照できないときでも、構造を可視化できて意外と助かる事が多いです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; スキーマの比較&#60;/h4&#62;
			&#60;p&#62;DB専用ツールだと、そんなの出来のがあったと思いますが、実はIntelliJでも出来ました。&#60;/p&#62;
			&#60;p&#62;Databaseウィンドウで比較したいスキーマを２つ選んで、ツールバーの「Compare」を押す。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121220250&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121220250.png&#34; alt=&#34;f:id:masanobuimai:20121121220250p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121220250p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;オンラインとDDLの比較なんてのもできるので，まあまあ便利です。普通のDiffと異なるのは，DDLの記述順に囚われずテーブルの比較をしてくれるので，DDLファイル同士のdiffを取るよりは，親切な結果が得られます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121220405&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121220405.png&#34; alt=&#34;f:id:masanobuimai:20121121220405p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121220405p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Language Injection でプログラム中でもコード補完&#60;/h4&#62;
			&#60;p&#62;Data Sourceが設定されている状態で，JDBC API（StatementやPrepareStatementクラスなど）にSQL文をタイプすると（うまくすると）コード補完が効きます。「うまくいくと」というのは，何か知らないけど上手く行かない事もままあるためです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;それと，JDBCではなく別のAPI（オレオレAPIだったりするかもしれません）で，SQL文の補完を有効にしたい場合は，Intension（ALT+Enter）メニューの&#34;Language Injections Settings&#34;から追加で設定することができます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121221506&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121221506.png&#34; alt=&#34;f:id:masanobuimai:20121121221506p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121221506p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;すると、こうなります。結構うれしい。:-)&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121221505&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121221505.png&#34; alt=&#34;f:id:masanobuimai:20121121221505p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121221505p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;特定のAPIだけではなく、String型のローカル変数に対してもLanguage Injectionをかけることが出来るのですが、その場合、次のようにIntelliJ固有のアノテーションを付けなければならないのが難しいところです。:-(&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121222424&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121222424.png&#34; alt=&#34;f:id:masanobuimai:20121121222424p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121222424p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;アノテーション付けなくても何とかする方法もあったと思ったのですが、ちょっとその設定を特定できてません...。が、IDEA12だとアノテーションやコメントアノテーションを使わなくてもLanguage Injectionができるようです。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121122231548&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121122/20121122231548.png&#34; alt=&#34;f:id:masanobuimai:20121122231548p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121122231548p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;（追記）しおしおさんが追加調査してくれました。:-)&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://siosio.hatenablog.com/entries/2012/12/18&#34; target=&#34;_blank&#34;&#62;しおしおの雑記帳&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; JPAについて&#60;/h4&#62;
			&#60;p&#62;一応、JPAエンティティを作る機能を持っていますが、あまり洗練されてるように思えないし、正直使いづらかったです。生成されるエンティティもアノテーションごてごてで見づらかった記憶が...。このへんについてはNetBeansのほうが扱いやすいと思います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;一応、画面の紹介だけしておきます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121121223241&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121121/20121121223241.png&#34; alt=&#34;f:id:masanobuimai:20121121223241p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121121223241p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;b&#62;（おまけ）DBの起動&#60;/b&#62;&#60;/p&#62;
			&#60;p&#62;NetBeansの組み込みJavaDBがうらやましくて、Derbyを起動・停止するだけのプラグインを作ったこともありますが、よーく考えてみると外部ツールに登録すれば済む話だったのはナイショです。:-)&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20071018#1192683885&#34; target=&#34;_blank&#34;&#62;Derbyプラグインできたよ&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ps.&#60;/p&#62;
			&#60;p&#62;本家ブログでIDEA12のDatabaseプラグインの説明が出ましたね。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://blogs.jetbrains.com/idea/2012/12/design-your-database-with-intellij-idea-12/?utm_source=feedburner&#38;amp;utm_medium=feed&#38;amp;utm_campaign=Feed:+jetbrains_intellijidea+%28JetBrains+IntelliJ+IDEA+Blog%29&#34; target=&#34;_blank&#34;&#62;Manage Your Database Schema in IntelliJ IDEA 12 | JetBrains IntelliJ IDEA Blog&#60;/a&#62;&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Mon, 17 Dec 2012 15:09:01 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Java][GIS]Javaで地図を表示〜GeoToolsを使って</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20121217/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20121217/p1</link>
	<description>はじめに Java Advent Calendar 2012の17日目です。 エントリ時は、昨年度まで担当していたJavaの仕事でenumのいろいろな活用を知ったので、enumについて整理を兼ねて書こうと思っていました。しかし、Javaのenumをググってみるとすでに数多くのenumの紹介記事があり、また、名著Effective Java 第2版 (The Java Series)で触れられていた「シングルトンをenumで」もちらほら紹介しているブログがあり、いまさら感がありました。 そこで、方針を ...</description>
	<pubDate>Mon, 17 Dec 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>きしだのはてな: [sencha][netbeans]Sencha Touchでの開発にNetBeans7.3が便利だったり微妙だったり</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20121213#1355390477</guid>
	<link>http://d.hatena.ne.jp/nowokay/20121213#1355390477</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;Sencha Advent Calendarの13日目の記事です。&#60;/p&#62;
			&#60;p&#62;「Sencha Advent Calendar 2012」&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://www.adventar.org/calendars/23&#34; target=&#34;_blank&#34;&#62;http://www.adventar.org/calendars/23&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Sencha Touchでの開発をするときの、NetBeansの便利なところと便利なはずなのに微妙なところを書いてみます。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; NetBeans7.3 beta2のセットアップ&#60;/h4&#62;
			&#60;p&#62;とりあえず、NetBeansのセットアップについて。&#60;/p&#62;
			&#60;p&#62;NetBeansはJavaで動くので、JDKのインストールが必要です。Sencha Cmdでも必要なので、Sencha Touchでの開発にはどっちにしろ必要ですね。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/java/javase/downloads/index.html&#34; target=&#34;_blank&#34;&#62;http://www.oracle.com/technetwork/java/javase/downloads/index.html&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;また、NetBeansは7.3からHTMLまわりが充実してきているので、正式版がでている7.2ではなく、beta2の7.3を使います。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://download.netbeans.org/netbeans/7.3/beta2/&#34; target=&#34;_blank&#34;&#62;http://download.netbeans.org/netbeans/7.3/beta2/&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;サポートテクノロジーは、一番簡素な「Java SE」版で大丈夫です。また、プラットフォームは「OSに依存しないZIP」にすれば解凍するだけで動かせるので、ちょっと試すのにインストーラはなーって人にも安心です。その場合はbinフォルダの実行ファイルを起動します。&#60;/p&#62;
			&#60;p&#62;etcフォルダのnetbeans.confファイルに、netbeans_jdkhomeの設定をしてJDKをインストールしたパスを指定しておくほうがいいかもしれません。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Sencha Touch用プロジェクトの作成&#60;/h4&#62;
			&#60;p&#62;まずはSencha Cmdでプロジェクトを生成します。senchaライブラリのフォルダで、次のようなコマンドで生成します。&#60;/p&#62;
			&#60;blockquote&#62;
			&#60;p&#62;&gt; sencha app generate Advent ..\advent&#60;/p&#62;
			&#60;/blockquote&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121213173708&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121213/20121213173708.png&#34; alt=&#34;f:id:nowokay:20121213173708p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121213173708p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;生成したSencha TouchプロジェクトをNetBeansのプロジェクトとして取り込みます。&#60;/p&#62;
			&#60;p&#62;NetBeans7.3から、HTML用のプロジェクトが用意されているので、これを使います。新規プロジェクトで「HTML5 Application with Existing Sources」を選択して「次へ」ボタンを押します。正式リリースされて日本語訳されると「既存のソースを利用するHTML5アプリケーション」になるんじゃないかと思います。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121213173706&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121213/20121213173706.png&#34; alt=&#34;f:id:nowokay:20121213173706p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121213173706p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そしたら、「Site Root」に先ほど作成したSencha Touchプロジェクトのパスを指定します。「Project Name」は適当なものをつけてください。&#60;/p&#62;
			&#60;p&#62;「Project Directory」は「Site Root」と同じものが埋め込まれます。ここで指定したパスにnbprojectというフォルダが作成されるのですが、ここにフォルダが生成されるのがイヤなときは、別のフォルダを選びます。nbprojectフォルダは、Sencha Cmdでのパッケージングのときには除外されるので、あまり気にしなくてもいいと思います。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121213173705&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121213/20121213173705.png&#34; alt=&#34;f:id:nowokay:20121213173705p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121213173705p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Sencha Touchアプリケーションの実行&#60;/h4&#62;
			&#60;p&#62;Sencha Cmdで生成したSencha Touchアプリケーションの実行には、Webサーバーが必要になります。&#60;/p&#62;
			&#60;p&#62;NetBeans7.3では、HTMLプロジェクトを実行すると内蔵のWebサーバーが起動するので、別にWebサーバーを用意する必要がなくて楽です。・・・と思ったら。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121213173659&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121213/20121213173659.png&#34; alt=&#34;f:id:nowokay:20121213173659p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121213173659p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;なんか、「touch/event/publisher/Dom.js」などのファイルがないといってエラーになって、ピコピコ画面がずっと表示されちゃいました &gt;_&#38;lt;&#60;/p&#62;
			&#60;p&#62;もちろん、単体でDom.jsファイルを指定するとちゃんと表示されるのですけど。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ということで、NetBeans外部のWebサーバーを使うことにします。これはnginxなどを準備しておいてください。&#60;/p&#62;
			&#60;p&#62;そしたら、NetBeansからプロジェクトのプロパティを開いて、「Run」カテゴリの「Web Server」に「External」を指定して、「Project URL」にプロジェクトを開くことができるURLを指定します。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121213180318&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121213/20121213180318.png&#34; alt=&#34;f:id:nowokay:20121213180318p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121213180318p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;また、このとき「Browser」として「Embedded WebKit Browser」を選択すると、JavaFXのブラウザを使って表示されます。&#60;/p&#62;
			&#60;p&#62;これは、WebKitをJavaでラップしたブラウザで、結構ちゃんとSencha Touchも動きます。ただ、ちょっとタブのアイコン表示がおかしいですけど。&#60;/p&#62;
			&#60;p&#62;このブラウザのいいところは、画面サイズを指定できることです。スマートフォンっぽいアイコンを指定すると、スマートフォンっぽい縦横比で表示されます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121213173704&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121213/20121213173704.png&#34; alt=&#34;f:id:nowokay:20121213173704p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121213173704p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;ChromeにNetBeans用プラグインを導入することでも同様のことができるので、安定性などを求める場合はそっちを使うほうがいいと思います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; 宣伝&#60;/h4&#62;
			&#60;p&#62;Sencha Touchの本を書いてます。基本的な使い方について全般的に書きました。&#60;/p&#62;
			&#60;blockquote&#62;
			&#60;div class=&#34;hatena-asin-detail&#34;&#62;
  &#60;a href=&#34;http://www.amazon.co.jp/exec/obidos/ASIN/4777517276/kishidassite-22/&#34;&#62;&#60;img src=&#34;http://ecx.images-amazon.com/images/I/51YdYOuwZkL._SL160_.jpg&#34; alt=&#34;Sencha Touchではじめるモバイルアプリ開発―無料で使える「HTML5」&#38;amp;「JavaScript」開発フレームワーク (I・O BOOKS)&#34; class=&#34;hatena-asin-detail-image&#34; title=&#34;Sencha Touchではじめるモバイルアプリ開発―無料で使える「HTML5」&#38;amp;「JavaScript」開発フレームワーク (I・O BOOKS)&#34; /&#62;&#60;/a&#62;
  &#60;div class=&#34;hatena-asin-detail-info&#34;&#62;
    &#60;p class=&#34;hatena-asin-detail-title&#34;&#62;&#60;a href=&#34;http://www.amazon.co.jp/exec/obidos/ASIN/4777517276/kishidassite-22/&#34;&#62;Sencha Touchではじめるモバイルアプリ開発―無料で使える「HTML5」&#38;amp;「JavaScript」開発フレームワーク (I・O BOOKS)&#60;/a&#62;&#60;/p&#62;
    &#60;ul&#62;
      
      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;作者:&#60;/span&#62; &#60;a href=&#34;http://d.hatena.ne.jp/keyword/%A4%AD%A4%B7%A4%C0%A4%CA%A4%AA%A4%AD&#34; class=&#34;keyword&#34;&#62;きしだなおき&#60;/a&#62;&#60;/li&#62;
      
      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;出版社/メーカー:&#60;/span&#62; &#60;a href=&#34;http://d.hatena.ne.jp/keyword/%B9%A9%B3%D8%BC%D2&#34; class=&#34;keyword&#34;&#62;工学社&#60;/a&#62;&#60;/li&#62;
      
      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;発売日:&#60;/span&#62; 2012/11&#60;/li&#62;
                                                      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;メディア:&#60;/span&#62; 単行本&#60;/li&#62;
      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;購入&#60;/span&#62;: 1人 &#60;span class=&#34;hatena-asin-detail-label&#34;&#62;クリック&#60;/span&#62;: 24回&#60;/li&#62;
      &#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/asin/4777517276/kishidassite-22&#34; target=&#34;_blank&#34;&#62;この商品を含むブログ (7件) を見る&#60;/a&#62;&#60;/li&#62;
    &#60;/ul&#62;
  &#60;/div&#62;
  &#60;div class=&#34;hatena-asin-detail-foot&#34;&#62;&#60;/div&#62;
&#60;/div&#62;

			&#60;/blockquote&#62;
			&#60;br /&#62;

			&#60;p&#62;ただ、刊行直前にSencha Touchがバージョンアップして、対応できてない点が多いので、こちらも参考にしてください。&#60;/p&#62;
			&#60;p&#62;「Sencha Touchの2.1バージョンアップでの書籍の記述からの変更点」&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://d.hatena.ne.jp/nowokay/20121116#1353052434&#34; target=&#34;_blank&#34;&#62;http://d.hatena.ne.jp/nowokay/20121116#1353052434&#60;/a&#62;&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Thu, 13 Dec 2012 09:21:17 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][advent] 12日目 IDEの設定（IDE Settings：後編）</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20121212/1355320150</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20121212/1355320150</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;設定編の後編です。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Keymap&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118225556&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118225556.png&#34; alt=&#34;f:id:masanobuimai:20121118225556p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118225556p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;ショートカットキーの設定を行います。Keymapsにはプリセットでいくつかのキーマップが登録してあるので，好みが合えばそちらを使うのも良いでしょう。「この手のはなるべくデフォルトを覚えたい」というならば，&#34;Default&#34;や&#34;Mac OS X 10.5+&#34;を選ぶと良いかと。&#60;/p&#62;
			&#60;p&#62;個人的には，IntelliJのデフォルトキーマップは分かりやすいと思ってないので，がしがしカスタマイズしてしまい，今となってはデフォルトキーマップでは使えない体になってしまいました（それにIdeaVIMも必須ｗ&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;他のIDEやエディタからの乗り換え組向けに&#34;Eclipse&#34;, &#34;NetBeans 6.5&#34;, &#34;VisualStudio&#34;, &#34;Emacs&#34;なんてのもありますが，その出来については未評価です。IntelliJのエディタはいわゆるモードレスエディタなので，お決まりのように&#34;Emacs&#34;キーマップがありますが，この手のEmacs風キーマップが生粋のEmacs使いを満足させた試しは無いので，それなりに見てあげると落胆も少ないかと思います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Keymapsの別の使い道として，IntelliJで提供している全コマンドを俯瞰することができます。&#34;Main menu&#34;はメニューバーの項目なので，なにもここで確認しなくても分かりますが，&#34;Editor Actions&#34;や&#34;Other&#34;などを覗いてみると面白い発見があると思います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;また「プラグインを入れたけど，そのプラグインがどんな機能を提供しているのかわからない」ときは，ここの&#34;Plug-ins&#34;を見ると，プラグインが提供しているコマンドを見つけることができます。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20120907#1347027979&#34; target=&#34;_blank&#34;&#62;IntelliJのショートカットを素早く知る方法＋α&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;それはそうと，WindowsでもMacでもIntelliJを使う場合，キーマップをどうしようか非常に悩みます。わたしは面倒なのでMacでもWindowsのキーマップを使っているので，コピー＆ペーストは Ctrl+C, Ctrl+V です。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Live Templates&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118225622&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118225622.png&#34; alt=&#34;f:id:masanobuimai:20121118225622p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118225622p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;			&#60;p&#62;スニペットというかキーワード展開を行うLive Templatesを設定します。プリセットされているテンプレートも非常に多いのですが，この手の機能は他のIDEにも実装されているので，特に取り上げるほどの機能ではありません。むしろ，キーワード展開がコード補完とは別のキーになっていたり&#60;span class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#f1&#34; name=&#34;fn1&#34; title=&#34;隠しオプションで変更可能ですが...。&#34;&#62;*1&#60;/a&#62;&#60;/span&#62;，キーワード展開例がプレビューできないなど，EclipseやNetBeansのソレと比べて劣っている気もします。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20070530#1180484459&#34; target=&#34;_blank&#34;&#62;31日間ReSharper一周 ... それIDEAでもできるよ（その７）&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Menu and Toolbars&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118225646&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118225646.png&#34; alt=&#34;f:id:masanobuimai:20121118225646p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118225646p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;メニューバーやツールバー，ナビバー，それにProjectウィンドウやエディタなどのコンテキストメニューの項目を設定します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Notifications&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118225701&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118225701.png&#34; alt=&#34;f:id:masanobuimai:20121118225701p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118225701p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;コンパイル結果，テスト結果など，IntelliJからのレスポンスの通知方法を設定します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Passwords&#60;/h4&#62;
			&#60;p&#62;主にバージョン管理システムとの連係で入力するパスワードをどこまで記憶していくかを設定します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Path Variables&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118225743&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118225743.png&#34; alt=&#34;f:id:masanobuimai:20121118225743p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118225743p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;いわゆる環境変数を設定します。が，あまり使った事はありません。Mavenプロジェクトを利用したときに「M2_HOMEはどこ？」と聞かれたくらいしか記憶がありません。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Plugins&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118225723&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118225723.png&#34; alt=&#34;f:id:masanobuimai:20121118225723p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118225723p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;プラグインマネージャです。&#34;Browse repositories&#34;で公式プラグインサイトに登録してあるプラグインの一覧から任意のプラグインをインストールできます。一覧で&#34;Bundle&#34;とあるのは，IntelliJ付属のプラグインで削除することはできません（無効化まで）。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;プラグインは非常にたくさんありますが，なんだかんだでIntelliJ標準のままか，JetBrains公式プラグインくらいしか使わなくなります。:-)&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;それと，プラグインのインストールやアンインストール，有効・無効化にはIntelliJの再起動が必要になります。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Quick Lists&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118225803&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118225803.png&#34; alt=&#34;f:id:masanobuimai:20121118225803p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118225803p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;お好みのコマンドを集約したQuickリストを登録します。Quickリストは，よく使うけど，ひとつひとつのショートカットキーを覚えられない，なんて場合に便利です。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20070517#1179377210&#34; target=&#34;_blank&#34;&#62;31日間ReSharper一周 ... それIDEAでもできるよ（その４）&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; TODO&#60;/h4&#62;
			&#60;p&#62;TODOウィンドウに表示する，TODOコメントのパターンを定義します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Updates&#60;/h4&#62;
			&#60;p&#62;自動アップデートの設定をします。アップデートモジュールは，必ずしもパッチ方式で提供されるわけではないようです（場合によっては，ダウンロードページにジャンプするだけもある。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Usage Statistics&#60;/h4&#62;
			&#60;p&#62;IntelliJの使用統計情報をJetBrainsに送信する頻度を設定します。使っているIntelliJの統計情報は，Help-&gt;Productivity Guideで確認できます。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Web Browsers&#60;/h4&#62;
			&#60;p&#62;IntelliJから起動できるWebブラウザを登録します。エディタでHTMLなどを編集していると，右上にブラウザアイコンが浮かんできますが，それのことです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#34;Default Web Browser&#34;は，View-&gt;Open in Browserで起動するWebブラウザの事です。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; XPath Viewer&#60;/h4&#62;
			&#60;p&#62;XPathに関する設定です。XPathに関するコマンドは，&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62; Edit-&gt;Find-&gt;Evaluate XPath　（ツールバーのヘルプアイコンの隣にもある）&#60;/li&#62;
				&#60;li&#62; Edit-&gt;Find-&gt;Find in XPath&#60;/li&#62;
				&#60;li&#62; View-&gt;Unique XPath&#60;/li&#62;
			&#60;/ul&#62;
			&#60;p&#62;の３つです。&#34;Find in XPath&#34;以外の２つは，XMLを編集しているエディタのコンテキストメニュー最下部も表示されます。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; XSLT&#60;/h4&#62;
			&#60;p&#62;XMLに関連付けしたXSLファイルをProjectウィンドウに表示するかどうか（Show Associated Files in Project View）の設定がありますが，XSLT使ってないのでどうなるかは分かってません。:-)&#60;/p&#62;
		&#60;/div&#62;
		&#60;div class=&#34;footnote&#34;&#62;
			&#60;p class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#fn1&#34; name=&#34;f1&#34;&#62;*1&#60;/a&#62;：隠しオプションで変更可能ですが...。&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Wed, 12 Dec 2012 13:49:10 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][advent] 10日目 IDEの設定（Project Settings）</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20121210/1355071570</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20121210/1355071570</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;File-&gt;SettingsのProject Settings編です。Project Structureとの明確な違いを言い表せませんが、長い歴史の名残りだと思って下さい。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;全部みたわけじゃないんですが、どうもこの「Project Settings」はIntelliJにしか無いみたいです。WebStormやRubyMineは「Settings（Preferences）」しかないです。たぶん、PhpStormやPyCharm, AppCodeも同じなんじゃないかな。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Code Style&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118222431&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118222431.png&#34; alt=&#34;f:id:masanobuimai:20121118222431p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118222431p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;コードフォーマッターで整形するルールを設定します。言語別に設定項目があり，正直うんざりします。設定を保存するSchemeのうち「&#60;b&#62;Default&#60;/b&#62;」は変更不可なので，別のSchemeを作って独自の設定をしましょう。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;JavaのImportの設定がちょっと分かりづらいですが，Java-&gt;Importsを以下のように設定するのを好んでいます。&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62; Use single class import を ON にして，import hoge.* にしない（それ以外はすべてOFF）&#60;/li&#62;
				&#60;li&#62; Names count to use static import with '*' に 1 を設定して static import は速攻で * を使う&#60;/li&#62;
			&#60;/ul&#62;
			&#60;br /&#62;

			&#60;p&#62;それとJavadoc系の設定（Java-&gt;JavaDoc）は，日本語の処理がイマイチなので全体的に無効（Enable JavaDoc formattingをOFF）にしておくと良いです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そうそう，言語ごとにタブサイズの設定がありますが，どうゆうわけかHTMLにはその項目がありません。じゃあ，HTMLのタブサイズはどこで設定するかというと一般（General）のタブサイズが適用されますので，ご注意を。&#60;/p&#62;
			&#60;p&#62;＃IDEA12だとHTMLの設定にタブサイズ指定ができてました（よかったよかった。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;また、以前説明したように改行コードの指定（Line separator (for new files)）も、ここでおこないます。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121029#1351515432&#34; target=&#34;_blank&#34;&#62;IntelliJでファイルの改行コードを指定する&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Compiler&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121115230226&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121115/20121115230226.png&#34; alt=&#34;f:id:masanobuimai:20121115230226p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121115230226p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;コンパイラの設定をします。Project Structure のSDKと分かれてるのが、正直不満です。&#60;/p&#62;
			&#60;p&#62;ここでは、javacに渡すオプション（Compiler-&gt;Java Compiler）とか、コンパイル時にビルドディレクトリにコピーするリリースファイルのパターン（Resource patterns）などを設定します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;最近流行りのAnnotation Processorの設定（Compiler-&gt;Annotation Processors）もここで行います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Copyright&#60;/h4&#62;
			&#60;p&#62;IntelliJのおもしろプラグイン、Copyrightの設定を行います。詳しくは他のエントリーで書きます。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Coverage&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118223717&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118223717.png&#34; alt=&#34;f:id:masanobuimai:20121118223717p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118223717p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;カバレッジの結果の収集方法に関する設定です。サーバサイドJavaでもカバレッジ取れるようになったので、もう&#60;a href=&#34;http://www.atlassian.com/software/clover/&#34; target=&#34;_blank&#34;&#62;Clover&#60;/a&#62;要らないｗ&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Deployment&#60;/h4&#62;
			&#60;p&#62;IntelliJのおもしろプラグイン、Remote Hostの設定を行います。こちらも詳しくは他のエントリーで書きます。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; File Colors&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118223747&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118223747.png&#34; alt=&#34;f:id:masanobuimai:20121118223747p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118223747p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;ファイルのパターンを指定して、その表示色を設定します。設定した色はProject ウィンドウやエディタのタブに反映されます。巨大なプロジェクトでファイルを視覚的に区分けしたい時など、便利と言えば便利な機能です。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20090710#1247237390&#34; target=&#34;_blank&#34;&#62;More Colors with Maia&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; File Encodings&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118223816&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118223816.png&#34; alt=&#34;f:id:masanobuimai:20121118223816p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118223816p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;その名の通り、ファイルのエンコードを設定します。ディレクトリやファイル単位に細かく指定できるのでかなり便利です（残念なことに拡張子別には指定できませんが...。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ひとつ落とし穴がありまして，Project Settingsに属しながらも，ここの「&#60;b&#62;IDE Encoding&#60;/b&#62;」はプロジェクト固有の設定ではなく，IDE共通の設定になります。さらにこのエンコードはコンパイラに渡されますので「IDE EncodingはUTF-8だけど，たまにWindows-31Jで作成したプロジェクトを開く」といったシチュエーションのとき大変困ります。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;IDE Encodingとプロジェクトのソースのエンコードが異なる場合は，Compiler-&gt;Java Compiler-&gt;Additional command line parametersに以下のような設定をしておく必要があります。&#60;/p&#62;
&#60;pre&#62;-encoding Windows-31J
&#60;/pre&#62;

			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20091026#1256557565&#34; target=&#34;_blank&#34;&#62;初めてIntelliJに触れる人へ − Javadocの日本語化&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;あと申し訳ついでにプロパティファイルに関する設定もここにあります。画面下のほうにひっそりあるので，よく見落とします。設定項目は以下の２つです。&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62; プロパティファイルのエンコードを指定する（Default encoding for properties files）&#60;/li&#62;
				&#60;li&#62; 自動的に native2ascii を行うかを設定する（Transparent nattive-to-ascii conversion）&#60;/li&#62;
			&#60;/ul&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Gant/Gradle&#60;/h4&#62;
			&#60;p&#62;Groovy のビルドツール、GantとGradleの設定です。といってもツールのパスを指定するだけです。&#60;/p&#62;
			&#60;p&#62;Gantは正直オワコンですよね。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; GUI Designer&#60;/h4&#62;
			&#60;p&#62;GUI デザイナっで作った画面をソースに展開するか、バイナリのままにするかを指定します（Generate GUI into）。&#60;/p&#62;
			&#60;p&#62;バイナリのままだど、そのプログラムの実行環境にIntelliJのランタイムライブラリが必要になります。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;何よりGUI デザイナ自体、IntelliJのプラグインでGUI使うときくらいしか使いません。GUI デザイナはNetBeansのほうが万人向けだと思います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Inspections&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118223855&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118223855.png&#34; alt=&#34;f:id:masanobuimai:20121118223855p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118223855p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;Hectorおじさんの指摘項目を設定します。要するにFindBugsとCheckstyleのIntelliJ版です。気が遠くなるほど設定項目がありますが，ヒマなときに全部眺めてみると意外な発見があると思います。結構，いろいろやってます。&#60;/p&#62;
			&#60;p&#62;ちょっと面白いInsectorがありまして、General-&gt;Structural Search Inspectionでは、IntelliJのStructural SearchやReplace（Edit-&gt;Find-&gt;Search/Replace Structurally）の検索・置換パターンを登録してそれをリアルタイムに検査することができます。Replaceの場合、置換結果を修正候補に出せます。&#60;/p&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121124004815&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121124/20121124004815.png&#34; alt=&#34;f:id:masanobuimai:20121124004815p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121124004815p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;以前、@&#60;a href=&#34;http://twitter.com/_siosio_&#34; class=&#34;twitter-user-screen-name&#34;&#62;_siosio_&#60;/a&#62;さんが紹介していたStructural Searchを登録しておくなんてことができます。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://siosio.hatenablog.com/?page=1347883308&#34; target=&#34;_blank&#34;&#62;IntelliJのStructural Searchでfail文のない異常系テストコードを抽出 - しおしおの雑記帳&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; JavaScript&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118223917&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118223917.png&#34; alt=&#34;f:id:masanobuimai:20121118223917p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118223917p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;JavaScriptの言語レベルの指定（JavaScript language version）や使用するライブラリ（JavaSciprt-&gt;Libraries），コード検査（JavaSciprt-&gt;Code Quality Tools）の設定を行います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Language Injections&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118224117&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118224117.png&#34; alt=&#34;f:id:masanobuimai:20121118224117p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118224117p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;IntelliJのヘンタイ機能のLanguage Injectionsの設定を行います。「Language Injectionsって何？」という方は，こちらを参照してください。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20081106#1225976941&#34; target=&#34;_blank&#34;&#62;Language Injectionオモロイ&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;おもしろい機能ではあるのですが、実際のところJDBCのStatementなど該当するAPIに直接文字列をハードコードすることは希で、普通はStringなりStringBuilder/StringBufferなどの変数や定数に、お目当ての文字列代入しとく事が多いので、本当に役に立つかはわかりません。:-P&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Maven&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118224508&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118224508.png&#34; alt=&#34;f:id:masanobuimai:20121118224508p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118224508p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;Mavenの設定です。Gant/Gradleで暗に言ってますが，IntelliJにはこの手のよく使うであろうビルドツール&#60;b&#62;も&#60;/b&#62;バンドルしてません。Mavenそのものを別途インストールしておき，そのパスを指定します。ただし、どうゆうワケかAntだけはIntelliJにバンドルされています。Project Settingsに項目はありませんが，Antの設定はAnt Buildウィンドウで行います。ようするに、IntelliJ当初からAntをサポートしており、そのときはビルドツールなんてAntくらいしか無かったのでバンドルしてただけ、というのが続いているだけなんだと思います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;IntelliJはMavenのpomをそのままプロジェクトとして読み込めますが，その関連をどうするか（Maven-&gt;Importing）やMavenのリポジトリの設定（Maven-&gt;Repositories）などを行います。わたし自身が，Mavenそのものをあまり使ってないので，細かいところまではわかりません。＞＜&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Schemas and DTDs&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118224541&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118224541.png&#34; alt=&#34;f:id:masanobuimai:20121118224541p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118224541p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;XMLを編集するときに参照するXMLスキーマやDTDなどを登録します（External Schemas and DTDs），もしくは無視させる（Ignored Schemas and DTDs）。あと，ここに置くしか無かったのでしょうか？HTMLの言語レベルの指定（Default HTML language level）もここにあります。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Scopes&#60;/h4&#62;
			&#60;p&#62;Projectウィンドウや先ほどのFile Colorsや検索などで，ある条件でプロジェクトの対象を絞り込むスコープ（Scope）の設定を行います。ピンとこない方は，こちらを参照してください。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20080508#1210226264&#34; target=&#34;_blank&#34;&#62;特定のファイルのみを表示するようにスコープ設定してみた&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;これもある程度大きなプロジェクトを扱っていると便利な機能です。独自のスコープを設定し，「ああ，IntelliJ使っててよかった」とほくそ笑むと良いでしょう。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Spelling&#60;/h4&#62;
			&#60;p&#62;スペルチェックで使う単語（Accepted Words）や辞書（Dictionaries）を設定します。「スペルチェックそのものがうざい」場合は，「Configure 'Spelling' inspection」のリンクから，スペルチェックそのものを無効にしてしまいましょう。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; SQL Dialects&#60;/h4&#62;
			&#60;p&#62;SQLファイルの中身がOracle用なのかDB2用なのかといった方言（SQL Dialect）を指定します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Tasks&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118224720&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118224720.png&#34; alt=&#34;f:id:masanobuimai:20121118224720p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118224720p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;BTS/ITSと連係するTasksの設定を行います。eclipseで言うところのMylynみたいなものです（乱暴な説明だなｗ）。連係するサーバ（Tasks-&gt;Servers）は数多くあります（JIRA, YouTrack, Lighthouse, PivotalTracker, GitHub, Redmine, Trac, Bitbucket）。おそらく連係可能なサーバはプラグインで追加できるのだと思いますが，JetBrains純正のプラグインでしか，この項目が追加されるプラグインを見たことがありません。たとえば，&#60;a href=&#34;http://www.backlog.jp/&#34; target=&#34;_blank&#34;&#62;Backlog&#60;/a&#62;と連係したい場合は，誰かがガンバらないと叶わないでしょう（チラッ&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;私自身，手近にあるBTS/ITSがTrac/Redmine/GitHubくらいなのですが，どうゆうわけかTrac連係だけうまく行きませんでした。:-(&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Template Data Languages&#60;/h4&#62;
			&#60;p&#62;ファイルの言語タイプを設定します。本来は拡張子によってファイルタイプが決まるのですが，なんらかの理由でファイルタイプを変更したいときに指定するのでしょうか？（使ったこと無い）。実際試してみましたが，拡張子のほうが強かったです（何に使うんだろう...）。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Version Control&#60;/h4&#62;
			&#60;p&#62;　　&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121118224748&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121118/20121118224748.png&#34; alt=&#34;f:id:masanobuimai:20121118224748p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121118224748p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;Subversion, Git, Mercurialといったバージョン管理システムとの連係方法を設定します。設定上，同一のプロジェクトで複数のバージョン管理システムと連係できるみたいですが，同じディレクトリに異なるバージョン管理システムを指定すると，IntelliJが混乱するようです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;特定のバージョン管理システムに依存しない無視するファイルの指定（Version Control-&gt;Ignored Files）もできます。設定をみると「FileInfo.iws」と「.idea/workspace.xml」がデフォルト値なってますが，これ以外のIntelliJの管理ファイルを登録しても大丈夫なのかは，正直自身がありません（IntelliJでチーム開発したことがないので...）。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Tasksではなく，ここにこの設定があるのも微妙なのですが，コミットログに含まれるBTS/ITSのチケット番号と，それに対応するBTS/ITSのリンクも設定できます（Version Control-&gt;Issue Navigation）。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Web Contexts&#60;/h4&#62;
			&#60;p&#62;Webコンテキストを設定します。プロジェクトがJavaでWebファセット（要するにWebアプリケーションプロジェクト）がついている場合，同様の設定はProject Structureでできるのに，なぜ似たような設定がここにあるのかが不思議でなりません。一瞬「Webモジュール用かな？」と思いましたが，Webモジュールの場合，ここに設定可能な情報が出てきませんでした。ますますもって謎です。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そんなこともあって，この項目は気にしたことがありません。:-P&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; XSLT File Associations&#60;/h4&#62;
			&#60;p&#62;XSLTを設定するようです。というのもの，XSLT自体もう何年も扱ったことが無いので，ここをいじる用事もなく，なにができるのかもよくわかってません。:-)&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Sun, 09 Dec 2012 16:46:10 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Java][JavaFX]Windows OS上でのJavaFX Scene Builder 1.1プレビュー版とNetBeans 7.3開発版の組み合わせについて</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20121208/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20121208/p1</link>
	<description>JavaFX Scene Builderは、現時点で正式版の1.0と、開発中の1.1アーリーアクセス版がOracleのJavaFXツールページから入手可能です。   http://www.oracle.com/technetwork/java/javafx/tools/index.html  Windows用は、”Windows 32/64 bit (msi)”と記載されていますが、本日時点でダウンロードできるb13は32bit版のみでした。 NetBeans IDEはJavaFXアプリケーション開発 ...</description>
	<pubDate>Sat, 08 Dec 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][advent] 06日目 IDEA12とIDEA11の比較</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20121206/1354745257</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20121206/1354745257</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;（このエントリーは11月23日に書きました）そろそろIDEA12のリリースが近づいてきたので記念にIDEA11との違いを探してみます。比較に使ったのはEAP123.4なので正式リリース版と変わってる可能性はあります。このエントリーを公開するときには正式リリースしてるんだろうか？&#60;/p&#62;
			&#60;p&#62;→ 正式版がリリースされたので、このエントリも公開しました。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; トップページのデザインが変わった&#60;/h4&#62;
			&#60;p&#62;Public Privewの時にトップページからメニューバーとプラグインの一覧がなくなったのでがっかりしてましたが、EAP123.4でまた、ちょっとデザインが変わりました。&#60;/p&#62;
			&#60;p&#62;プラグインの一覧は相変わらずありませんが、Settingsを開けるので、そこからプラグインマネージャにたどり着けます。一手間増えて面倒ですけど...。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Quick Start欄が、一部スライドメニューになっていて、何か変えたがってる雰囲気がうかがえます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193814&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193814.png&#34; alt=&#34;f:id:masanobuimai:20121123193814p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193814p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; アイコンがのっぺりした&#60;/h4&#62;
			&#60;p&#62;パステル調とでもいうのか，ちょっと不思議なアイコンになりました。見た目は世の中の流行り廃りもあるので，一概にどうとは言えませんが，伝統的にJetBrainsのUIデザイン（主に見た目）の評判はよくありません（暗に悪いって言ってるｗ&#60;/p&#62;
			&#60;p&#62;UIデザインがガマンできる範疇かは利用者の主観によるので，受け付けない人は縁が無かったと思うほかありませんね。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193815&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193815.png&#34; alt=&#34;f:id:masanobuimai:20121123193815p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193815p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;IDEA12のアイコンが気に入らない人向けに，IDEA11のアイコンに戻すプラグインがあります。:-)&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20121017/1350482728&#34; target=&#34;_blank&#34;&#62;IDEA12 EAP Build 122.519 からアイコンが変わった&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; ダークテーマ：Darcula&#60;/h4&#62;			&#60;p&#62;エディタのカラースキームで&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20110505/1304607170&#34; target=&#34;_blank&#34;&#62;Solarized Dark&#60;/a&#62;のようにダーク基調のものが流行っているせいか，UI全体をダーク基調にする「Darcula」というテーマが追加されました。設定は，File-&gt;Settings-&gt;Appearance-&gt;Theme&#60;span class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#f1&#34; name=&#34;fn1&#34; title=&#34;IDEA11までは&#34;&#62;*1&#60;/a&#62;&#60;/span&#62;から「Darcula」を選びます。ご丁寧にエディタのカラースキーム（File-&gt;Settings-&gt;Editor-&gt;Colors &#38;amp; Fonts）も「Darcula」に設定されます。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;正直...かっこ悪いです...。:-P&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Problemsウィンドウ&#60;/h4&#62;
			&#60;p&#62;NetBeansやEclipseにある，コンパイルエラーを随時表示しているアレです。インクリメンタルビルドを持たないIntelliJは，いままでずーっと明示的にビルドしないと，コンパイルエラーを知ることができなかったのですが，IDEA12でついにProblemsウィンドウができました。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;File-&gt;Settings-&gt;Compilerに「Make project automatically」という項目が増えており、これを有効にしないとダメなようです。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193816&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193816.png&#34; alt=&#34;f:id:masanobuimai:20121123193816p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193816p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;この項目を有効にすると，編集しているファイルを保存するタイミングで，Problemsウィンドウにエラーが表示されるようになりました。ちょっと使ってみた感じでは、そんな便利には思えませんでした。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193817&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193817.png&#34; alt=&#34;f:id:masanobuimai:20121123193817p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193817p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; コード補完（Code-&gt;Completion）からクラス名補完（Class Name）が無くなった&#60;/h4&#62;
			&#60;p&#62;どうやら，ベーシック（Basic）に統合されたようです。まあ，普段から使う補完種別ではなかったので，良い事です。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; View-&gt;Show Byte Codeでバイトコードが見れる&#60;/h4&#62;
			&#60;p&#62;ほほう。これはこれは。:-)&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193818&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193818.png&#34; alt=&#34;f:id:masanobuimai:20121123193818p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193818p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62; &#60;/p&#62;
			&#60;h4&#62; プロジェクト作成方法がちょっと変わった&#60;/h4&#62;
			&#60;p&#62;New Projectウィザードの最初の画面がこんな風に変わってました。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193819&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193819.png&#34; alt=&#34;f:id:masanobuimai:20121123193819p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193819p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Public Previewで無くなってしまった「Import project from external model」「Create project from existing sources」はEAP123.4で復活してましたね。&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h4&#62; Settingsまわりの違い&#60;/h4&#62;
			&#60;p&#62;Project Structureはあまり違いを見つけられませんでしたので割愛します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h5&#62; Code Style-&gt;HTMLにタブサイズの設定がついた&#60;/h5&#62;
			&#60;p&#62;よかった。よかった。:-)&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193820&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193820.png&#34; alt=&#34;f:id:masanobuimai:20121123193820p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193820p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h5&#62; Code Style-&gt;JavaにArrange項目がついた&#60;/h5&#62;
			&#60;p&#62;&#60;a href=&#34;http://plugins.intellij.net/plugin/?id=173&#34; target=&#34;_blank&#34;&#62;Rearrangerプラグイン&#60;/a&#62;が統合されたようです。くわしくはこちら。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://blogs.jetbrains.com/idea/2012/10/arrange-your-code-automatically-with-intellij-idea-12/&#34; target=&#34;_blank&#34;&#62;Arrange Your Code Automatically with IntelliJ IDEA 12 | JetBrains IntelliJ IDEA Blog&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193821&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193821.png&#34; alt=&#34;f:id:masanobuimai:20121123193821p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193821p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h5&#62; Compilerのオプションが若干変更してる&#60;/h5&#62;
			&#60;p&#62;Compilerにヒープサイズの指定（Compiler process heap size(Mbytes)）やVMオプションの指定（Additional compiler process VM options）が増えてます。その代わり（？），Compiler-&gt;Java CompilerにバイトコードのターゲットVMが指定できるようになりました（Project bytecode version (leave blank for jdk default)）。IDEA12からバイトコードビューアがつくと言ってましたので，それにちなんだ設定なのだと思います。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121123193822&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121123/20121123193822.png&#34; alt=&#34;f:id:masanobuimai:20121123193822p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121123193822p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;h5&#62; プラグイン&#60;/h5&#62;
			&#60;p&#62;見たこと無いプラグインがいくつか増えてますね。&#60;/p&#62;

			&#60;ul&#62;
				&#60;li&#62; Android Designer&#60;/li&#62;
				&#60;li&#62; Application Servers View&#60;/li&#62;
				&#60;li&#62; Base Cucumber&#60;/li&#62;
				&#60;li&#62; Byte Code Viewer&#60;/li&#62;
				&#60;li&#62; Cloud Foundry integration&#60;/li&#62;
				&#60;li&#62; CloudBees integration&#60;/li&#62;
				&#60;li&#62; Cucumber for Groovy&#60;/li&#62;
				&#60;li&#62; Cucumber for Java&#60;/li&#62;
				&#60;li&#62; JBoss jBPM&#60;/li&#62;
				&#60;li&#62; Maven Integration Extension&#60;/li&#62;
				&#60;li&#62; Playframework Support&#60;/li&#62;
				&#60;li&#62; Remote Run&#60;/li&#62;
				&#60;li&#62; Spring Batch&#60;/li&#62;
				&#60;li&#62; Vaadin Support&#60;/li&#62;
			&#60;/ul&#62;
		&#60;/div&#62;
		&#60;div class=&#34;footnote&#34;&#62;
			&#60;p class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#fn1&#34; name=&#34;f1&#34;&#62;*1&#60;/a&#62;：IDEA11までは&#34;Look and feel&#34;だった。&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Wed, 05 Dec 2012 22:07:37 +0000</pubDate>
</item>
<item>
	<title>marsのメモ: [IDEA][advent] 05日目 Eclipseとの違い</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/masanobuimai/20121205/1354633460</guid>
	<link>http://d.hatena.ne.jp/masanobuimai/20121205/1354633460</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;多くの人は，なにかしらeclipseにガッカリしてIntelliJに手を出すと思いますが，IntelliJとeclipseは操作体系からずいぶん違いがあります。eclipseに慣れてからIntelliJに手を出すと，逆にガッカリする事請け合いだと思うので，主だった違いを列挙しとこうと思います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; インクリメンタルビルド&#60;/h4&#62;			&#60;p&#62;インクリメンタルビルドはeclipseの目玉機能のひとつだと思いますが，残念ながらIntelliJにはありません（IDEA12にそれっぽい設定項目&#60;span class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#f1&#34; name=&#34;fn1&#34; title=&#34;File -&gt; Settings -&gt; Compiler -&gt; Make project automatically&#34;&#62;*1&#60;/a&#62;&#60;/span&#62;がありましたが，はたしてあれはインクリメンタルビルドなんだろうか...&#60;span class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#f2&#34; name=&#34;fn2&#34; title=&#34;どうもIDEA12のそれは、インクリメンタルビルドに近い機能っぽいです。&#34;&#62;*2&#60;/a&#62;&#60;/span&#62;）。&#60;/p&#62;			&#60;p&#62;これに連動した話で，eclipseのProblemsビューのように現在のエラー状況を一覧表示するウィンドウもありません&#60;span class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#f3&#34; name=&#34;fn3&#34; title=&#34;一応、ProjectツールウィンドウにProblemsというビューはありますが、eclipseのそれとは趣旨が異なるかなと...&#34;&#62;*3&#60;/a&#62;&#60;/span&#62;。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;じゃあ，どうするかというとビルドはビルドボタン（もしくは相当のショートカットキー）を押さない限り実行されません（クリーンビルドなどは Build メニューから行います）。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121114212856&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121114/20121114212856.png&#34; alt=&#34;f:id:masanobuimai:20121114212856p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121114212856p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ビルドを実行すると，その結果が Messagesウィンドウに表示されますので，結果としてコンパイルエラーになったファイルの一覧がそこに表示されます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/masanobuimai/20121114213254&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/m/masanobuimai/20121114/20121114213254.png&#34; alt=&#34;f:id:masanobuimai:20121114213254p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:masanobuimai:20121114213254p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;この操作系になれちゃっているので，実のところインクリメンタルビルドの便利さを分かってませんｗ IDEA12でコンパイラ周りが改善されるようなので，次のバージョンではちょっとはマシになってるかも知れませんね。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://blogs.jetbrains.com/idea/2012/06/brand-new-compiler-mode-in-intellij-idea-12-leda/&#34; target=&#34;_blank&#34;&#62;Brand New Compiler Mode in IntelliJ IDEA 12 Leda | JetBrains IntelliJ IDEA Blog&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; ワークスペースやプロジェクトの考え方&#60;/h4&#62;
			&#60;p&#62;そもそもワークスペースという考え方が無いです。強いて言えば，IntelliJのプロジェクトがeclipseのワークスペースに相当します。eclipseのプロジェクトが，IntelliJのモジュールに相当します。&#60;/p&#62;
			&#60;p&#62;その辺は，このドキュメントが詳しいです。ありがたいことに日本語に訳してくれた方がいます。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://wiki.jetbrains.net/intellij/Eclipse_FAQ&#34; target=&#34;_blank&#34;&#62;Eclipse FAQ - IntelliJ-Wiki&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/fuzzhead/20110731/p1&#34; target=&#34;_blank&#34;&#62;Eclipseユーザの為のIntelliJ IDEA Q&#38;amp;A - 砂漠の音楽&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; 設定まわり&#60;/h4&#62;
			&#60;p&#62;だいたい，こんな対比になります。&#60;/p&#62;

			&#60;table&#62;
				&#60;tbody&#62;&#60;tr&#62;&#60;th&#62;　&#60;/th&#62;&#60;th&#62;eclipse&#60;/th&#62;&#60;th&#62;IntelliJ&#60;/th&#62;&#60;/tr&#62;
				&#60;tr&#62;&#60;td&#62;IDEの設定&#60;/td&#62;&#60;td&#62;Window-&gt;Preferences&#60;/td&#62;&#60;td&#62;File-&gt;Settings&#60;/td&#62;&#60;/tr&#62;
				&#60;tr&#62;&#60;td&#62;プロジェクトの設定&#60;/td&#62;&#60;td&#62;(Projectを選んで) Properties&#60;/td&#62;&#60;td&#62;File-&gt;Project Structure&#60;/td&#62;&#60;/tr&#62;

			&#60;/tbody&#62;&#60;/table&#62;
			&#60;br /&#62;

			&#60;h4&#62; Ctrl+1とかCtrl+2とか&#60;/h4&#62;
			&#60;p&#62;eclipseの空気読み機能であるCtrl+1（Quick fix），Ctrl+2（Quick Assist）ですが，これに相当する機能はIntelliJにはありません。辛うじてAlt+Enter（Show Intention Action）が近いですが，Ctrl+1ほど何でもアリな機能ではないです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;eclipseとの発想の違いだと思いますが，「何か分かんないけど，良い方法を教えて」に答えてくれるeclipseに対して，IntelliJは「こんな事やりたいから手伝って」的なアプローチを取っています。よって，そもそもやりたいことを指示してこそ，IntelliJが輝くとも言えます。&#60;/p&#62;
			&#60;p&#62;そうは言ってもずっと受け身なわけではなく「おいおい，ここヘンじゃね？」的な指摘は都度してくれます。&#60;/p&#62;
			&#60;br /&#62;
			&#60;p&#62;コード補完でも同じで「&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20070530/1180484459&#34; target=&#34;_blank&#34;&#62;Ctrl+Spaceの一族&#60;/a&#62;」で書いたように，補完目的（ノーマル，スマート，クラス名&#60;span class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#f4&#34; name=&#34;fn4&#34; title=&#34;クラス名補完はIDEA12からは無くなったようです。&#34;&#62;*4&#60;/a&#62;&#60;/span&#62;，テンプレート展開）に応じてキーを使い分けないとイケない。ちなみに，テンプレート展開（Live Template）については，隠しオプションを有効にすることで通常補完でも使えるようになります。&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20120827/1346073417&#34; target=&#34;_blank&#34;&#62;IntelliJの隠しオプション一覧&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; 早いか遅いか&#60;/h4&#62;
			&#60;p&#62;よくTwitterのタイムラインとかで「eclipseは遅い」と聞きますが，IntelliJも十分遅いと思います。特に立ち上げ時のインデックス作成なんてのは顕著ですね（それでもNetBeansのよりは早いかも）。インデックス作り終わってからは，それなりにサクサク動きますが，この辺はモロに主観の問題ですし，なんだかんだでマシンスペックが支配的なので，どっちがどうとは言えないかと思います。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; UIがカッコいいか悪いか&#60;/h4&#62;
			&#60;p&#62;SWTでプラットフォームネイティブっぽいUIのeclipseと，いかにもJavaでございなIntelliJ（NetBeansも似たり寄ったり）と比べてどっちがカッコ良いかってのも難しい問題だなーと思います。これもまた好みの問題で，時代背景もある程度影響しますので，どっちが気に入るかは，その人次第ってことで。:-)&#60;/p&#62;
			&#60;p&#62;→ &#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/20120714/1342195799&#34; target=&#34;_blank&#34;&#62;IntelliJの見た目の歴史&#60;/a&#62;&#60;/p&#62;
		&#60;/div&#62;
		&#60;div class=&#34;footnote&#34;&#62;
			&#60;p class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#fn1&#34; name=&#34;f1&#34;&#62;*1&#60;/a&#62;：File -&gt; Settings -&gt; Compiler -&gt; Make project automatically&#60;/p&#62;
			&#60;p class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#fn2&#34; name=&#34;f2&#34;&#62;*2&#60;/a&#62;：どうもIDEA12のそれは、インクリメンタルビルドに近い機能っぽいです。&#60;/p&#62;
			&#60;p class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#fn3&#34; name=&#34;f3&#34;&#62;*3&#60;/a&#62;：一応、ProjectツールウィンドウにProblemsというビューはありますが、eclipseのそれとは趣旨が異なるかなと...&#60;/p&#62;
			&#60;p class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/masanobuimai/#fn4&#34; name=&#34;f4&#34;&#62;*4&#60;/a&#62;：クラス名補完はIDEA12からは無くなったようです。&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Tue, 04 Dec 2012 15:04:20 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Java][JavaFX]依存するJARがあるJavaFXアプリケーションの実行可能JAR作成</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20121202/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20121202/p1</link>
	<description>JavaFX Advent Calendar 12月3日担当です。 11/30開催の「第8回JavaFX勉強会」（日本JavaFXユーザーグループ主催）で、「ダブルクリックで起動する JavaFX アプリケーション JAR の仕組み 」を発表をしてきました。 この発表では、作成するプログラムがJava SE／JavaFX以外の他のJARに依存しない単純な形式を対象にしていました。 発表の質疑応答にて、依存するJARがあり複数のJARで構成されるアプリケーションの場合について質問を受けました。事前に調査 ...</description>
	<pubDate>Sun, 02 Dec 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Linux][Java]Fedora 17にOracle JDK7u9およびNetBeans 7.3 beta2をインストール</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20121125/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20121125/p1</link>
	<description>Fedora 17には、OpenJDK 1.7.0が標準搭載されています。Fedora 17のアップデートをすると、現時点ではUpdate9が入ります。 ただし、Oracle JDKと違ってJavaFXは含まれていないので、JavaFXアプリケーションを作成するには、Oracle JDKを入れる必要があります。 そこで、Fedora 17に、Oracle JDK7 u9をインストールし、合わせてNetBeans 7.3 beta2をインストールし、パス設定、フォント設定をします。  OpenJDK 1 ...</description>
	<pubDate>Sun, 25 Nov 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>torutkの日記: [Java]JavaFXアプリケーションをインストーラ形式(msi）に</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/torutk/20121119/p1</guid>
	<link>http://d.hatena.ne.jp/torutk/20121119/p1</link>
	<description>id:torutk:20120901で、JavaFXのコマンドjavafxpackagerを使って実行可能JAR形式ファイルを作成する方法を紹介しました。今日は、そのjavafxpackagerで、OS固有のインストーラ形式としてWindows OS用のMSI形式インストーラを作成する方法を追究してみます。  情報収集   Oracle Blogs 日本語のまとめ: [JavaFX] Native packaging for JavaFX  Oracle blogの翻訳で、JavaFX ...</description>
	<pubDate>Mon, 19 Nov 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: [NetBeans]NetBeansのバグを報告してみる(3)</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20121106#p1</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20121106#p1</link>
	<description>前回の、バグはfixされてナイトリービルドではfixしてるらしいです。 よかったー。 ということで、次は、グレップ検索して、検索結果をタブを閉じずに２回目のグレップ検索をすると、エディット機能が無効になってしまうバグを報告してみました。 http://netbeans.org/bugzilla/enter_bug.cgi この辺から、PHPの機能のバグっぽいのでphpを選択して、 http://netbeans.org/bugzilla/enter_bug.cgi?product=php Editor ...</description>
	<pubDate>Tue, 06 Nov 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>きしだのはてな: きしだの10の信条</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20121103#1351933469</guid>
	<link>http://d.hatena.ne.jp/nowokay/20121103#1351933469</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;なるべく24時間サイクルで行動する&#60;/p&#62;
			&#60;p&#62;おなかがすいたらごはんを食べる&#60;/p&#62;
			&#60;p&#62;めんどくさくてもごはんを食べる&#60;/p&#62;
			&#60;p&#62;おやつは300円まで&#60;/p&#62;
			&#60;p&#62;出汁は煮立てない&#60;/p&#62;
			&#60;p&#62;麦100%ビール&#60;/p&#62;
			&#60;p&#62;おいしくないビールは世の中の敵です&#60;/p&#62;
			&#60;p&#62;朝が早い人を徹夜でビールにつきあわせない&#60;/p&#62;
			&#60;p&#62;あれは牛丼&#60;/p&#62;
			&#60;p&#62;チームいいなー&#60;/p&#62;
			&#60;p&#62;最後は寝ます&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Sat, 03 Nov 2012 09:04:29 +0000</pubDate>
</item>
<item>
	<title>きしだのはてな: [ubuntu][netbeans][php]UbuntuでNetBeans7.3+PHPの環境設定メモ</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20121103#1351929550</guid>
	<link>http://d.hatena.ne.jp/nowokay/20121103#1351929550</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;メモ。&#60;/p&#62;
			&#60;h4&#62; Ubuntu12.04LTS&#60;/h4&#62;
			&#60;p&#62;Ubuntu12.04LTS 32bitのisoをダウンロード&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://www.ubuntu.com/download/desktop&#34; target=&#34;_blank&#34;&#62;http://www.ubuntu.com/download/desktop&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;
			&#60;p&#62;Ubuntu12.10は、VirtualBox4.1.22のGuest Additionsが対応してなくて、画面のリサイズができなかった。&#60;span class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/nowokay/#f1&#34; name=&#34;fn1&#34; title=&#34;追記2013/1/5 4.2.4ではできる&#34;&#62;*1&#60;/a&#62;&#60;/span&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;「デスクトップ」とかのカタカナフォルダを「Desktop」にする。&#60;/p&#62;
&#60;pre&#62;$ LANG=C xdg-user-dirs-gtk-update
&#60;/pre&#62;
			&#60;p&#62;「もうたずねない」のチェックを入れつつ間違って「Old Filename」のほうを押すと死ぬ・・・(2013/1/5)&#60;/p&#62;
			&#60;a name=&#34;seemore&#34;&#62;&#60;/a&#62;

			&#60;br /&#62;

			&#60;h4&#62; VirtualBoxの共有フォルダ用&#60;/h4&#62;
&#60;pre&#62;$ sudo usermod -a -G vboxsf kishida
&#60;/pre&#62;
			&#60;p&#62; -a忘れると死ぬ。&#60;/p&#62;
			&#60;p&#62;(追記 2013/1/4)&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; Javaまわり&#60;/h4&#62;
			&#60;p&#62;JDK7u8をとってきて解凍&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;NetBeans7.3Betaをとってきて解凍&#60;/p&#62;
			&#60;p&#62;etc/netbeans.confにJDKパスを書く&#60;/p&#62;
&#60;pre&#62;netbeans_jdkhome=&#34;/home/kishida/dev/jdk1.7.0_09&#34;
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;p&#62;Glassfish3.1.1.2をとってきて解凍&#60;/p&#62;
			&#60;p&#62;NetBeansに設定しておく&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;jenkinsをとってきてGlassfishに配備&#60;/p&#62;
			&#60;p&#62;jenkinsプラグインでphp、gitをいれる&#60;/p&#62;
			&#60;p&#62;あと、antパスの設定。NetBeans/java/antあたりにあるのを使う&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Javaの環境構築は楽だ。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; apache2&#60;/h4&#62;
			&#60;p&#62;これはapt-getで。&#60;/p&#62;
&#60;pre&#62;$ sudo apt-get install apache2
$ sudo apt-get install apache2-dev
&#60;/pre&#62;
			&#60;p&#62;apxsが必要なので、devも入れる&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; PHP&#60;/h4&#62;
			&#60;p&#62;5.4が使いたいのでソースからインストール。&#60;/p&#62;
			&#60;p&#62;configureでlibxml2が必要といわれるので、devをいれる。&#60;/p&#62;
&#60;pre&#62;$ sudo apt-get install libxml2-dev
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;p&#62;5.4.8をとってきた。本気で使うわけではないので、必要最低限。mbstringはなんとなく。&#60;/p&#62;
&#60;pre&#62;$ ./configure --prefix=/usr/local/php-5.4.8 --with-apxs2=/usr/bin/apxs2 ----enable-mbstring --with-pear
$ make
$ sudo make install
$ sudo cp php.ini-development /usr/local/php-5.4.8/lib/php.ini
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;p&#62;apacheの設定。AddTypeじゃないのは、ちゃんと拡張子判定するため、らしい。&#60;/p&#62;
			&#60;p&#62;/etc/apache2/httpd.conf&#60;/p&#62;
&#60;pre&#62;&#38;lt;FilesMatch &#34;\.php$&#34;&gt;
 SetHandler application/x-httpd-php
&#38;lt;/FilesMatch&gt;
&#60;/pre&#62;
			&#60;p&#62;接続確認もしておく。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; PHPUnit&#60;/h4&#62;
			&#60;p&#62;ここを参考&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://www.phpunit.de/manual/current/en/installation.html&#34; target=&#34;_blank&#34;&#62;http://www.phpunit.de/manual/current/en/installation.html&#60;/a&#62;&#60;/p&#62;
&#60;pre&#62;$ ./pear config-set auto_discover 1
$ sudo ./pear install pear.phpunit.de/PHPUnit
$ sudo ./pear install phpunit/PHPUnit_SkeletonGenerator
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;p&#62;auto_discoverの設定は、あとでも使う。&#60;/p&#62;
			&#60;br /&#62;

			&#60;h4&#62; XDebug&#60;/h4&#62;
			&#60;p&#62;デバッガのために必要。&#60;/p&#62;
			&#60;p&#62;autoconfが必要だったから入れてる&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;&#60;a href=&#34;http://xdebug.org/download.php&#34; target=&#34;_blank&#34;&#62;http://xdebug.org/download.php&#60;/a&#62;&#60;/p&#62;
&#60;pre&#62;$ sudo apt-get install autoconf
$ cd xdebug-2.2.1
$ /usr/local/php-5.4.8/bin/phpize
$ ./configure --enable-xdebug --with-php-config=/usr/local/php-5.4.8/bin/php-config
$ make
$ sudo make install
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;p&#62;php.ini&#60;/p&#62;
&#60;pre&#62;zend_extension=/usr/local/php-5.4.8/lib/php/extensions/no-debug-zts-20100525/xdebug.so

xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;h4&#62;Composer&#60;/h4&#62;
			&#60;p&#62;パッケージ管理ツール&#60;/p&#62;
			&#60;p&#62;curlでとってくるので、いれてる。&#60;/p&#62;
&#60;pre&#62;$ sudo apt-get install curl
$ curl -s &#60;a href=&#34;https://getcomposer.org/installer&#34; target=&#34;_blank&#34;&#62;https://getcomposer.org/installer&#60;/a&#62; | /usr/local/php-5.4.8/bin/php
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;h4&#62;apigen&#60;/h4&#62;
			&#60;p&#62;ドキュメントを生成するツール&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;まずはpearでいれてみる。&#60;/p&#62;
&#60;pre&#62;$ sudo ./pear install pear.apigen.org/apigen
&#60;/pre&#62;
			&#60;p&#62;netteがないというエラー&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;しかたないから、直接とってくる。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://apigen.org/&#34; target=&#34;_blank&#34;&#62;http://apigen.org/&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;apigen.phpの先頭を書き換え&#60;/p&#62;
&#60;pre&#62;#! /usr/local/php-5.4.8/bin/php
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;h4&#62; PHPプロジェクトをJenkinsで構築するための準備&#60;/h4&#62;
			&#60;p&#62;とりあえずppw&#60;/p&#62;
&#60;pre&#62;$ pear install phpunit/ppw
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;p&#62;imagemagickでpmdがエラーになったから入れておく。でもこれでだいじょうぶかはわからない。&#60;/p&#62;
&#60;pre&#62;$ sudo apt-get install imagemagick
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;p&#62;いろいろ必要なものを入れる。&#60;/p&#62;
&#60;pre&#62;$ sudo ./pear install PHPDocumentor
$ sudo ./pear install phpunit/phpCPD
$ sudo ./pear install -a phpunit/phploc
$ sudo ./pear install pear.pdepend.org/PHP_Depend (インストール済みかも)
$ sudo ./pear install -a PHP_CodeSniffer
$ sudo ./pear install -a phpunit/PHP_CodeBrowser
$ sudo ./pear install -a pear.phpmd.org/PHP_PMD
&#60;/pre&#62;
			&#60;br /&#62;

			&#60;p&#62;NetBeansで生成したbuild.xmlに、php関連実行ファイルのパスを指定する&#60;/p&#62;
&#60;pre&#62;&#38;lt;property name=&#34;phpbin&#34; value=&#34;/usr/local/php-5.4.8/bin&#34;/&gt;
&#60;/pre&#62;
			&#60;p&#62;あとは、executableにすべてこのパスをつける&#60;/p&#62;
&#60;pre&#62;&#38;lt;exec executable=&#34;${phpbin}/phpunit&#34; failonerrer=&#34;true&#34;/&gt;
&#60;/pre&#62;
		&#60;/div&#62;
		&#60;div class=&#34;footnote&#34;&#62;
			&#60;p class=&#34;footnote&#34;&#62;&#60;a href=&#34;http://d.hatena.ne.jp/nowokay/#fn1&#34; name=&#34;f1&#34;&#62;*1&#60;/a&#62;：追記2013/1/5 4.2.4ではできる&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Sat, 03 Nov 2012 07:59:10 +0000</pubDate>
</item>
<item>
	<title>きしだのはてな: 黎明期のJava入門書の話</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20121025#1351159313</guid>
	<link>http://d.hatena.ne.jp/nowokay/20121025#1351159313</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;結城さんのJava入門書、「Java言語プログラミングレッスン」がJava7に対応した第３版が出るということで、思い出した話。&#60;/p&#62;
			&#60;p&#62;まずは出版おめでとうございます、おつかれさまでした。ただ、評価はちょっと厳しめです。&#60;/p&#62;
			&#60;blockquote&#62;
			&#60;div class=&#34;hatena-asin-detail&#34;&#62;
  &#60;a href=&#34;http://www.amazon.co.jp/exec/obidos/ASIN/4797371250/kishidassite-22/&#34;&#62;&#60;img src=&#34;http://ecx.images-amazon.com/images/I/512jz5m0%2ByL._SL160_.jpg&#34; alt=&#34;Java言語プログラミングレッスン 第3版(上)&#34; class=&#34;hatena-asin-detail-image&#34; title=&#34;Java言語プログラミングレッスン 第3版(上)&#34; /&#62;&#60;/a&#62;
  &#60;div class=&#34;hatena-asin-detail-info&#34;&#62;
    &#60;p class=&#34;hatena-asin-detail-title&#34;&#62;&#60;a href=&#34;http://www.amazon.co.jp/exec/obidos/ASIN/4797371250/kishidassite-22/&#34;&#62;Java言語プログラミングレッスン 第3版(上)&#60;/a&#62;&#60;/p&#62;
    &#60;ul&#62;
      
      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;作者:&#60;/span&#62; &#60;a href=&#34;http://d.hatena.ne.jp/keyword/%B7%EB%BE%EB%B9%C0&#34; class=&#34;keyword&#34;&#62;結城浩&#60;/a&#62;&#60;/li&#62;
      
      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;出版社/メーカー:&#60;/span&#62; &#60;a href=&#34;http://d.hatena.ne.jp/keyword/%A5%BD%A5%D5%A5%C8%A5%D0%A5%F3%A5%AF%A5%AF%A5%EA%A5%A8%A5%A4%A5%C6%A5%A3%A5%D6&#34; class=&#34;keyword&#34;&#62;ソフトバンククリエイティブ&#60;/a&#62;&#60;/li&#62;
      
      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;発売日:&#60;/span&#62; 2012/11/16&#60;/li&#62;
                                                      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;メディア:&#60;/span&#62; 大型本&#60;/li&#62;
      &#60;li&#62;&#60;span class=&#34;hatena-asin-detail-label&#34;&#62;購入&#60;/span&#62;: 1人 &#60;span class=&#34;hatena-asin-detail-label&#34;&#62;クリック&#60;/span&#62;: 7回&#60;/li&#62;
      &#60;li&#62;&#60;a href=&#34;http://d.hatena.ne.jp/asin/4797371250/kishidassite-22&#34; target=&#34;_blank&#34;&#62;この商品を含むブログ (7件) を見る&#60;/a&#62;&#60;/li&#62;
    &#60;/ul&#62;
  &#60;/div&#62;
  &#60;div class=&#34;hatena-asin-detail-foot&#34;&#62;&#60;/div&#62;
&#60;/div&#62;

			&#60;p&#62;&#60;a href=&#34;http://d.hatena.ne.jp/asin/4797371269/kishidassite-22&#34;&#62;Java言語プログラミングレッスン 第3版(下)&#60;/a&#62;&#60;/p&#62;
			&#60;/blockquote&#62;
			&#60;br /&#62;

			&#60;p&#62;今回の「Java言語プログラミングレッスン」もやはり上巻でif、for、配列、下巻でクラス、インタフェースという構成になっていて、１冊にまとめれなかったものかという感がぬぐえない。&#60;/p&#62;
			&#60;p&#62;あわせて5040円というのは入門書として高価だし、上巻だけでは役にたたない。&#60;/p&#62;
			&#60;p&#62;まだ発売されていないので内容は見ていないのだけど、結城さんの本であるからには記述がすばらしいということに疑いの余地はない。だからこそ、二分冊という構成はもったいない。&#60;/p&#62;
			&#60;p&#62;また、通した構成としても、やはり古い。実際のプログラムでは配列よりListのほうが使う場面が多いにもかかわらず、コレクションに関しては下巻の最後におまけのように載せられている。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;このような構成は、黎明期のJava入門書によく見られた構成で、多くの入門書が上巻でif/for/配列、下巻でクラス/インタフェースという分冊になっていた。なぜこのような構成になっているかというと、初期の入門書というのは、結城さんも含めて、矢沢久雄、林晴比古、高橋麻奈といったCの入門書を書いていた人が、C部分をJavaに移植したものというのが多かったためだ。Cを使って解説していた部分にJavaならではの話題を追加したという構成。&#60;/p&#62;
			&#60;p&#62;このうちで高橋麻奈さんの「やさしいJava」は１冊にまとまっていて、記述も丁寧で、説明が甘い部分も多いけどそれが却って読みやすさにつながって、人気があった。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ただ、やはりこれらのC言語入門書由来の本には構成上の致命的な欠点があって、それは「Javaの言語しか説明してない」ということだった。まあ、Cにもある入出力については説明されていたけど。&#60;/p&#62;
			&#60;p&#62;それ以外の入門書は、AWTコンポーネント配置したりGraphicsでアニメーションしてゲーム作ったり楽しいサンプルを作りつつ、プログラム的な解説はない愉快な本が多かったので、プログラムの入門には使えなかった。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;C言語は、言語とstdioだけがあって、実用ライブラリは独自のものがコンパイラとセットになっていたので、C言語入門書ではライブラリについて扱わないのが当然だった。&#60;/p&#62;
			&#60;p&#62;ライブラリとコンパイラとをあわせて「処理系」と呼ばれていたけど、ライブラリはVisualCだとかTurboCとかそれぞれの処理系の説明書を見てくださいね、というスタンス。ちなみに、説明書といっても、当時の処理系の説明書の量はハンパなくて、それがひとつの箱に入ってるものだから、Professional版などは箱の厚さが80cmくらいあった。この厚さに「専門的なソフトで、素人が購入することは考えにくい」Professional感があったと言っていい。CD-ROMが普及すると説明書は全部CD-ROMに納められて、Standard版を買ってもProfessional版を買ってもその辺のソフトと同じ箱になったことに寂しい思いをした人も多いと思う。今では箱でソフトを買うということもないわけだけど。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;話を戻して。&#60;/p&#62;
			&#60;p&#62;Javaの場合は、ライブラリや実行環境まで含めてJavaで、Cに比べれば言語とライブラリが密接になっている。入門編で言語部分、実践編でライブラリ、という構成にも無理がある。入門編でC相当、応用編でオブジェクト指向、実践編でライブラリとそろえると8000円近くになるし、こうなると統一的に扱った本を探すのも難しいし。結城さんの「Java言語プログラミングレッスン」も2005年の改訂２版までは、コレクションを扱っていなかった。「やさしいJava」にしても活用編まで含めれば5500円近くなって結構高い。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ということで、一冊でオブジェクト指向やライブラリの説明まで含まれた「独習Java」に人気が出たわけだ。一冊としては3780円で割高だったけど、何冊も買うよりいいしね。&#60;/p&#62;
			&#60;p&#62;ところがまた、この本の記述が難しすぎてひどい。初期の「Javaは難しい」という評判の1/5くらいはこの本の影響じゃないだろうか。3/5くらいはjava-houseというメーリングリストの高木浩光という人物のせいだと思うけど。&#60;/p&#62;
			&#60;p&#62;この「独習Java」は、改訂してもしばらくList/MapではなくVector/Hashtableを説明していたりして、「オススメしない本」から「読むべきではない本」にグレードアップした。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;そうこうするうちに、Cからの移植ではなくJavaネイティブの入門書が出るようになって、問題は解決したかに見えたのだけど、時代はJSP/サーブレット時代になって、今度はWebまわりまで勉強が必須になった。&#60;/p&#62;
			&#60;p&#62;当時Javaを教える仕事をよくやってたのだけど、そうするとJava入門からWebまでの教科書を探すのも大変。Javaでプログラムを始めた人が一冊で作業に入れるような本がない。あと、テキストエディタとコマンドラインベースで進めて、入力間違い探しやファイル名のミスなんかに10分20分費やすのが非常にもったいなかったんで、IDEも使いたかった。Eclipseは人気だったけど、授業中のムダな時間を減らすには力不足すぎて、当時はForteだったNetBeansを使うことにした。&#60;/p&#62;
			&#60;p&#62;というところで、結局テキストは自分で書いて、当時の自分のサイトに載せてたりして、それが本としてまとまったのが「創るJava」というわけやね。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;いまだにEclipseの新しいのが出るたびに、入門での授業につかえるようになったか確認してるんだけど、あいかわらず使いやすくなってくれない。&#60;/p&#62;
			&#60;p&#62;Javaは準備がめんどうとか、はじめるまでの設定が多いとかいう、手順的な悪評は、90%くらいはEclipseのせいだと思う。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;あと、このときに最初は「独習Java」をすでに使っていたのだけど「絶対に許さない、そう、絶対にだ」という感想をもった。次に検討して、使ってみたのが「やさしいJava」だったけど、簡単なところはやさしく解説してくれてるけど難しい部分は舌足らずであいまいで漠然としか解説してくれてなくて、あってもなくても同じという結果になった。&#60;/p&#62;
			&#60;p&#62;「Java言語プログラミングレッスン」は、２冊あると物理的に重いのと、いい本ではあるけど職業訓練的に使うには、「レジ打ちに計算を教えるために数学ガールを読ませる」ようなミスマッチがあって、これは使わなかった。&#60;/p&#62;
			&#60;p&#62;矢沢久雄、林晴比古と言った人たちの本は、当時の時点でも古くさくて、検討すらしてない。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;今はいろんな本が出てて、あとJavaとかJava技術者とかの位置づけもかわってきて、状況は変わったけど。&#60;/p&#62;
			&#60;p&#62;あ、ちなみに、「創るJava」の改訂の作業をしてるとか、ないです。期待してもらってる人には残念ながら。Java8対応の打診してみるかな。&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Thu, 25 Oct 2012 10:01:53 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: NetBeans7.3 Betaのバグを報告してみましたの続き</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20121024#p1</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20121024#p1</link>
	<description>なんかメールが来ててチェックしなきゃと思って見てるんですけど 20個くらい同じバグがあるってなってfixしてるーってなってます。 http://netbeans.org/bugzilla/show_bug.cgi?id=218624 よくわかってないですけど、Jan Lahodaさん達に感謝っと。</description>
	<pubDate>Wed, 24 Oct 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: [NetBeans]NetBeans7.3 Betaのバグを報告してみました</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20121009#p1</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20121009#p1</link>
	<description>NetBeans7.3のベータが出たということで、早速入れてみました。 結構かっこよくなってて嬉しいし機能もいろいろ増えてていい感じです。 画面下にパンくずリストが表示されるようになったのですがPHPって書いてる箇所をクリックしたらエラーが出ました。 エラー報告しないとなぁ、、、っと思っていたので報告してみました。 報告するには、まず、報告ってボタンを押して、  問題が発生したときどのような操作を行っていたかを記述してください。 と書いてあるので、起こった内容を書きます。 日本語で書いてあるので、日本 ...</description>
	<pubDate>Tue, 09 Oct 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>へびのぬけがら: NetBeans IDE 7.3 Beta リリース</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-5968153835640208905.post-2940145991370579483</guid>
	<link>http://snakemanshow.blogspot.com/2012/10/netbeans-ide-73-beta.html</link>
	<description>&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;NetBeans IDE 7.3 Beta が&#60;/span&#62;&#60;a style=&#34;background-color: #f6f6f6; color: #de7008; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34; href=&#34;http://netbeans.org/community/releases/73/&#34;&#62;リリース&#60;/a&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;されました&#60;/span&#62;&#60;br /&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;ダウンロードは&#60;/span&#62;&#60;a style=&#34;background-color: #f6f6f6; color: #de7008; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34; href=&#34;http://dlc.sun.com.edgesuite.net/netbeans/7.3/beta/&#34;&#62;コチラ&#60;/a&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;からできるようになっております&#60;/span&#62;&#60;br /&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;恒例のスプラッシュです&#60;/span&#62;&#60;br /&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://3.bp.blogspot.com/-99v3iM59ML8/UG4GRQ2TFiI/AAAAAAAABYg/fn3KZOVs7Xo/s1600/nb73beta_splash.png&#34;&#62;&#60;img src=&#34;http://3.bp.blogspot.com/-99v3iM59ML8/UG4GRQ2TFiI/AAAAAAAABYg/fn3KZOVs7Xo/s320/nb73beta_splash.png&#34; height=&#34;209&#34; border=&#34;0&#34; width=&#34;320&#34; /&#62;&#60;/a&#62;&#60;/div&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;&#60;br /&#62;&#60;/span&#62;&#60;span style=&#34;font-family: Trebuchet MS, Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;今回の注目の新機能は、 HTML5 アプリケーションプロジェクト対応かと思います&#60;/span&#62;&#60;br /&#62;&#60;span style=&#34;font-family: Trebuchet MS, Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;Google Chrome の拡張機能を利用した JavaScript のデバッグ機能や組み込み Webkit ブラウザなどが追加されています&#60;/span&#62;&#60;br /&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;その他の追加機能や各詳細は&#60;/span&#62;&#60;a style=&#34;background-color: #f6f6f6; color: #de7008; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34; href=&#34;http://netbeans.org/community/releases/73/&#34;&#62;リリースノート&#60;/a&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;を参照ください&#60;/span&#62;&#60;br /&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62;何かお気づきの点などありましたら、 &#60;/span&#62;&#60;a style=&#34;background-color: #f6f6f6; color: #de7008; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34; href=&#34;http://netbeans.org/projects/ja/lists&#34;&#62;ML&#60;/a&#62;&#60;span style=&#34;background-color: #f6f6f6; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;&#34;&#62; 等へご連絡頂ければと思います&#60;/span&#62;</description>
	<pubDate>Fri, 05 Oct 2012 22:54:01 +0000</pubDate>
</item>
<item>
	<title>きしだのはてな: NetBeans7.3(Beta)に組込みブラウザがついて想像以上にすばらしい</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/nowokay/20121003#1349225070</guid>
	<link>http://d.hatena.ne.jp/nowokay/20121003#1349225070</link>
	<description>&#60;div class=&#34;section&#34;&#62;
			&#60;p&#62;とうとうNetBeansに組込みブラウザがつきましたよ！&#60;/p&#62;
			&#60;p&#62;いままで、FirefoxのレンダリングエンジンであるGeckoを使ったプラグインなどがありましたが、ネイティブコンポーネントとSwingの相性も悪くて、あまり使えるものじゃありませんでした。&#60;/p&#62;
			&#60;p&#62;でも、JavaFXにWebKitベースのブラウザが入ったことで、とうとうNetBeansにも使い物になるブラウザが組み込まれました！といっても、まだBetaですが。&#60;/p&#62;
			&#60;p&#62;んで、これが思ったよりも素晴らしくて、なんだか将来的に期待がもてそうな感じなので、紹介します。します。します。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;Betaの前の開発版を使ったので、動きは少し違うかも。NetBeans7.3Betaはこっちからダウンロードできます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://dlc.sun.com.edgesuite.net/netbeans/7.3/beta/&#34; target=&#34;_blank&#34;&#62;http://dlc.sun.com.edgesuite.net/netbeans/7.3/beta/&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;オプションを見ると「Webブラウザ」の項目に、「Embedded WebKit Browser」という項目ができてます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081933&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081933.png&#34; alt=&#34;f:id:nowokay:20121003081933p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081933p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;a name=&#34;seemore&#34;&#62;&#60;/a&#62;

			&#60;br /&#62;

			&#60;p&#62;JavaコードとかでJavaDocを開こうとすると、NetBeans内でブラウザが開きます！やった！ただ、最初はJavaFXの場所を指定しろと言ってくるので、JDK内のjreフォルダを選びます。この手順はなくせるはずなので、正式リリースまでにはなくなってくれることを望みます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081931&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081931.png&#34; alt=&#34;f:id:nowokay:20121003081931p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081931p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;JavaFXの場所を指定すると、晴れてNetBeans内でJavaDocが表示できるようになりました！ぱちぱちぱち。いやー長かった。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081930&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081930.png&#34; alt=&#34;f:id:nowokay:20121003081930p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081930p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;このJavaFXのWebKitベースのブラウザ、なかなかちゃんと動いてて、結構めんどうなことをやってそうなSencha Touchもちゃんと動きました。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081928&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081928.png&#34; alt=&#34;f:id:nowokay:20121003081928p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081928p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;こっちはChrome。JavaFXのほうは、アイコンの透過がうまく処理できてない感じだけど。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081929&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081929.png&#34; alt=&#34;f:id:nowokay:20121003081929p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081929p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;br /&#62;

			&#60;p&#62;んで、まあ、これだけなら「それ10年前から見れたわ〜Eclipseなら10年前から見れたわ〜」という話なんですけど、面白いのはここからで。&#60;/p&#62;
			&#60;p&#62;なんか新規プロジェクトでHTML5プロジェクトなどというものができてたりします。Twitter Bootstrupとかテンプレートを選べたり、jQueryなどJavaScriptライブラリを選べたりします。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081927&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081927.png&#34; alt=&#34;f:id:nowokay:20121003081927p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081927p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;CSSや画像の指定が絶対パスだったりして、実行するときに、ルートディレクトリである必要がある場合に、サーバー経由で表示したいことも多いですけど、その場合に組込みサーバーを使うこともできたりします。たぶん、JDK付属のHttpServerを使ってるんだと思います。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://d.hatena.ne.jp/nowokay/20101124#1290505617&#34; target=&#34;_blank&#34;&#62;http://d.hatena.ne.jp/nowokay/20101124#1290505617&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081926&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081926.png&#34; alt=&#34;f:id:nowokay:20121003081926p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081926p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;p&#62;「NetBeansと統合したChrome」なんてものも選択できますけど、プラグインが必要で、そのプラグインは現在のところダウンロードできませんでした。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;んで、まあ、こんなHTMLを作ってみます。&#60;/p&#62;
&#60;pre class=&#34;syntax-highlight&#34;&#62;&#60;span class=&#34;synComment&#34;&#62;&#38;lt;!DOCTYPE html&gt;&#60;/span&#62;
&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;html&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
    &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;head&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
&#60;span class=&#34;synPreProc&#34;&#62;        &#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;title&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;Hello JavaFX Browser&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;title&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
&#60;span class=&#34;synPreProc&#34;&#62;        &#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;meta&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62; &#60;/span&#62;&#60;span class=&#34;synType&#34;&#62;http-equiv&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;=&#60;/span&#62;&#60;span class=&#34;synConstant&#34;&#62;&#34;Content-Type&#34;&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62; &#60;/span&#62;&#60;span class=&#34;synType&#34;&#62;content&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;=&#60;/span&#62;&#60;span class=&#34;synConstant&#34;&#62;&#34;text/html; charset=UTF-8&#34;&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
&#60;span class=&#34;synPreProc&#34;&#62;        &#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;style&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62; &#60;/span&#62;&#60;span class=&#34;synType&#34;&#62;type&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;=&#60;/span&#62;&#60;span class=&#34;synConstant&#34;&#62;&#34;text/css&#34;&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
            &#60;span class=&#34;synSpecial&#34;&#62;.&#60;/span&#62;hello&#60;span class=&#34;synIdentifier&#34;&#62;{&#60;/span&#62;
                &#60;span class=&#34;synType&#34;&#62;font-size&#60;/span&#62;: &#60;span class=&#34;synType&#34;&#62;x-large&#60;/span&#62;;
                &#60;span class=&#34;synType&#34;&#62;color&#60;/span&#62;: limegreen&#60;span class=&#34;synIdentifier&#34;&#62;}&#60;/span&#62;
        &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;style&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
&#60;span class=&#34;synPreProc&#34;&#62;    &#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;head&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
    &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;body&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
        &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;h1&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;Hello JavaFX Browser&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;h1&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
        &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;div&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;TODO write content&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;div&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
        &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;div&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62; &#60;/span&#62;&#60;span class=&#34;synType&#34;&#62;class&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;=&#60;/span&#62;&#60;span class=&#34;synConstant&#34;&#62;&#34;hello&#34;&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;Yeah!&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;div&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
    &#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;body&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
&#60;span class=&#34;synIdentifier&#34;&#62;&#38;lt;/&#60;/span&#62;&#60;span class=&#34;synStatement&#34;&#62;html&#60;/span&#62;&#60;span class=&#34;synIdentifier&#34;&#62;&gt;&#60;/span&#62;
&#60;/pre&#62;

			&#60;br /&#62;

			&#60;p&#62;で、「開く」とすると、組込みブラウザで開きます。有効描画範囲を設定できるのがうれしい。あと、上部のHTMLエディタのほう、パンくずナビゲーションがついてるのがわかります。パンくずナビゲーション、Javaコードでも使えます。&#60;/p&#62;
			&#60;p&#62;HTMLを変更して保存すると、変更なしに反映されるのがうれしいです。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081923&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081923.png&#34; alt=&#34;f:id:nowokay:20121003081923p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081923p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;面白いのが「select mode」なるものです。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081924&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081924.png&#34; alt=&#34;f:id:nowokay:20121003081924p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081924p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;ブラウザ内のエレメントを選べます。左側のツリーと連動してます。あと、右側ではスタイルとか属性が表示されます。&#60;/p&#62;
			&#60;p&#62;&#60;a href=&#34;http://f.hatena.ne.jp/nowokay/20121003081925&#34; target=&#34;_blank&#34; class=&#34;hatena-fotolife&#34;&#62;&#60;img src=&#34;http://cdn-ak.f.st-hatena.com/images/fotolife/n/nowokay/20121003/20121003081925.png&#34; alt=&#34;f:id:nowokay:20121003081925p:image&#34; class=&#34;hatena-fotolife&#34; title=&#34;f:id:nowokay:20121003081925p:image&#34; /&#62;&#60;/a&#62;&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;まだまだ使いやすいものではないし、動的生成されたHTMLソースを見る機能がなかったりして、これで開発が楽になるという段階ではないですけど、もう少しIDE連携がこなれて、あとはSeleniumと連携できるようになったりしたら、これはなかなか面白いことになりそうです。&#60;/p&#62;
			&#60;p&#62;JsTestDriver連携も標準で用意されているようだし、Web開発ツールとしてNetBeansが強化されていくことを実感できるバージョンアップになりそう。いままでも、CSSエディタなどWeb系ファイルの強さというのはあったのですけど、ブラウザという重要なコンポーネントが手に入ったことで、この方向への進化が加速しそうです。&#60;/p&#62;
			&#60;br /&#62;

			&#60;p&#62;最近、NetBeansのベータが出てもわざわざ使おうとは思わなくて、正式リリースが出てからいろいろ試すという感じになっていたのですけど、久しぶりにベータの時点から常用したいバージョンになりました。&#60;/p&#62;
		&#60;/div&#62;</description>
	<pubDate>Wed, 03 Oct 2012 00:44:30 +0000</pubDate>
</item>
<item>
	<title>へびのぬけがら: NetBeans 次期リリース版での Composer サポートについて</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-5968153835640208905.post-8583260945039238083</guid>
	<link>http://snakemanshow.blogspot.com/2012/10/netbeans-composer.html</link>
	<description>PHP による開発にて、パッケージ(依存性)管理ツールとして今後標準になるだろうと言われている Composer を、 NetBeans の次期リリースにてサポートする予定となっています&#60;br /&#62;なお、以降の記述は現在(2012年10月01日時点)にリリースされている開発版よるものですので、実際のリリース版と異なる可能性もありますので、ご了承下さい&#60;br /&#62;また、 Composer そのものの使用法については今回詳しくは説明しませんので、別途 &#60;a href=&#34;http://getcomposer.org/doc/&#34;&#62;Composer のドキュメント&#60;/a&#62;等を参照ください&#60;br /&#62;&#60;br /&#62;今回使用した環境は以下のとおりです&#60;br /&#62;&#60;br /&#62;* Mac OS X version 10.8.2&#60;br /&#62;&#60;div&#62;* PHP 5.4.7&#60;/div&#62;* NetBeans IDE Dev (Build 201209260001)&#60;br /&#62;&#60;div&#62;&#60;br /&#62;まず、適当な場所にて下記コマンドを実行し、 Composer をダウンロードします&#60;br /&#62;&#60;div style=&#34;border: 1px dotted rgb(153, 153, 153); padding: 10px;&#34;&#62;$ curl -s https://getcomposer.org/installer | php&#60;/div&#62;&#60;br /&#62;次に NetBeans 開発版を起動し、「オプション」ウィンドウを開きます&#60;/div&#62;ウィンドウ中の「PHP」タブを選択し、更に「Composer」タブをクリックします&#60;br /&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://3.bp.blogspot.com/-xIbwiJEDZ1M/UGg_Zc6Qy3I/AAAAAAAABWQ/ZK2tRLZeXcI/s1600/nbdev.73.composer1.png&#34;&#62;&#60;img src=&#34;http://3.bp.blogspot.com/-xIbwiJEDZ1M/UGg_Zc6Qy3I/AAAAAAAABWQ/ZK2tRLZeXcI/s320/nbdev.73.composer1.png&#34; height=&#34;274&#34; border=&#34;0&#34; width=&#34;320&#34; /&#62;&#60;/a&#62;&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: left;&#34; class=&#34;separator&#34;&#62;「Composer」フィールドに、先ほどダウンロードしたファイル(&#34;composer.phar&#34;)のパスを指定します&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: left;&#34; class=&#34;separator&#34;&#62;「Vendor」、「Author name」、「Autor e-mail」フィールドは、プロジェクト情報として使用されるため、適当な値を入力してください&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://2.bp.blogspot.com/-syWvZXxPdnk/UGoU-p0QcXI/AAAAAAAABWk/M88n7KWQPlg/s1600/nbdev.73.composer2.png&#34;&#62;&#60;img src=&#34;http://2.bp.blogspot.com/-syWvZXxPdnk/UGoU-p0QcXI/AAAAAAAABWk/M88n7KWQPlg/s320/nbdev.73.composer2.png&#34; height=&#34;274&#34; border=&#34;0&#34; width=&#34;320&#34; /&#62;&#60;/a&#62;&#60;/div&#62;入力後、画面下部の「OK」ボタンをクリックし、設定を反映します&#60;br /&#62;以上で、 Composer を使用する準備はできましたので、実際に PHP アプリケーションプロジェクトにて使ってみたいと思います&#60;br /&#62;&#60;br /&#62;今回は、新規に PHP アプリケーションのプロジェクトを作成します&#60;br /&#62;(既存のプロジェクトでも以降の操作にて Composer 対応とすることが可能です)&#60;br /&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://1.bp.blogspot.com/-naBY9pA8SYc/UGoZIOJ-inI/AAAAAAAABW4/ey76cra4XLI/s1600/nbdev.73.composer3.png&#34;&#62;&#60;img src=&#34;http://1.bp.blogspot.com/-naBY9pA8SYc/UGoZIOJ-inI/AAAAAAAABW4/ey76cra4XLI/s320/nbdev.73.composer3.png&#34; height=&#34;226&#34; border=&#34;0&#34; width=&#34;320&#34; /&#62;&#60;/a&#62;&#60;/div&#62;「プロジェクト」ツリーより、今回作成したプロジェクトを右クリックし、表示されたコンテキストメニューより、「Composer &gt; Init」と選択します&#60;br /&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://4.bp.blogspot.com/-NOtSbONOPE0/UGoaVUhxSqI/AAAAAAAABXA/y-dy45FlOVk/s1600/nbdev.73.composer4.png&#34;&#62;&#60;img src=&#34;http://4.bp.blogspot.com/-NOtSbONOPE0/UGoaVUhxSqI/AAAAAAAABXA/y-dy45FlOVk/s320/nbdev.73.composer4.png&#34; height=&#34;320&#34; border=&#34;0&#34; width=&#34;280&#34; /&#62;&#60;/a&#62;&#60;/div&#62;初期化処理が実行され、プロジェクトツリー内に &#34;composer.json&#34; というファイルが新しく生成されます&#60;br /&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://4.bp.blogspot.com/-anSCT-Ue8RE/UGoc-CzcY8I/AAAAAAAABXU/jR5zNHqSq9k/s1600/nbdev.73.composer5.png&#34;&#62;&#60;img src=&#34;http://4.bp.blogspot.com/-anSCT-Ue8RE/UGoc-CzcY8I/AAAAAAAABXU/jR5zNHqSq9k/s320/nbdev.73.composer5.png&#34; height=&#34;320&#34; border=&#34;0&#34; width=&#34;278&#34; /&#62;&#60;/a&#62;&#60;/div&#62;&#34;composer.json&#34; ファイルの内容は以下のようになっています&#60;br /&#62;先に Composer の設定画面で設定した値が反映されています&#60;br /&#62;&#60;pre style=&#34;border: 1px dotted rgb(153, 153, 153); padding: 10px;&#34;&#62;{&#60;br /&#62;    &#34;name&#34;: &#34;ja-netbeans-org/composer-sample-project&#34;,&#60;br /&#62;    &#34;description&#34;: &#34;Description of project ComposerSampleProject.&#34;,&#60;br /&#62;    &#34;authors&#34;: [&#60;br /&#62;        {&#60;br /&#62;            &#34;name&#34;: &#34;Junji Takakura&#34;,&#60;br /&#62;            &#34;email&#34;: &#34;takakura@example.com&#34;&#60;br /&#62;        }&#60;br /&#62;    ],&#60;br /&#62;    &#34;require&#34;: {&#60;br /&#62;&#60;br /&#62;    }&#60;br /&#62;}&#60;/pre&#62;&#60;br /&#62;再度プロジェクトを右クリックし、表示されたコンテキストメニューより、「Composer &gt; Install」を選択します&#60;br /&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://2.bp.blogspot.com/-hbLK5DijdOQ/UGoh06mJApI/AAAAAAAABXo/4Ob50bYXQ-c/s1600/nbdev.73.composer6.png&#34;&#62;&#60;img src=&#34;http://2.bp.blogspot.com/-hbLK5DijdOQ/UGoh06mJApI/AAAAAAAABXo/4Ob50bYXQ-c/s320/nbdev.73.composer6.png&#34; height=&#34;320&#34; border=&#34;0&#34; width=&#34;279&#34; /&#62;&#60;/a&#62;&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: left;&#34; class=&#34;separator&#34;&#62;&#60;br /&#62;&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: left;&#34; class=&#34;separator&#34;&#62;インストール処理が実行され、 &#34;vendor&#34; フォルダなどが新たに作成されます&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://2.bp.blogspot.com/-fGVKHQ075sM/UGoktqMk1dI/AAAAAAAABX8/ydjbiAPXJ68/s1600/nbdev.73.composer7.png&#34;&#62;&#60;img src=&#34;http://2.bp.blogspot.com/-fGVKHQ075sM/UGoktqMk1dI/AAAAAAAABX8/ydjbiAPXJ68/s320/nbdev.73.composer7.png&#34; height=&#34;320&#34; border=&#34;0&#34; width=&#34;278&#34; /&#62;&#60;/a&#62;&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: left;&#34; class=&#34;separator&#34;&#62;&#60;br /&#62;&#60;/div&#62;次に、プロジェクトにログライブラリの &#34;&#60;a href=&#34;https://github.com/Seldaek/monolog&#34;&#62;Monolog&#60;/a&#62;&#34; を追加します&#60;br /&#62;&#34;require&#34; ブロックに下記のように Monolog パッケージに関する記述を追加します&#60;br /&#62;パッケージを指定する際はバージョン番号の指定をあわせて記述します&#60;br /&#62;(下記例では 1.0.1 、1.0.2 … 1.0.20 などのバージョンが対象となります)&#60;br /&#62;&#60;pre style=&#34;border: 1px dotted rgb(153, 153, 153); padding: 10px;&#34;&#62;{&#60;br /&#62;    /* 中略 */&#60;br /&#62;    &#34;require&#34;: {&#60;br /&#62;        &#34;monolog/monolog&#34;: &#34;1.0.*&#34;&#60;br /&#62;    }&#60;br /&#62;}&#60;/pre&#62;&#60;br /&#62;&#34;composer.json&#34; ファイルを保存し、変更した内容を反映します&#60;br /&#62;&#60;br /&#62;プロジェクトを右クリックし、表示されたコンテキストメニューより、「Composer &gt; Update」を選択します&#60;br /&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://3.bp.blogspot.com/-ug9uoHgFfTU/UGomBaxpwjI/AAAAAAAABYE/nH-elPcD0-o/s1600/nbdev.73.composer8.png&#34;&#62;&#60;img src=&#34;http://3.bp.blogspot.com/-ug9uoHgFfTU/UGomBaxpwjI/AAAAAAAABYE/nH-elPcD0-o/s320/nbdev.73.composer8.png&#34; height=&#34;320&#34; border=&#34;0&#34; width=&#34;278&#34; /&#62;&#60;/a&#62;&#60;/div&#62;&#60;br /&#62;&#60;div style=&#34;clear: both;&#34; class=&#34;separator&#34;&#62;アップデート処理が実行され、 &#34;vendor&#34; フォルダ以下に &#34;monolog &#34;フォルダが新たに作成されます&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: center;&#34; class=&#34;separator&#34;&#62;&#60;a style=&#34;margin-left: 1em; margin-right: 1em;&#34; href=&#34;http://3.bp.blogspot.com/-6a4z9mfdVCo/UGomTvVLZ2I/AAAAAAAABYM/2VMQPMparpg/s1600/nbdev.73.composer9.png&#34;&#62;&#60;img src=&#34;http://3.bp.blogspot.com/-6a4z9mfdVCo/UGomTvVLZ2I/AAAAAAAABYM/2VMQPMparpg/s320/nbdev.73.composer9.png&#34; height=&#34;320&#34; border=&#34;0&#34; width=&#34;278&#34; /&#62;&#60;/a&#62;&#60;/div&#62;&#60;div style=&#34;clear: both; text-align: left;&#34; class=&#34;separator&#34;&#62;&#60;br /&#62;&#60;/div&#62;&#60;div&#62;この他に「Validate」 コマンドによる &#34;composer.json&#34; の内容の検証、及び 「Self Update」 コマンドによる &#34;composer.phar&#34; 自身の更新を行うことができます&#60;/div&#62;&#60;div&#62;このように、 PHP アプリケーションプロジェクトに完全に統合された形にて Composer の機能を利用することができます&#60;/div&#62;&#60;br /&#62;NetBeans 次期開発版ではこれ以外にも多くの新機能が追加される予定となっています&#60;br /&#62;機会があれば、紹介できたらと思います&#60;br /&#62;&#60;br /&#62;気になるリリース時期については、 &#60;a href=&#34;https://blogs.oracle.com/geertjan/entry/javaone_2012_day_1&#34;&#62;JavaOne 2012 の1日目&#60;/a&#62;にて、2013年前半予定との発表がありました&#60;br /&#62;(また、 Java SE の新バージョンリリースに合わせて、 NetBeans のメジャーバージョンアップも行なっていく計画のようです)&#60;br /&#62;&#60;br /&#62;リリースまでにはもう少し時間がありますが、新機能に興味のある方は開発版を是非触って頂き、お気づきの点等ありましたら、 &#60;a href=&#34;http://netbeans.org/projects/ja/lists&#34;&#62;ML&#60;/a&#62; 等でお知らせ頂ければと思います</description>
	<pubDate>Tue, 02 Oct 2012 21:23:35 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: xdebug</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p9</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p9</link>
	<description>php.iniを書き換え  C:￥xampp￥php￥php.ini  [XDebug]  zend_extension = ”C:￥xampp￥php￥ext￥php_xdebug.dll”  ; for mac zend_extension=”/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so”  xdebug.remote_enable=1  xdebug.remote_host=localhost  xdebug. ...</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: smarty</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p8</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p8</link>
	<description>スマーティプラグインを使うと、色がつきます。 ということで、NetBeansは設定が楽なので試してみてください。 そういえば、検索をしたあとに、編集できなくなるバグがあって、同僚の人も気にしてたので完全してもらえたらなぁと思います。 思いますで終わらず、メーリングリストにバグ報告しろよってかんじなんですけど、、、。（笑</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: SubVerisionの設定</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p7</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p7</link>
	<description>ちゃんとやればできますが、WindowsではTortoizeSVNを使ったほうが良いのでとくに設定しなくても大丈夫です。</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: デバッガを使ってみる</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p6</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p6</link>
	<description>例えば、マイページ  C:￥xampp￥htdocs￥mypage.php を開いて、エディタのウィンドウの行番号の表示されている箇所を左クリックします。 デバッグ＞ファイルをデバッグを選択してデバッグを開始できます。 デバッグはデバッグ開始ボタンが常に画面上に表示されているのでそちらを押すとよいでしょう。 次に、FireFoxで目的のページを開くとうまくいっていればブレイクポイントで止まります。 デバッグ＞ステップ・オーバー デバッグ＞ステップ・イン デバッグ＞ステップ・アウト デバッグ＞カーソルま ...</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: プロジェクト設定</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p5</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p5</link>
	<description>現状のままだと、検索等に時間がかかるので、不要なフォルダは除外します。 右側のプロジェクトタブ内のプロジェクトを右クリックして、プロパティを表示します。 カテゴリ内の無視されたフォルダを選択します。 フォルダの追加ボタンを押して、以下のフォルダを追加します。 OKを押して完了します。</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: プロジェクト作成</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p4</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p4</link>
	<description>1. ファイル＞新規プロジェクト＞既存のソースを使用するPHPアプリケーション を選択し「次」を押します。 2. ソースフォルダに C:￥＊＊＊プロジェクト名に＊＊＊とします。 3. NetBeansのメタデータを別のディレクトリに配置を選択し「次」を押します。 4. プロジェクトURLに http://localhost/開始ファイルindex.phpで「終了」を押します。場合によってURLは変えてください。</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: インストール</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p3</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p3</link>
	<description>netbeans-7.2-ml-php-windows.exe を実行します。 jdkなどが入っていれば特に問題なくインストールできるはずです。</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: NetBeansインストール</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p2</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p2</link>
	<description>http://ja.netbeans.org/ からダウンロードページに移動します。 http://netbeans.org/downloads/index.html?pagelang=ja PHP版をダウンロードします。</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記: デフォルトブラウザをfirefoxにする</title>
	<guid isPermaLink="false">http://d.hatena.ne.jp/h_sakurai/20120903#p11</guid>
	<link>http://d.hatena.ne.jp/h_sakurai/20120903#p11</link>
	<description>オプション＞一般＞Webブラウザの中のFireFoxを選択します。</description>
	<pubDate>Mon, 03 Sep 2012 00:00:00 +0000</pubDate>
</item>

</channel>
</rss>
