- Amazon.co.jp ・本 (206ページ)
- / ISBN・EAN: 9784274079702
感想・レビュー・書評
-
2010年ブックハンティング選定図書。
詳細をみるコメント0件をすべて表示 -
●Javaを動かすための仮想的なコンピューター:Java仮想マシン(Javaヴァーチャルマシン JVM)
●Javaの3つのエディション
Enterprise Edition J2EE: サーバ向け
Standard Edition J2SE: パソコン向け
Micro Edition J2ME: モバイル向け
●アプレット(Applet):ブラウザの中で動作する小さなJavaアプリケーション(letは”小さな”を表す接尾辞)
ホームページの中に小さなプログラムを埋め込み、それをブラウザの画面の中で動作させることができる=インタラクティブなホームページを作成可能
<HTML>
<APPLET>
:
:
<APPLET>
<HTML>
アプレットにはエントリポイントとなるmainメソッドが存在しないため、必ずAppletクラスを継承するクラスを作成する必要あり
JavaScriptはHTMLの制御とアプレットとの連携も可能。アプレットとHTMLの間にJavaScriptをはさみ、アプレット⇔JavaScript⇔HTMLの構成でページを作成する
●オブジェクト指向の「インスタンス」は、「クラス」が設計図であり、具体的なデータを持った状態のもの
●オブジェクト指向の「継承」は、あるクラスが持っているデータや機能をそっくりそのまま継承し、多少の編集を加えて全く新しいクラスを作るアプローチのこと
「extends」キーワードを利用。元となる既存クラスは「スーパークラス」、継承された作られたクラスは「サブクラス」
●オブジェクト指向の「ポリモーフィズム(多態性)」は、あるクラスが別のクラスとして振舞うことができる性質のこと
●クラスAは、クラスCのスーパークラスであるクラスBを利用することで、意識せずにクラスCの機能を利用できる
クラス間の関係を希薄にすることができる
●Java開発環境:シェル、テキストエディタ、コンパイラ、JVM
●プログラムファイル名:Helloworld.java
コンパイル:javac Helloworld.java
→プログラムファイルと同じディレクトリにクラスファイル(Helloworld.class)ができる
プログラム実行:java Helloworld ・・・クラス名を指定(クラスファイル名ではない)
●J2SEにはGUI(Graphical User Interface)関連のクラスライブラリが豊富に含まれる
●デバッガはJ2SE SDKに付属している
jdb Helloworld
●クラスファイルを解析するコマンド:javapコマンド(J2SE SDKに付属)
javap -c Helloworld
●IDE(Integrated Development Environment:統合開発環境):Eclipse
●自動化ツール(Makeのようなツール):Ant。作業手順をまとめたXMLファイル(build.xml)を読み込む
●JXTA(ジャクスタ):P2P型のアプリケーションを開発するためのフレームワーク
●XML(eXtensible Markup Language):データをアプリケーションから独立させるための技術
<>で囲まれたタグを用いてテキスト情報としてデータを記述する
XMLとHTMLの親はSGML
JavaではXMLで記述されたデータを解析したり、XML形式のデータを作成するためのクラスライブラリが提供されている
JAXB(Java Architecture for XML Binding)
●ネットワークを経由したアプリケーション同士の連携を実現するWebサービスという技術があり、XMLとTHHPを土台としてSOAP(Simple Object Access Protocol)が事実上の標準となっている。
具体的なサービス利用要求はXML形式のデータで作成し、HTTPに従ってやりとりする仕組み。HTTP通信なので仕組みはシンプル
●Javaのマルチメディア関連技術
JSAPI(Java Speech API):Javaで作成するアプリケーションで、音声合成の機能を利用するための仕様
JAI(Java Advanced Imaging)API:画像データを取り扱うためのクラスライブラリ。画像操作やフォーマット変換などの高度な処理が可能
JMF(Java Media Framework)API:ビデオや音楽などの時系列データを取り扱うためのフレームワーク
●ブラウザは、サーバから取得したホームページ(HTMLファイル)を解析し画面に描画するが、<SCRIPT>タグが存在すると、その部分をプログラム(インタプリタ)として解釈
<FORM>タグとの連携によるボタン制御などが実現しやすくなっている
代表的なスクリプト言語は「VBScript」、「JavaScript」。その他macromedia社のFlashがある
●ActivX:アプレットと同様、ホームページの中に小さなプログラムを組み込むことを可能とする
COM(Component Object Model)をベースとした技術
ActivXをホームページに組み込むには<OBJECT>タブを利用する
HTMLと直接連携するには、VBScriptを利用する
●アプレットとActivXの違い:アプレットは安全性を重視し、画像の表示は可能だがファイルの読み書きや他のコンピュータとの通信は
できない。ActivXは何でもできる(できることに制限は全く設けず、実行するかしないかはユーザの判断に任せる)
●HTTP(Hyper Text Transfer Protocol):ホームページを見るためのプロトコル
「ページをください」という要求(HTTPリクエスト)と、それに対する応答(HTTPレスポンス)で構成される
HTTPリクエストコマンドの例
・GET:指定したページを取得
・HEAD:ヘッダだけを取得
・POST:指定したページにデータを送信
・PUT:指定したURLにデータを保存
HTTPレスポンスコマンドの例
・200 OK
・404 OK
・400 OK
●CGI(Common Gateway Interface):HTTPリクエストを受け取ると、サーバ側で特定のプログラムを起動するための仕組み。Perlを用いたものが多い
●Tomcat:フリーのJ2EE対応アプリケーションサーバ。Webサーバとしての機能を持つアプリケーションサーバがJavaプログラムをコントロールし、複雑な処理を実現する
●アプリケーションサーバの役割:HTTPリクエストの内容に応じて、適切なJavaクラスを選択し特定の処理を実行する
●Servlet:「小さなサーバ」アプリケーションサーバの中で動作するミニサーバ。Servletを利用するのはアプリケーションサーバで、本体はJavaクラス
●JSP(Java Server Page):デザインの組み込みで利用。拡張子は.jsp
JSPはあくまでHTMLが主役であり、HTMLの中にプログラムを記述していく。JavaプログラムであるServletとは違う
⇒Servletが適している場面(処理が中心)ではServletを使い、JSPが適している場面(デザインが中心)ではJSPを利用し、うまく組み合わせて利用する
●プログラムとデータベースを接続するために、JDBCという技術を使う。ODBCと同じイメージ
アプリケーションサーバはデータベース接続を行い、その接続をプログラムに提供する機能をもつ。
JNDI(Java Naming and Directory Interface):データベースの情報はアプリケーションサーバの設定ファイルに記述するため、プログラムには環境に依存した情報は一切含まれない
●JavaBeans:プログラムで利用できる部品を作成するための技術。部品を作るためのルール、部品を使うためのルールが定められているため、これらのルールに従って開発することで汎用的なシステムを実現することができる
●Servlet、JSP、JavaBeansを適材適所(処理とデザインを分離する)で利用することで、効率的な開発が可能
MVC(Model-View-Controller):ロジックとデザインと制御を分離して作成するというアプローチ
⇒Javaの場合・・・
Model:具体的なビジネスロジックを担当(EJB、JavaBeansで実現。ユーザ登録やデータベース検索など)
View:ユーザインタフェース(この場合はHTML)の生成担当(JSPで実現。クライアントに表示するHTMLを作成)
Controller:ユーザからのリクエスト(この場合はHTTPリクエスト)の処理を担当(Servletで実現。クライアントからのリクエストを最初に受付、その内容を吟味し、適切なModelに処理を依頼する)
●Struts:MVCに基づいた開発を実現するためのフレームワーク。Tomcatと同じくJakartaプロジェクトで開発
Controllerがあらかじめ提供されるため、開発者はModelとViewだけ集中して開発することが可能
●EJB(Enterprise Java Beans):JavaBeansの一種で、目的はアプリケーションの部品化の実現。ネットワークを利用したシステムというより広範囲のものを想定
Session Bean:特定の処理を行う機能を提供。ここでの処理はビジネスロジック
Entity Bean:永続化データの取り扱いを代行する(データベースに保存するデータなど)
Message-Driven Bean:非同期の処理を実現する仕組みを提供。JMS(Java Messaging Service)を利用。「メッセージを出し処理を依頼」したら、その処理の完了を待つことなく先へと進めることができる
●EJBを利用するためには専用のアプリケーションサーバが必要。EJBコンテナ:EJBを動作させるためのアプリケーションサーバ
JBoss:フリー公開されているEJBコンテナ。Tomcatなど既存のServlet、JSP対応のアプリケーションサーバとの連携も容易
●JNI(Java Native Interface):仮想マシンの中のJavaプログラムと外の世界(ネイティブアプリケーション、OS、ハードウェアなど)を結ぶためのインタフェース。
JNIを利用することにより、JavaプログラムとC言語プログラムの連携も可能
●JINI(ジニー):ネットワークを介した機器間での連携を実現するための技術。ネットワークに接続されたさまざまな機器の連携を実現するためのフレームワークを提供する -
古本屋で見つけたので今読んでます。
技術書ではなく解説本みたいな感じです。