...

Java programming seminarについての案

by user

on
Category: Documents
5

views

Report

Comments

Transcript

Java programming seminarについての案
Java programming seminarについての案
1. Java programming seminarの目的は?
2. Javaを通じてsoftware developmentを学びます
3. software development process(例)
4. Java versionの歴史
5. Java Editionの関連
6. 案-1: 学習の順番(Desktop applicationを目指す場合)
7. 案-2: 学習の順番(Web applicationを目指す場合)
8. 開発環境eclipseを使ってJavaを学びます
9. Webについても学びます
10. Web, Desktop application platform, language
11. Webの基本的データ HTML, XML
12. オブジェクト指向についても学びます
13.テキストサイトについて
A. 参考: ダイナミック言語(scripting languageとも)
2010/9/4
K.Yanai
2010 夏
Kyosuke Yanai
1
1. Java programming seminarの目的は?
•
まずは、applicationを作るための入門
•
達成レベル
– 最初は
• Javaの可能性を感じる
• 自力で勉強を続けるために必要な環境を整える
• Java言語を使って簡単な機能を実現できる
• プログラム作成の基礎的なイメージをつかむ
– 最後は
• どうなりたいですか?
• seminarとしては、一流の技術者集団をめざしたものをやりたいです
•
どんなapplicationを目指しますか?
•
•
•
•
2010/9/4
applicationの目的によって動作/開発環境や考え方が大きく違います
Web application
PC application(Desktop application)
device application
K.Yanai
2
2. Javaを通じてsoftware developmentを学びます
• program languageを学ぶ
– 言語仕様
• software development processを学ぶ
– コーディングルール
– ツールの使いこなし
• 開発ツール(IDE)など
– ライブラリ
– デザイン手法(オブジェクト指向)
– テスト手法
– 文書化手法
IDE: Integrated Development Environment
eclipse, NetBeans, VisualStudioなどがあります。
その他、ツールとしてはapplication platformご
とにSDKがあります。
• 関連する技術を学ぶ
– データベース(主にJavaとの接続について)
– ネットワーク(特にWeb関連)
– その他(各種のデータ形式など、XMLなど)
2010/9/4
K.Yanai
3
3. software development process(例)
•
•
システム開発は設計やプログラムを行うだけではなく、たくさんの工程(過程)を経て行われます。
現在は、さまざまなプロセスがあります。図は古典的なプロセスの例です。
Start
End
導入/構築
テスト計画
システム化計画
要件定義
Start・・・
テスト
次期システム化
計画
運用/維持管理
/サポート
設計
製造(Coding)
設計とか、コーディングは全体の中
のほんの一部でしかないのです。
2010/9/4
2010/9/4
K.Yanai
4
4. Java versionの歴史
•
Java: 1995年5月23日のSunWorldカンファレンスで公開(Java applet)
– JDK 1.0 (1996年1月23日)
– JDK 1.1 (1997 年2月19日)
•
国際化対応、AWT、JavaBeans、JDBC、Java RMI
– J2SE 1.2 (1998 年12月8日)
•
リフレクション 、Swing 、Java Plug-in(Java applet)、Java IDL
– J2SE 1.3 (2000 年5月8日)
•
Java RMI(CORBA)、Java Naming and Directory Interface (JNDI)
– J2SE 1.4 (2002年2 月6日)
•
•
•
assert、JAXP (Java API for XML Processing)、 JCE(Java Cryptography Extension)
JSSE(Java Secure Socket Extension): TLS/SSL
JAAS(Java Authentication and Authorization Service)、 Java Web Start
– J2SE 5.0(2004 年9月30日)
•
言語仕様の拡張
•
Webサービスほか
– Java SE 6(2006 年12月11日)
– Java SE 6 Update 10 (2008年10月22日)
– Java SE 7 (予定)
2010/9/4
K.Yanai
5
5. Java Editionの関連
• Java SE(Java Platform, Standard Edition)
• Java EE(Java Platform, Enterprise Edition) 6
• Java ME(Java Platform, Micro Edition)
ここから始めます
Java Platform
Enterprise Edition
Java
Java EE
EE 66
Webシステム向き
Webシステム向き
Java Platform
Standard
Edition
Java Platform
Micro Edition
Java
Java SE
SE
Java
Java ME
ME
Desktop
Desktop Application向き
Application向き
携帯端末、情報機器向き
携帯端末、情報機器向き
Java言語仕様
Java言語仕様
2010/9/4
K.Yanai
6
6. 案-1: 学習の順番(Desktop applicationを目指す場合)
•
Java SEで簡単なプログラム作成
– 開発環境のセットアップと使い方
– Hello World
– javaの基礎的な仕様
– オブジェクト指向入門
•
基礎的プログラム作成
–
–
–
–
ライブラリを知る
File access program
DataBase access program
gui program
• MVCについて学ぶ
• awt/swingを学ぶ
•
実践的アプリケーションの作成
– テーマ決定~設計、実装、テストまで
– デザインパターンを学ぶ
target がWindowsだけならば、C#の
ほうが良いでしょう
2010/9/4
K.Yanai
7
7. 案-2: 学習の順番(Web applicationを目指す場合)
•
Java SEで簡単なプログラム作成
– 開発環境のセットアップと使い方
– Hello World
•
– オブジェクト指向入門
Java EEで簡単なプログラム作成
– 開発環境のセットアップと使い方
• tomcat plugin など
– Hello World
– JSPでHello World
•
Web入門
– webに関連する技術(html, css, http, xml)
•
基礎的Webプログラム作成
– html, css
– File access ベース
– DataBase access ベース
•
実践的アプリケーションの作成(strutsを使うかどうか.......)
– テーマ決定~設計、実装、テストまで
– struts, jfs, デザインパターンなどの実践的技術を学ぶ
2010/9/4
K.Yanai
8
8. 開発環境eclipseを使ってJavaを学びます
•
eclipseは、代表的なJava開発環境のひとつです。
–
2010/9/4
C++, PHP, Rubなどの開発環境としても使用できますから、覚えておくとお得です。
K.Yanai
9
9. Webについても学びます
•

