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 夏 Kyosuke Yanai 2010/9/4 K.Yanai 1
1. Java programming seminar の目的は? まずは application を作るための入門 達成レベル 最初は Java の可能性を感じる 自力で勉強を続けるために必要な環境を整える Java 言語を使って簡単な機能を実現できる プログラム作成の基礎的なイメージをつかむ 最後は どうなりたいですか? seminar としては 一流の技術者集団をめざしたものをやりたいです どんな application を目指しますか? application の目的によって動作 / 開発環境や考え方が大きく違います Web application PC application(desktop application) device application 2010/9/4 K.Yanai 2
2. Java を通じて software development を学びます program language を学ぶ 言語仕様 software development process を学ぶ コーディングルール ツールの使いこなし 開発ツール (IDE) など ライブラリ デザイン手法 ( オブジェクト指向 ) テスト手法 文書化手法 関連する技術を学ぶ データベース ( 主に Java との接続について ) ネットワーク ( 特に Web 関連 ) その他 ( 各種のデータ形式など XML など ) IDE: Integrated Development Environment eclipse, NetBeans, VisualStudio などがあります その他 ツールとしては application platform ごとに SDK があります 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 日 ) 言語仕様の拡張 Java SE 6(2006 年 12 月 11 日 ) Web サービスほか 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 Platform Standard Edition Java EE 6 Web システム向き Java SE Desktop Application 向き Java ME 携帯端末 情報機器向き Java Platform Micro Edition 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 開発環境のひとつです C++, PHP, Rub などの開発環境としても使用できますから 覚えておくとお得です 2010/9/4 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 Web サーバ DB サーバ VisualBasic Ruby Java C++ C# C# JavaScript VBScript Java browser request response EPUB(XML) XML HTML Perl, php Python application 開発言語 VBScript JScript C# C# Java server/container/frameowrk Struts, ASP.NET WebSphere, WebLogic, Oracle Application Server JSP JSP HTML, XML Ruby Ruby on on Rails SQL XQuery JDBC ODBC RDB XMLDB MySQL DB2 Oracle PostgreSQL NeoCore TX1 Apache, tomcat, IIS IIS Objective C iphone OS Java android Java は広範囲に適用が可能です 2010/9/4 2010/9/4 K.Yanai 11
11. Web の基本的データ HTML, XML HTML は SGML に基づいて作成されました ブラウザの発展と HTML の発展が絡み合って続きました XML との関係も複雑化しています 応用言語 ( ごく一部を示しています ) DoCoMo の i-mode CHTML 1998/2 W3C subset imode XHTML HTML HTML 1.0 HTML 2.0 HTML 3.2 HTML 4.0 HTML 4.01 HTML 5 1994 CERN 1995 RFC 1997/7 W3C 1997/12 W3C 1999/12 W3C 2012 W3C XHTML 1.0 XHTML 1.1 2000/1W3C 2001/5 W3C EPUB 2.01 メタ言語 SGML 1986 ISO 8879 CHTML : Compact HTML メタ言語は 応用言語を定義するための基本的なルールを定めたものです 1998/2 W3C 2010/9/4 2010/9/4 K.Yanai 12 XML 2007/7 IDPF Java と XML も相性が良いです
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