<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/matlab/">
    <title>matlab @ ウィキ</title>
    <link>http://w.atwiki.jp/matlab/</link>
    <atom:link href="https://w.atwiki.jp/matlab/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>matlab @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2009-10-04T18:14:39+09:00</dc:date>
    <utime>1254647679</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/28.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/29.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/26.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/25.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/matlab/pages/23.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/28.html">
    <title>ubuntu/emacs</title>
    <link>https://w.atwiki.jp/matlab/pages/28.html</link>
    <description>
      #contents()

-----
* 設定
** メニューバー
メニューバーはあっても使わないのでOFF。
#highlight(){{
(menu-bar-mode nil)
}}

** 1文字削除
Cntrl-hは、1文字(前)削除としたいので。
#highlight(){{
(global-set-key &quot;\C-h&quot; &#039;delete-backward-char)
}}

** 日本語入力
日本語入力には、anthyを使う。
Cntrl-Oで入力をトグル。
最後のは、日本語入力受付が遅いのを解消。
（いつかは治るみたいだけど）
#highlight(){{
(load-library &quot;anthy&quot;)
(setq default-input-method &quot;japanese-anthy&quot;)
(global-set-key &quot;\C-o&quot; &#039;toggle-input-method) 
(if (&gt;= emacs-major-version 22)
    (setq anthy-accept-timeout 1))
}}    </description>
    <dc:date>2009-10-04T18:14:39+09:00</dc:date>
    <utime>1254647679</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/29.html">
    <title>ubuntu</title>
    <link>https://w.atwiki.jp/matlab/pages/29.html</link>
    <description>
      #ls3()    </description>
    <dc:date>2009-10-04T18:13:00+09:00</dc:date>
    <utime>1254647580</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/matlab/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[Java]]
-[[Ajax]]
-[[セカンドライフ]]
-[[株]]
-[[ubuntu]]

----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]    </description>
    <dc:date>2009-09-30T00:20:20+09:00</dc:date>
    <utime>1254237620</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/26.html">
    <title>株/セットアップ</title>
    <link>https://w.atwiki.jp/matlab/pages/26.html</link>
    <description>
      #contents()

//====================================================================================================
*[JDK]
//====================================================================================================
[[ここ&gt;http://java.sun.com/javase/ja/6/download.html]]から最新のJDKをDLする。
(最新はJDK 6 Update 16)

DLしたインストーラを実行。
インストール先は「c:\java\jdk1.6」。

パスを通しておく。
⇒「コントロールパネル」「システム」「システムの詳細設定」「環境変数」
PATH=%PATH%;C:\java\jdk1.6\bin
JAVA_HOME=C:\java\jdk1.6

一応確認。
#highlight(){
C:\Users\takada&gt;java -version
java version &quot;1.6.0_16&quot;
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)
}

//====================================================================================================
*[eclipse]
//====================================================================================================
**ますはそのもの
[[ここ&gt;http://www.eclipse.org/downloads/index.php]]から最新のeclipseをDLする。
一応JavaEEもあるかもしれないので、Eclipse IDE for Java EE DevelopersをDL。



//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@




----    </description>
    <dc:date>2009-09-12T21:58:10+09:00</dc:date>
    <utime>1252760290</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/25.html">
    <title>株</title>
    <link>https://w.atwiki.jp/matlab/pages/25.html</link>
    <description>
      株のシステムトレードを実践する。
言語は[[Java]]、DBはSQL Server Expressの方向。
#ls3()    </description>
    <dc:date>2009-09-12T21:34:54+09:00</dc:date>
    <utime>1252758894</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/21.html">
    <title>java/アプリケーションサーバ</title>
    <link>https://w.atwiki.jp/matlab/pages/21.html</link>
    <description>
      #contents()
＜&amp;link_pdf(PDF,JavaEE5)＞

----
//====================================================================================================
*Glassfish
//====================================================================================================
**インストール(GlassFish Server v2 Update Release 2)
[[ここ&gt;https://glassfish.dev.java.net/public/downloadsindex.html]]からGlassfish v2 UR2をDLする。

Multilingualがあるので、それをDLする。（日本語？）
glassfish-installer-v2ur2-b04-windows-ml.jar(82M)

以下のように実行するとglassfishに展開される。
#highlight(){
java -Xmx256m -jar glassfish-installer-v2ur1-b09d-windows-ml.jar
}
※以降、c:\glassfishに展開したとして進める。

開発者用XMLでantする。
#highlight(){
lib\ant\bin\ant -f setup.xml
}
※BUILD SUCCESSFULで成功

**起動
#highlight(){
asadmin.bat start-domain domain1
}
プロンプトをみると、
&gt;ユーザーの Web アプリケーションは次の URL で使用できます:
&gt;http://localhost:8080 https://localhost:8181。
とあるので、確認して終了。

#highlight(){
asadmin.bat stop-domain domain1
}