Webはもともと、ドキュメントを共有するためのしくみ
1989年頃、CERNでTim Berners-Lee氏が考案、協力者と実装
研究者同士が互いの情報
を共有しあうために作られ
ました。
ネットワーク
http, html, xml, domainなどについても学びましょう。
CERN: Conseil European pour la Recherche Nucleaire(欧州合同原子核研究機構)
2010/9/4
K.Yanai
10
10. Web, Desktop application platform, language
client
client
Webサーバ
Webサーバ
request
JavaScript
JavaScript
VBScript
VBScript
Java
Java
response
SQL
SQL
XQuery
XQuery
application開発言語
application開発言語
XML
XML
HTML
HTML
Perl,
Perl,php
php
Python
Python
browser
browser
DBサーバ
DBサーバ
VBScript
VBScript
JScript
JScript
C#
C#
Java
Java
Ruby
Ruby
JSP
JSP
RDB
RDB
XMLDB
XMLDB
JDBC
JDBC
ODBC
ODBC
HTML,
HTML,XML
XML
VisualBasic
VisualBasic
Ruby
Ruby
Java
Java
C++
C++
C#
C#
server/container/frameowrk
server/container/frameowrk
Struts,
Struts,ASP.NET
ASP.NET
EPUB(XML)
EPUB(XML)
WebSphere,
WebSphere,WebLogic,
WebLogic,
Oracle
Application
Oracle ApplicationServer
Server
Ruby
Rubyon
onRails
Rails
MySQL
DB2
Oracle
PostgreSQL
NeoCore
TX1
Apache,
Apache,tomcat,
tomcat,IIS
IIS
Objective
ObjectiveCC
Java
Java
iPhone
iPhoneOS
OS
android
android
2010/9/4
2010/9/4
Javaは広範囲に適用が可能で
す。
K.Yanai
11
11. Webの基本的データ HTML, XML
•
•
•
HTMLはSGMLに基づいて作成されました
ブラウザの発展とHTMLの発展が絡み合って続きました
XMLとの関係も複雑化しています
DoCoMoのi-mode
応用言語
(ごく一部を示しています)
HTML
HTML 1.0
1994 CERN
CHTML
imode XHTML
1998/2 W3C
subset
HTML 2.0
1995 RFC
HTML 3.2
1997/7 W3C
HTML 4.0
HTML 4.01
1997/12 W3C
HTML 5
1999/12 W3C
XHTML 1.0
2012 W3C
XHTML 1.1
2001/5 W3C
2000/1W3C
EPUB 2.01
SGML
1986
メタ言語
XML
1998/2 W3C
ISO 8879
メタ言語は、応用言語を定義す
るための基本的なルールを定
めたものです。
2007/7 IDPF
JavaとXMLも相性が
良いです。
CHTML : Compact HTML
2010/9/4
2010/9/4
K.Yanai
12
12. オブジェクト指向についても学びます
•
オブジェクト指向設計・実装をJavaで実践しながら学びます
•
Java以外の開発でも役に立ちます
–
–
オブジェクト指向では、人が個々のものをどのように認識するか、ということを意識しています
• どのようなものから構成されているか
• 他のものとどのような関係(静的に、動的に)があるか
• どのようなふるまいをするか
個々のものを抽象化して知識化することを学びます
• クラスは、いろいろな物事を抽象化した知識のかたまりです。またクラスはカテゴリーにまとめられて存在し、
クラス同士も関係があります。
• クラス同士は、なんらかの制約や拡張によって関係づけられる
佐藤先生
ホワイトボード
27歳
男性
先生
いまは覚えなくても
良いですからね。
教えている
グラフ
棒グラフ
差し棒
オレンジ
ホワイトボードの前に
立っている
図
UMLについても学びます
UMLについても学びます
グラフを指す
背広を着ている
支柱
※認知心理学や認知言語学などでは、スキーマという言葉が使われます。
2010/9/4
K.Yanai
13
13. テキストサイトについて
•
Javaのテキスト(pdf)を下記のサイトに置きます
– http://www6.airnet.ne.jp/manyo/memo/java/
– アクセスには、ユーザID/パスワードが必要です
• user id = xxxxxx
• password = xxxxnnnn
2010/9/4
K.Yanai
14
A. 参考: ダイナミック言語(scripting languageとも)
•
•
•
•
perl (1987)
php (1995)
python (1991)
ruby (1995)
Java以外を学ぶなら、
rubyがおすすめです。
End of the document.
2010/9/4
K.Yanai
15
Fly UP