読書会(Java EE 7徹底入門)第1回議事録
[ 戻る ]
=========================================================================================================
Java読書会BOF 「Java EE 7徹底入門 - 標準Javaフレームワークによる高信頼性Webシステムの構築」を読む会 第1回
=========================================================================================================
.. csv-table:: 開催概要
"日時", "2016年1月23日 10:00 - 17:00"
"場所", "川崎市教育文化会館 第3会議室"
"出席者(敬称略)", "伊藤、村山、高橋(徹)、高橋(智)、岩室、遠藤、平山、中島、小棚木、山田、吉田、松永、井上、吉本、石黒、今井(書記)"
*開会前の雑談から*
- なせ猫写真?
- Tomcatに対する雌猫?
- Gradle徹底入門の著者は表紙を猫にしたかったが却下されたらしい。
著者紹介(p.567)
===============
はじめに
========
- p.vi 翔泳社のページに、サンプルプログラムの他に正誤表もある。既にいくつか載っています。
本書を読む前に
==============
Chapter 1 Java EEの基礎知識
===========================
1.1 Java EEのこれまで
---------------------
1.2 Java EEの全体像
-------------------
- p.9 Java Mail APIの2行目にあるNNTPはネットニュースのプロトコル
Network News Transfer Protocolのこと。最近あまり見ないですね。
- p.9 DI/CDIの中ほど、「DIはJava SE内で定義されています。」の意味は?
→ 第5章を待ちましょう。
- p.10 JSON-Pは、JSONPのことではない。
- p.13 下から5行目行頭 衍字
に対して対し提出して → に対して提出して
- p.14 表1.1 TCKは基本的に非公開のようだが、なぜだろう?
- オリジナルで改ざんがないことが必要だから?
- オープンソース以外のライセンスで公開すればいいのでは?
- 準拠したアプリケーションサーバーを管理したいのでは? (1.2.4より)
- p.14 下から5行目 行末 ※印は
- 正式には何とよむのだろう?
- 英語圏ではこのような用途ではどんな記号を使っているのだろう?
- アスタリスク(*)とか、ダガー(†)とか、ダブルダガー(‡)とかではないか。
- p.15 表1.2 EJB行Web Profile対応欄の、「(EJB Lite)」は何?
→ EJBの章を読むときに確認しよう。
- Tomcatは
- Java EE準拠ではない。
→ Apache TomEEというJava EE 6準拠のアプリケーションサーバーもある。
- Servlet/JSP参照実装だったが、今は違う。
- 現在もServlet/JSPのVer.UPに追従している。Jettyは止まってる?
1.3 Java EEアプリケーション開発の基本
-------------------------------------
- p.18 図1.5
- コンテナを表している枠は別サーバーの意味?
→ No。一つのプロセスで実現することも、別サーバーにわけることもできる。
- CDIはコンテナなしでライブラリ的に使用することができる。
1.4 開発環境の準備
------------------
- 新しいVer.のJDK, JREをインストールするときに、古いVer.を削除されることがあるので、
古いVer.を残す必要がある時は注意。
- p.26 図1.20の説明
- 「ライセンス契約条件を読め」とは書いてないね。
- p.27 図1.21
- NetBeans IDE用のJDKは、フォルダ名としてUpdate番号まで( ``_05`` まで)含んでいるので、
あとからJDKをVer.UPしたらIDEが動かなくなる。下記の解決方法がある。
- インストールフォルダ/etc/netbeans.conf内の設定変更
- NetBeans起動時のコマンドラインオプションの変更
- p.28 図1.23 更新の確認は、インストール時ではなくNetBeans起動時に行われる。
1.5 サンプルアプリケーションの概要
----------------------------------
- p.31 図1.28 データベースは別途インストールが必要?
→ この本の通りにインストールすると、Java DBが使えるようになっている。
- GlassFish、NetBeansのどちらに入っているかは不明。
- GlassFishの起動でJava DBも起動される。
- GlassFishを終了してもJava DBは動いたまま。
PostgreSQL, MySQL, Oracle (OCI, Thin) のドライバはついている。
- p.35 図1.35 カテゴリにある、``FMW`` とは何? (本題とは関係ないけど)
→ Oracle Fusion Middlewareだろう。寺田さんが担当部署にいたらしい。
1.6 まとめ
----------
Chapter 2 プレゼンテーション層の開発 --- JSFの基本
==================================================
2.1 JSF概要
-----------
- p.41 図2.2 衍字
入力値のチェックやなど → 入力値のチェックなど
- p.41 コラム内にある、アクションベースの開発とはどんなものだろう?
2.2 JSFの構成要素
-----------------
- p.42 コード内 ``<h:head>`` は、宣言部ではなくヘッダー部の間違い。
- フェースレットをHTML標準タグで書いて属性でJSFに必要な項目を書くこともでき、
ブラウザでそのまま見ることができる。後の章で書かれている。
- p.33 下から6行目 コードの説明として「Accountクラスの」と書かれているが、EL式内
``account`` はクラス名ではなくエンティティ名。そのエンティティの型がAccount。
(あとから出てくるAccountBean.javaを見ないとわからない。)
- p.49 6行目 ``Accountクラスに設定`` はクラスでなくオブジェクトだろう。この章では
クラスとオブジェクトを区別せず、全て``クラス`` と言っているようだ。
- p.49 図2.4 マネージドビーンでパスワードは何故アカウント情報の枠に入っていない?
→ 画面で入力された値をそのまま登録するわけではなく、処理をして(ハッシュ化して)
アカウント情報に格納するからではないか。
- p.49 コラム バッキングビーンは、JSFやCDIでライフサイクル管理されている/いないは
関係ない。
2.3 JSFの画面遷移
-----------------
- p.52 2.3.2 3行目 脱字
サーバー再アクセスして → サーバーに再アクセスして
2.4 JSFの内部処理
-----------------
2.5 JSFの基本設定
-----------------
- p.61 サーブレットのマッピング定義
- URLパターンは、``/faces/*/`` が一般的とあるが、実運用アプリではサーバー技術が
わかるようなパス名は使わないと思う。
- ``.do`` は結構見るね。
- ``knowledgebank`` はコンテキスト名で、通常warファイル名をコンテキスト名にしておく。
2.6 フェースレットタグライブラリ
--------------------------------
- p.61 表2.2 1行目の代表的なタグ二つが同じタグになっている(``<f:convertDateTime>``)。
- p.61 表2.3
- 表ヘッダ「ネームスペース」についている``[10]``は不要。
- 注釈[16]の内容からは、「表見出し」より「ネームスペース」についてた方がしっくりくる。
- 実行時に「ネームスペース」にあるURLにアクセス可能である必要があるか?
→ 便宜の為に通常ここにスキーマがおかれていることが多いが、これはURIであって
アクセス可能である必要はない。
- p.66 headやbodyはh:タグである意味はあるのか?
- 内部のh:タグの存在チェックのため?
- <html>内にh:タグ置けないから?
- コンテナがコンポーネントツリーを作るため?
- p.68 下のコードの見出し 誤字
スタイルシータタグ → スタイルシートタグ
p.69 上部も同様の誤字
- p.70 中ほど HTMLだけではなくJavaScriptのエスケープはしてくれないのかなぁ?
- altなど、対応するHTMLタグに書くことができる属性は、h:タグで書いても大丈夫?
- p.76 中ほど
- コンテキストルートからのパスを指定する場合とあるが、本文の説明には、
outcome属性に書かれていない ``faces/`` が入っている。
- コンテキストルートはknowledgebank/だから、コード例か本文の間違い?
- 「コンテキストルートからのパスを指定する」という説明が間違い?
- サンプルコードではこの本と同じようになっている。
.. note::
p.77まで終了。次回はp.78から。
[ 戻る ]