----
//====================================================================================================
*参考
//====================================================================================================
&gt;- [[GlassFishではじめるアプリケーションサーバのかんたん構築&gt;http://sdc.sun.co.jp/java/series/glassfish/200803.html]]    </description>
    <dc:date>2008-11-15T09:39:25+09:00</dc:date>
    <utime>1226709565</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/24.html">
    <title>java/JavaEE5/03DI</title>
    <link>https://w.atwiki.jp/matlab/pages/24.html</link>
    <description>
      #contents()
＜&amp;link_pdf(PDF,JavaEE5)＞

----
//====================================================================================================
*DIできるもの
//====================================================================================================
JavaEE5では、EJBコンテナ及びWebコンテナが管理するオブジェクトをDIする仕組みを持っている。

:注入対象オブジェクト（注入するオブジェクト）|
- セッションBean
- データソース
- JMSのコネクションファクトリ
- JMSのディスティネーション
- JavaMailのセッション
- JTAのユーザトランザクション
- EJBコンテキスト
- JPAエンティティマネージャ
- JPAエンティティマネージャファクトリ
- タイマーサービス
:注入先オブジェクト（注入される・してもらうオブジェクト）|
Webコンポーネント
- サーブレット
- フィルタ
- リスナ
- タグハンドラ
- マネージドBean
EJBコンポーネント
- セッションBean
- インターセプタ
- メッセージ駆動Bean
Webサービスコンポーネント
- サービス実装クラス

----
//====================================================================================================
*マルチスレッド
//====================================================================================================
マルチスレッド環境のインスタンス変数は以下のような対策でスレッドセーフにておく必要がある。
- インスタンス変数を、状態を持たないオブジェクトにする
- インスタンス変数を、イミュータブルオブジェクトにする
- インスタンス変数内の状態に対する更新処理を、synchronizedブロックで同期化する
※イミュータブルオブジェクトとは、一度インスタンスを生成すると以降状態を変更できないオブジェクトをいう。

注入先オブジェクトの複数スレッド同時アクセス
|BGCOLOR(gray):注入先オブジェクト|BGCOLOR(gray):生成単位|BGCOLOR(gray):複数スレッドからの同時アクセス|
|サーブレット|web.xmlのservlet要素ごと|あり|
|フィルタ|web.xmlのfilter要素ごと|あり|
|リスナ|web.xmlのlistener要素ごと|あり|
|タグハンドラ|リクエストごと|なし|
|マネージドBean(アプリケーションスコープ)|Webアプリケーションごと|あり|
|マネージドBean(セッションスコープ)|セッションごと|あり|
|マネージドBean(リクエストスコープ)|リクエストごと|なし|
|セッションBean|コンテナに複数のオブジェクトをプール|なし|
|インターセプタ|コンテナに複数のオブジェクトをプール|なし|
|メッセージ駆動Bean|コンテナに複数のオブジェクトをプール|なし|
|サービス実装クラス(WAR)|ひとつ|あり|
|サービス実装クラス(EJB-JAR)|コンテナに複数のオブジェクトをプール|なし|

注入対象オブジェクトのスレッドセーフ
|BGCOLOR(gray):注入対象オブジェクト|BGCOLOR(gray):スレッドセーフか?|
|セッションBean|実装依存|
|データソース|実装依存|
|JMSのコネクションファクトリ|スレッドセーフ|
|JMSのディスティネーション|スレッドセーフ|
|JavaMailのセッション|実装依存|
|JTAのユーザトランザクション|スレッドセーフ|
|EJBコンテキスト|スレッドセーフ|
|JPAエンティティマネージャ|スレッドセーフでない|
|JPAエンティティマネージャファクトリ|スレッドセーフ|
|タイマーサービス|スレッドセーフ|

注入先オブジェクトが複数スレッド同時アクセスありで、そこへ注入する注入対象オブジェクトがスレッドセーフでない場合は採用してはいけない。
たとえば、サーブレットへJPAのエンティティマネージャを注入してはいけない。
この場合、スレッドセーフなエンティティマネージャファクトリを注入し、そこからエンティティマネージャを取得して解決する。

----
*参考
&gt;UFJIS株式会社 斉藤賢哉、マスタリングJavaEE5、翔泳社、2007年    </description>
    <dc:date>2008-11-15T09:22:51+09:00</dc:date>
    <utime>1226708571</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/22.html">
    <title>java/JavaEE5/02EJB</title>
    <link>https://w.atwiki.jp/matlab/pages/22.html</link>
    <description>
      #contents()
＜&amp;link_pdf(PDF,JavaEE5)＞

----
//====================================================================================================
*JavaEE5概要
//====================================================================================================    </description>
    <dc:date>2008-11-15T09:21:54+09:00</dc:date>
    <utime>1226708514</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/17.html">
    <title>Java/JavaEE5/01概要</title>
    <link>https://w.atwiki.jp/matlab/pages/17.html</link>
    <description>
      #contents()
＜&amp;link_pdf(PDF,JavaEE5)＞

----
2006年5月、JavaEE5の正式仕様が公開される。
今回名前がガラッとかわったけど、これまでのバージョン、例えばJ2EE 1.4では、
①[[Java]]2の2はいつまで2のままなの？
②1.4の小数点以下がメジャーバージョンを指すのは如何なものか
という理由からこの機会にJavaEE5にしようってことのよう。

----
//====================================================================================================
*ロードマップ
//====================================================================================================
|BGCOLOR(gray):年|BGCOLOR(gray):JavaSE|BGCOLOR(gray):JavaEE|
|1995|Java誕生||
|1996|JDK1.0||
|1997|JDK1.1||
|1998|JDK1.2||
|1999|      |J2EE1.2|
|2000|JDK1.3||
|2001|      |J2EE1.3|
|2002|JDK1.4||
|2003|      |J2EE1.4|
|2004|JDK5.0||
|2005|      ||
|2006|JDK6.0|[[JavaEE5&gt;Java/JavaEE5]]|
|2007|      ||
|2008|JDK7.0||
&gt;JDK6の年にJavaEE5が出た。１つずれてしまっている。
&gt;今日(2008/11/9)時点では、JavaEE6は2009年春予定、JDK7は2009年夏予定。
&gt;どこかでJavaEEのバージョンが飛ばされそうな気がする。
&gt;そういえば、JDK7をググるとクロージャがたくさんヒットする。
&gt;カウンタのサンプルしか見たことがないので、支持される意味がよくわからない。

----
//====================================================================================================
*API
//====================================================================================================
主な機能
|BGCOLOR(gray):機能|BGCOLOR(gray):J2EE1.3|BGCOLOR(gray):J2EE1.4|BGCOLOR(gray):JavaEE5|BGCOLOR(gray):メモ|
|ServletAPI|2.3|2.4|2.5 (JSR154)|マイナーVerUp|
|JSP (JavaServer Pages)|1.2|2.0|2.1 (JSR245)|マイナーVerUp。式がUnified ELとなりJSFと統合|
|JSF (JavaServer Faces)|-|-|1.2 (JSR252)|式がUnified ELとなりJSPと統合され、仲間入り|
|JSTL (JavaServer Pages Standard Tag Library)|-|-|1.2 (JSR52)|マイナーVerUpし、仲間入り|
|JTA (Java Transaction API)|1.0|1.0|1.0 (JSR907)||
|EJB (Enterprise JavaBeans)|2.0|2.1|3.0 (JSR220)|根本から見直し|
|JPA (Java Persistence API)|-|-|1.0 (JSR220)|POJOベースO/Rマッピング|
|JMS (Java Message Service)|1.0|1.1|1.1||
XML/Webサービス関連機能
|BGCOLOR(gray):機能|BGCOLOR(gray):J2EE1.3|BGCOLOR(gray):J2EE1.4|BGCOLOR(gray):JavaEE5|BGCOLOR(gray):メモ|
|Web Services|-|1.1|1.1 (JSR109)||
|Web Services Metadata for the Java Platform|-|-|2.0 (JSR181)||
|JAXP (Java API for XML Processing)|1.1|1.2|1.2||
|JAX-RPC (Java APIs for XML based RPC)|-|1.0|1.1 (JSR101)|JAX-WSを使え|
|JAX-WS (Java API for XML-Based Web Services)|-|-|2.0 (JSR224)|JAX-RPCのVerUpで名前が変わった（下位互換なし）|
|SAAJ (SOAP with Attachements API for Java|-|1.1|1.1 (JSR67)||
|JAXB (Java Architecture for XML Binding)|-|-|2.0 (JSR222)|重要そう|
|StAX (Streaming API for XML)|-|-|1.0 (JSR173)|JAXBに付随して仲間入り|
その他
|BGCOLOR(gray):機能|BGCOLOR(gray):J2EE1.3|BGCOLOR(gray):J2EE1.4|BGCOLOR(gray):JavaEE5|BGCOLOR(gray):メモ|
|JCA (J2EE Connector Architecture)|1.0|1.5|1.5 (JCR112)||
|JavaMail|1.2|1.3|1.3 (JSR919)||
|JAF (JavaBeans Activation Framework)|1.0|1.0|1.1 (JCR925)||
&gt;JAXBはもしかしたら面白いのでは？JavaScript([[Ajax]]との関連など)
&gt;JSFはAjaxの動向次第かと。AjaxがExt系に走るのであれば、JavaEEはJax-WSに走るべき。
&gt;JSF+Ajaxは、仕様が乱立するので、どこかでJBoss SeemがJavaEE入りするのでは？
&gt;Ext系も乱立している。SWT(今もある？)の仕様に合わせてコンポーネントを作るべきじゃないの？
&gt;・Ext系：クライアントコンポーネントモデル
&gt;・JSF系：サーバコンポーネントモデル

**APIと層
#ref(http://www1.atwiki.jp/matlab/pub/0001.png,,http://www1.atwiki.jp/matlab/pub/0001.png,width=500)

----
//====================================================================================================
*JavaEEアプリケーションのパッケージング
//====================================================================================================
**Webアプリケーション
&gt;WARについて書く。
**EJBアプリケーション
&gt;EJB-JARについて書く。
**エンタープライズアプリケーション
&gt;EARについて書く。

----
*参考
&gt;UFJIS株式会社 斉藤賢哉、マスタリングJavaEE5、翔泳社、2007年
&gt;@IT http://www.atmarkit.co.jp/fjava/rensai3/jaee5mgrtn01/jaee5mgrtn01_1.html
&gt;EJB2.x EJB3.0 http://otn.oracle.co.jp/forum/thread.jspa?messageID=35011604    </description>
    <dc:date>2008-11-15T09:21:39+09:00</dc:date>
    <utime>1226708499</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/matlab/pages/23.html">
    <title>java/JavaEE5</title>
    <link>https://w.atwiki.jp/matlab/pages/23.html</link>
    <description>
      2006年5月、JavaEE5の正式仕様が公開される。
今回名前がガラッとかわったけど、これまでのバージョン、例えばJ2EE 1.4では、
①[[Java]]2の2はいつまで2のままなの？
②1.4の小数点以下がメジャーバージョンを指すのは如何なものか
という理由からこの機会にJavaEE5にしようってことのよう。

----
#ls3()    </description>
    <dc:date>2008-11-15T09:17:05+09:00</dc:date>
    <utime>1226708225</utime>
  </item>
  </rdf:RDF>
