[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10757] More Java Pitfalls を読 む会第 3 回議 事録



  高橋(智)です。皆様、本日はお疲れ様でした。
  議事録を送ります。

"More Java Pitfalls"を読む会 第3回議事録

開催日時:2003年7月19日 10:00 〜 17:00
開催場所:目黒区東山住区センター  第1会議室
参加者(敬称略):村山、高橋(徹)、高橋(智)、門脇、井上、村上、金井、秋元

自己紹介:簡単な近況報告
書記:高橋(智)
読み手:各自が予習を担当したItemNoの日本語訳を紹介

■はじめに
  今回は10:30の時点でようやく5人程度集まり、なんとか読書を開始できました。
  また、会議室の冷房(ドライ)がとても効いてて快適でした。
  読み手と書記の兼任は結構辛いものがあるので、もう少し参加者が増えて楽にな
ることを祈ります。

■Item11: Apache Ant and Lifecycle Management

  ◆Ant の正式名称の 'Neat' の意味は?
    --> かっこいい、クール
        --> Ant の意味は決して「蟻(アリ)」ではない

  ◆「dependsタグ」と解説されているが
    --> 正しくは「depends属性」ではないか?
        --> 誤記?

  ◆build.xml のDTDやXML Schemaは存在しているのか?
    --> 存在しないようだ
        --> Antには、build.xml自身のDTDを出力する機能がある
        --> 外国には、独自にDTDを定義しようと試みている人もいる
    --> 妥当性の検証は可能なのか?
    --> XML-DMBSというJavaのライブラリは、XMLファイルからDTDを生成してくれる

  ◆build.xml を編集する便利なGUIツールはあるのか?
    --> 無いようだ
    --> 情報求む!!

  ◆「junitreport」というツールがあるらしい
    --> XMLファイルが生成される
        --> XSLTを使ってHTML変換する

  ◆formatterのtypeには、プレーンテキストを指定できる

  ◆「BugRat」に関する日本語ページ
    --> google で一件もヒットしなかった
        --> Java読書会のページが最初かも?!

  ◆pathconvertは何を行っているのか?
    --> 宿題
    --> PATHの記述内容をプラットフォーム用に変換しつつ、プロパティとして設定
        するもの??

  ◆このItemで紹介されているbuild.xmlは、Windows専用のものでは?
    --> Antはcross-platformなのに!!
    --> 他のプラットフォームでは動作しないと思われる

  ◆「JDepend」の出力結果は分かりづらいものらしい
    --> Metricsにおいて標準的な「しきい値」があるのか?

  ◆build.xml は分割して管理することが出来る

  ◆スプラッシュスクリーンの機能
    --> こんなのどうでもよい(笑)
    --> 環境に依っては動作しないだろう

  ◆現在のversionでは、<war warfile=...>は<war destfile=...>に変わっている

  ◆「war」はどう発音する??
    --> ワー   (×)
    --> ウォー (○)

  ◆「population」の意味は?
    --> データを挿入するということ

  ◆掲載されているSQL文
    --> CDATAで囲む必要がありそう
    --> ファイルから読み込んだほうが良さそう src="....."

  ◆AntのSQL機能
    --> ユニットテストのためのデータベースセットアップに適しているのではないか

  ◆CruiseControl
    --> CruiseControlの他に「Maven」というツールがある
    --> 他にも2,3個、メジャーなツールがあるらしい
        --> 情報求む!!

■Item12: JUnit: Unit Testing Made Simple

  ◆List12.2のJavaBeanのソースに、mainメソッドやテスト用メソッドが書かれて
    いるのは良いのか?
    --> 著者の単なる便宜上?
    --> JavaBeanのコンパイル&実行時にJUnitのライブラリが必要になってしまう

  ◆public void noTestCase() メソッドの意味は?
    --> 良く分からない

  ◆「==」で文字列(String)を比較しているのは良いのか?
    --> メソッドの仕様に依るのでは?
        --> たぶん記述ミス(バグ)だろう

  ◆List12.5では Connection, Statement, ResultSet を close() していないのは
    良いのか?
    --> close()を忘れている
    --> ちゃんとテストしろ!!

■Item13: The Failure to Execute

  ◆XMLはJVMの一部?
    --> 「JDK,JREの一部」の誤りだろう

  ◆Windows\System32ディレクトリのjava.exe,javaw.exeは問題の元
    --> 起動時にどのJREを使うのか?
        --> レジストリの
  HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion
            を見に行っている

  ◆XMLライブラリの問題と同じことが、JDBCドライバでもよく起こる
    --> Antのスクリプトで使われているMySQL用のJDBCドライバでは、jarファイル名
        にバージョン番号が含まれている

  ◆Tomcat3.xで起こる問題を正しく認識することはとても難しい
    --> そもそもライブラリ(.jar)の読み込みに関する資料が乏しい!!

  ◆JRE/lib/extディレクトリにはライブラリを置くべきではない
    --> lib/extにはDLLが置けるというメリットがあるのでは?

■Item14: What Do You Collect?

  ◆JAXBを使って XML <-> JavaClass のマッピングという手段もある

■Item15: Avoiding Singleton Pitfalls

  ◆Web Tier では、サーブレットコンテキストが使えるのでは?

  ◆EJBでは、Singletonは無い

  ◆このItemで解説されている話は案外簡単なものだった
    --> ダブルチェックに関する議論がある
        http://www-6.ibm.com/jp/developerworks/java/020726/j_j-dcl.html

■Item16: When setSize() Won't Work

  ◆setInternalValues()メソッドの、その名前自体が不適切では?

  ◆SwingやAWTに関する技術書が少ない

■Item17: When Posting to a URL Won't

  ◆HTTPClientが置かれている http://www.innovation.ch/ は、一体どこの国??
    --> 中国? チェコ? スイス?

  ◆図17.3の結果は theName=Bill+Gates&question1=Yes だが
    HTTPClientPost2の結果は theName=Bill+Gates&question1=No になっている
    --> 結果が違う!!(笑)
        --> 著者の意図??

■さいごに
  打ち上げでは、駅前にある居酒屋で魚料理を食べました。お一人様 \2,580也。

-- 
高橋智宏
  Java読書会( http://www.t3-jpn.com/bof/ )
  T3-Japan( http://www.t3-jpn.com/ )