今さら人には聞けないAOP入門
|
|
- よしお そや
- 6 years ago
- Views:
Transcription
1 今さら人には聞けない AOP 入門 エスエムジー株式会社小森裕介 1
2 はじめに えっ!?AOP って もう 今さら聞けない の? そんなことはない! と思います でも AOP が開発の中で一般的になりつつあるのもまた事実 そろそろ 知らない って言えなくなってきたアナタに AOPの基礎を50 分で伝授します! 2
3 はじめまして! 名前 : 小森裕介 Blog: 所属 : エスエムジー株式会社 ( 主な仕事 : Javaによる集中監視制御システム設計 開発 Webアプリケーションシステムの設計 開発 教育 各種執筆活動 日経ソフトウェア とことん作って覚える! Java 入門 連載中 なぜ あなたはJavaでオブジェクト指向開発ができないのか Seasar2 とのかかわり S2Container コミッタ S2JMS コミッタ S2JFace コミッタ 3
4 具体例で考えてみよう! AOP がなければ何が困る? ジャンケンプログラムにロギング処理を追加したい! 4
5 Log4j でロギング処理を追加しよう! ジャンケンの手を決めるメソッドへロギング処理を追加 <<interface>> Player 人間の入力した手を読み取るクラス <<abstract>> AbstractPlayer コンピュータの手を決めるクラス HumanPlayer ComputerPlayer ロギング処理を追加 ロギング処理を追加 5
6 追加されたロギング処理 Before public class ComputerPlayer extends AbstractPlayer { private Tactics tactics; public int showhand() { int hand = tactics.readtactics(); return hand; public void settactics(tactics tactics) { this.tactics = tactics; 追加されたロギング処理 After public class ComputerPlayer extends AbstractPlayer { private Tactics tactics; private static final Logger logger = Logger.getLogger(ComputerPlayer.class); public int showhand() { int hand = tactics.readtactics(); loghand(hand); return hand; public void settactics(tactics tactics) { this.tactics = tactics; private void loghand(int hand) { switch (hand) { case Janken.STONE: logger.debug(" コンピュータ : グー "); break; case Janken.SCISSORS: logger.debug(" コンピュータ : チョキ "); break; case Janken.PAPER: logger.debug(" コンピュータ : パー "); break; 6
7 ロギング処理を共通化したい! ロギング処理に重複部分があるのでなんとかしたい <<interface>> Player public class ComputerPlayer extends AbstractPlayer { private Tactics tactics; HumanPlayer <<abstract>> AbstractPlayer public int showhand() { int hand = tactics.readtactics(); HandLogger.logHand(PlayerType.COMPUTER, hand); return hand; ロギングモジュールの呼び出し部分は除去できない HandLogger +loghand() 共通処理を別クラスに分離 7
8 呼び出し部分が残ると何が問題か ロギングモジュールの呼び出し部が依存部分として残ってしまうロギング処理を削除しようとすると呼び出し元にも影響が出る HumanPlayer HumanPlayer HandLogger HandLogger ComputerPlayer +loghand() ComputerPlayer +loghand() 単独での再利用が不可能! モジュール側の再利用は簡単 8
9 似たようなクラスを作成するときの問題 共通モジュールの呼び出しは開発者に依存してしまう HumanPlayer ComputerPlayer HandLogger +loghand() xxxxplayer 新しいクラスを作るとき開発者が呼び出しを忘れてしまう 9
10 非機能要件はモジュール単独分離が難しい 非機能要件に関する処理は 全機能に影響するため モジュールとして分離しにくいロギング処理も非機能要件の一つ非機能要件 システムの本来の機能とは関係ないが 信頼性や保守性 使いやすさを向上させるための要件 機能要件 A 機能要件 B 機能要件 C 機能要件 D 非機能要件 各機能に共通する処理をモジュール化する方法はないの? 10
11 アスペクト指向は関心事の分離から システムを 2 種類の要件に分け 横断的関心事を分離するのがアスペクト指向の考え方 ビジネス A ビジネス B ビジネス C ビジネス D セキュリティ ( アクセス制御 情報隠蔽 承認 完全性 ) 中心的関心事 (Core (Core concern) concern) 信頼性 ( バックアップ 分散 冗長性の確保 ) 運用情報 ( 監視 稼働状況 負荷管理 障害状況 ) マイグレーション ( 配備 設定 保守 開発計画 ) 横断的関心事 (Cross (Cross cutting cutting concern) concern) 出典 Seasar2 で学ぶ DI と AOP (arton 著 技術評論社 )p20 11
12 ジョインポイントとアドバイス アスペクト指向では 機能の中にジョインポイントを定義し アドバイスをウィービングする アドバイス (Advice) (Advice) 追加される処理追加される処理 ビジネスA ビジネスA ビジネスB ビジネスB ビジネスC ビジネスC ビジネスD ビジネスD セキュリティ ( アクセス制御 情報隠蔽 承認 完全性 ) セキュリティ ( アクセス制御 情報隠蔽 承認 完全性 ) 信頼性 ( バックアップ 分散 冗長性の確保 ) 信頼性 ( バックアップ 分散 冗長性の確保 ) 運用情報 ( 監視 稼働状況 負荷管理 障害状況 ) 運用情報 ( 監視 稼働状況 負荷管理 障害状況 ) マイグレーション ( 配備 設定 保守 開発計画 ) マイグレーション ( 配備 設定 保守 開発計画 ) ジョインポイント (Joinpoint) (Joinpoint) 処理を追加する場所処理を追加する場所 ウィービング (Weaving) (Weaving) 処理を追加すること処理を追加すること 12
13 どのようなジョインポイントがあるか? ジョインポイント (Joinpoint) はアドバイスを挿入可能なプログラム上の位置 1 呼び出されたメソッドの開始点 2 呼び出されたメソッドの終了点 3 メソッドの呼び出し地点 4 フィールドの参照 更新地点 5 クラスの生成地点 private private int int x; x; methoda methoda () () { { 3methodB(); methodb(); 4x x = = x x + + 1; 1; 3methodC(); 5new new XXX(); XXX(); methodb methodb () () { { 1 2 methodc methodc () () { { 13
14 ジョインポイントとアドバイスを結びつけるポイントカット どのジョインポイントにどのアドバイスを結びつけるかはポイントカット (Pointcut) で指定する どのジョインポイントをどのアドバイスに結びどのアドバイスに結びつけるかを指定するつけるかを指定する アドバイス ポイントカット ジョインポイント プログラム実行の流れ ( スレッド ) 出典 アスペクト入門 ( 千葉滋著 技術評論社 )p47 14
15 実際にどうやって実現するの? AOP(Aspect-Oriented Programming: アスペクト指向プログラミング ) はどうやって実現するの? AOP を利用するには 2 種類の方法がある 1. 専用コンパイラを利用する方法 2.DI コンテナを利用する方法 15
16 専用コンパイラを利用する方法 AspectJ による AOP の実現 Java ソースコード 通常の通常のJava Javaクラス コンパイルと同時にコンパイルと同時にウィービングを行ってウィービングを行ってクラスファイルを出力する Javaクラスファイル アスペクト (Aspect) アドバイスとポイントカットを記述したものを記述したもの AspectJ コンパイラ public aspect HandLogger { pointcut loggedmethods(): execution(void HumanPlayer.showHand()) execution(void ComputerPlayer.showHand()); after():loggedmethods() { // ログ出力処理 ポイントカットポイントカット アドバイスアドバイス 16
17 DI コンテナを利用する方法 DI コンテナ (Seasar2) による AOP の実現 Java ソースコード アドバイス (Java ソースコード ) Java コンパイラ Java コンパイラ 実行時に内部で実行時に内部でウィービングを行うウィービングを行う DI コンテナ (Seasar2) Dicon ファイル アスペクトを記述アスペクトを記述 17
18 S2AOP を体感してみよう! アスペクトでジャンケン のロギング処理を S2AOP で書き直す <<interface>> Player <<interface>> MethodInterceptor <<abstract>> AbstractPlayer <<abstract>> AbstractInterceptor HumanPlayer ComputerPlayer HandInterceptor +invoke() Seasar2 に含まれるクラス ロギングに関する記述はナシ! Dicon ファイル CoreConcern と CrossCuttingConcern を分離できた! アスペクトを記述 18
19 S2AOP での Dicon ファイルの記述 S2AOP では XML(Dicon ファイル ) にアスペクトを記述する ポイントカットの指定ポイントカットの指定 (( アドバイスを追加するメソッド )) <components> <component name="player" class="org.seasar.jface.example.janken.impl.humanplayer"> <aspect pointcut="showhand">handinterceptor</aspect> </component> <component name="computer" class="org.seasar.jface.example.janken.impl.computerplayer"> <aspect pointcut="showhand">handinterceptor</aspect> </component> <component name="handinterceptor" class="org.seasar.jface.example.janken.interceptors.handinterceptor" /> </components> コンポーネントとして登録されたインターセプターインターセプター (( アドバイスアドバイス )) コンポーネントに対するアスペクトアスペクト ウィービング対象のウィービング対象のコンポーネントコンポーネント 19
20 S2AOP の仕組み ちょっとだけ S2AOP の仕組みを紹介しましょう 2 オーバーライド HumanPlayer HumanPlayer$S2AOP public Object invoke(methodinvocation invocation) throws Throwable { // 元のメソッド実行前に行いたい処理 invocation.proceed(); // 元のメソッド実行後に行いたい処理 Seasar Seasarが Javassist Javassist を利用してを利用して実行中にサブクラスを自動生成 1 3 HandInterceptor +invoke() More Info! Javassist: 国産のバイトコートエンジニアリングライブラリ 20
21 Seasar2 の提供するインターセプター TraceInterceptor メソッド呼び出しのトレースを自動出力 ThrowsInterceptor 例外のキャッチを一括処理 ToStringInterceptor tostring() メソッドを自動処理 MockInterceptor モックを使ったテストを支援 DelegateInterceptor メソッド呼び出しを別コンポーネントへ委譲 SyncInterceptor メソッド呼び出しを同期化 More Info! 21
22 S2DAO とAOP S2DAO も AOP によって実現されている インターフェースしか用意していないのに処理が行われるのはどうして?? <<interface>> xxxdao +insert() +update() +delete() xxxdao$s2aop +insert() +update() +delete() ユーザが作成したユーザが作成したインターフェースインターフェース S2AOP S2AOPで自動生成された実装クラス実装クラス DaoInterceptor S2Dao S2Daoの提供するインターセプタがインターセプタがDao Daoとしての機能を提供機能を提供 アスペクト指向でソースコード生成を伴わないスマートな DAO が可能に! More Info! 22
23 既存のクラスを拡張するインタータイプ宣言 インタータイプ宣言とは 既存のクラスの静的構造を変更するアスペクトの機能 Seasar2.4 で提供される新機能 InterType 既存のクラスに対してメソッドやフィールドを自由に追加可能 -x -y Point +calcarea(); Point -x -y -color +calcarea(); +setcolor(); プログラム実行中にプログラム実行中に追加追加! ソースコード自動生成に替わる手段として利用可能! More Info! 23
24 アスペクト指向をさらに知りたい方へ アスペクト指向入門 -Java オブジェクト指向から AspectJ プログラミングへ 著 : 千葉滋 価格 : 2,480+ 税 出版社 : 技術評論社 ISBN:
25 ご質問について スピーカーブースで お待ちしています 気軽にお越しください 25
26 ご静聴 ありがとうございました 26
いまさら人には聞けない DI×AOP入門
いまさら人には聞けない DI AOP 入門 2009 2009.9.12 小森裕介 (komo@littleforest.jp) 1 はじめまして! 名前 : 小森裕介 Blog:http://d.hatena.ne.jp/y-komori/ こもりん日記 所属 : ウルシステムズ株式会社 (http://www.ulsystems.co.jp) 主な仕事 : 各種 IT コンサルティング 各種 SI
More informationアスペクトの相互作用を解消するアスペクトの提案
アスペクトの相互作用を解消する アスペクトの提案 武山文信千葉滋東京工業大学大学院情報理工学研究科数理 計算科学専攻 2009/03/11 武山文信, 千葉滋, アスペクトの相互作用を解消するアスペクトの提案 @PPL2009 in 高山 1/21 アスペクト指向プログラミング (AOP) 横断的関心事をアスペクトとしてモジュール化 オブジェクト指向 (OOP) では上手く分離できない クラス階層に
More information(Microsoft PowerPoint - Java\221\3461\225\224\211\357\224\255\225\\\227p\216\221\227\ ppt)
AOP(Aspect Oriented Programming) について 平成 19 年度 OISA 技術研究会 Java 第 1 部会報告書 2008 年 2 月 1 部会員およびアドバイザー 技術委員 部会委員 ( 順不同 ) 野中健太郎阿部高晴安部智仁今宮和則兒玉清幸柿添亮平谷村聡岩佐俊一 株式会社富士通大分ソフトウェアラボラトリ株式会社シーエイシー株式会社ワイズ システムズ株式会社オーイーシー大分大学工学部新日鉄ソリューションズ株式会社大分交通株式会社
More informationSeasar.NET入門
2007 Spring Seasar.NET 入門 2007.5.27 Seasar.NET 杉本和也 2007 Spring Copyright 2004-2007 The Seasar Foundation and the others. All rights reserved. 1 杉本和也と申します 高知県の株式会社アイビスに勤務しています プログラミング歴 6 年 オープンソース歴 2 年
More informationLoad-time weaveingで広がるAOPの可能性
Load-time weavingで 広 がるAOPの 可 能 性 1 自 己 紹 介 名 前 : 木 村 聡 (きむら さとし) Seasarプロジェクトコミッタ: S2Struts S2Mai 舞 姫 仕 事 ( 株 )フルネス フレームワーク 自 動 生 成 ツール 2 これまで 書 いたものとか 書 籍 : Eclipseで 学 ぶはじめてのJava Seasar 入 門 ~はじめてのDI&AOP~
More informationV8.1新規機能紹介記事
WebOTX V8.1 新規機能 EJB 3.0 WebOTX V8.1より Java EE 5(Java Platform, Enterprise Edition 5) に対応しました これによりいろいろな機能追加が行われていますが 特に大きな変更であるEJB 3.0 対応についてご紹介いたします なお WebOTX V7で対応したEJB 2.1についてもWebOTX V8.1で引き続き利用することが可能です
More information(Microsoft PowerPoint - Java\221\3462\225\224\211\357\224\255\225\\\216\221\227\ ppt)
システム開発における 生産性の検証 平成 19 年度 OISA 技術研究会 JAVA 第 2 部会 1 2008.02.19 目次 1. 部員紹介 2. 生産性向上に向けて 3.Seasar2 4. テストプログラムによる検証 5. 考察 6. まとめ 2 1. 部員紹介 3 部員紹介 葛城啓之 ( 株式会社オーイーシー ) 工藤寿彦 ( 九州東芝エンシ ニアリンク 株式会社 ) 白石和稔 ( 大銀コンヒ
More informationGEC-Java
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights
More informationスライド 1
WindowsForm サンプル解説 S2Container.NET, S2Dao.NET コミッタ 藤井宏明 1 S2Container.NET の Examples フォルダに付属する WindowsSample の解説です 概要 アプリケーション アーキテクチャー ソリューション構成 プロジェクト概要 サンプル説明 2 Ⅰ. アプリケーション アーキテクチャー 3 アプリケーション アーキテクチャー
More informationMicrosoft PowerPoint ppt
独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数
More informationメディプロ1 Javaプログラミング補足資料.ppt
メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?
More informationJavaの作成の前に
メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?
More informationプログラミング基礎I(再)
山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全
More informationた場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name
クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく
More informationJavaセキュアコーディングセミナー2013東京第1回 演習の解説
Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog
More informationGUIプレゼンテーションフレームワークS2JFace
GUI プレゼンテーションフレームワーク S2JFace ~ なぜ あなたは Web アプリケーションを作り続けるのか ~ 2006.11.12 エスエムジー株式会社小森裕介 (komori@smg.co.jp) 株式会社グルージェント亀谷大樹 (kameya@gluegent.com) 1 はじめまして! 名前 : 小森裕介 Blog:http://d.hatena.ne.jp/y-komori/
More informationPowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念
More information2
プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか
More informationMicrosoft PowerPoint Java基本技術PrintOut.ppt [互換モード]
第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念
More informationデザインパターン第一章「生成《
変化に強いプログラミング ~ デザインパターン第一章 生成 ~ 梅林 ( 高田明宏 )@ わんくま同盟 デザインパターンとは何か (1) デザインパターンの定義 ソフトウェア開発におけるデザインパターンとは 過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し 名前をつけ 再利用しやすいように特定の規約に従ってカタログ化したもの (Wikipedia) 参考書籍 オブジェクト指向における再利用のためのデザインパターン
More informationMicrosoft PowerPoint - ●SWIM_ _INET掲載用.pptx
シーケンスに基づく検索モデルの検索精度について 東京工芸大学工学部コンピュータ応用学科宇田川佳久 (1/3) (2/3) 要員数 情報システム開発のイメージソースコード検索機能 他人が作ったプログラムを保守する必要がある 実務面での応用 1 バグあるいは脆弱なコードを探す ( 品質の高いシステムを開発する ) 2 プログラム理解を支援する ( 第 3 者が書いたコードを保守する ) 要件定義外部設計内部設計
More informationPowerPoint プレゼンテーション
基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素
More informationPowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念
More informationintra-mart im-JavaEE Framework
intra-mart im-javaee Framework Version 6.1 Seasar2 連携ガイド 第四版 2008 年 5 月 30 日 > 変更年月日変更内容 2007/7/31 初版 2007/8/31 第二版 2.1.1 jta.diconの設定誤字 脱字の修正 2007/10/19 第三版 2.1.1.3 UserTransactionの設定を追加 2008/5/30
More informationJavaプログラミングⅠ
Java プログラミング Ⅱ 7 回目オーバーライド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スーパークラスのメソッドと同じ名前 戻り値 引数の個数と型をもつメソッドをサブクラスで宣言すると これらのメソッドはオーバーライドの関係になる (2) メソッドのオーバーライドとは スーパークラスのメソッドに代わってサブクラスのメソッドが実行される機能のことである (3) スーパークラス型の変数にサブクラスのオブジェクトは代入できない
More informationUruma による、簡単リッチアプリケーション開発
2007 Autumn うるま Uruma S2JFace による 簡単! リッチアプリケーション開発 2007.11.11 エスエムジー株式会社 小森裕介 (komori@smg.co.jp) 1 はじめまして! 名前 : 小森裕介 Blog:http://d.hatena.ne.jp/y-komori/ ( こもりん日記 ) 所属 : エスエムジー株式会社 (http://www.smg.co.jp)
More informationProg2_12th
2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java
More information1 Dependency Injection glue glue glue glue glue GluonJ GluonJ glue Dependency Injection Aspect-Oriented Programming Meets Dependency Injection Rei Ish
1 Dependency Injection glue glue glue glue glue GluonJ GluonJ glue Dependency Injection Aspect-Oriented Programming Meets Dependency Injection Rei Ishikawa and Shigeru Chiba This paper proposes programming
More informationAOSD 要求 オブジェクト指向 (OOP) など 本質 アスペクト指向 (AOP) 横断的関心事横断的関心事 2 ウィーバ 結合ルール AOP AOSD 最終的なソフトウェア 1950 FORTRAN OOP 1980 AOP 1 3 Ajax/Web2.0 OOP ( 決定の
, Aspect-Oriented Software Engineering Hironori Washizaki, We introduce a recent concept of Aspect-Orientation in software engineering, and explain related programming methods and development methodogies:
More information第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ
第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイルの作成方法 コンパイル方法について説明します IDL ファイルの作成にあたっては INTERSTAGE
More informationJAVA入門
JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する
More information基本情報STEP UP演習Java対策
トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる
More informationAOP (Aspect Oriented Programming) AOP Java 3 AOP 4 AOP DI DI 5 AOP JoinPoint Advice Aspect Weaving JoinPoint JoinPoint PointCut 6 Advice Advice Around Advice Before Advice After Advice After Throwing Advice
More information早分かりS2Dao
2008 Spring 早分かり S2Dao Seasar プロジェクトコミッタ ( 株 ) エルテックス 大中浩行 2008 Spring Copyright 2004-2008 The Seasar Foundation and the others. All rights reserved. 1 アジェンダ はじめに S2Dao とは? S2Dao に必要なもの S2Dao を動かしてみる 挿入
More informationプログラミング入門1
プログラミング入門 2 第 6 回継承 コンストラクタ 1 講義資料について 新しい言語の機能 ( オブジェクト指向の機構 ) については 随時参考書などを参照するのがよい 過去の資料も参考になる http://java2005.cis.k.hosei.ac.jp/ 今回の範囲は 上記ページの 17 回に詳しい 2 テーマ : 継承 コンストラクタ 継承 (inheritance) インスタンス変数の継承
More informationS2BaseとZend Framework
2007 Autumn S2Base とZend Framework klove 1 自己紹介 ハンドルネーム :klove S2Container.PHP5 コミッタ S2Base.PHP5コミッタ 2005 年 5 月から Seasar プロジェクトで活動中 普段は SI 業務 システム管理業務 2 もくじ はじめに S2Base について S2Base とは S2Base-2.0 デモ Zend
More informationS2Pradoの紹介
2007 Autumn S2Prado の紹介 S2Container.PHP5 と連携した PRADO アプリケーションの構築 植山能成 紹介 丙午 クリスマスイヴうまれの 40 才 福岡県福岡市在住 株式会社アイティー勤務 主業務 : 通信系システム開発 業務での PHP 開発経験 約半年 (SIP,P2P) P2P) 次 PRADO Framework とは デモその 1 S2Prado.PHP5
More informationPowerPoint Presentation
ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:
More informationMicrosoft PowerPoint - chap10_OOP.ppt
プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,
More informationジョインポイント写像に基づく ドメイン特化AO機構の開発手法
X Aspect Aspect Aspect Aspect Aspect Aspect Aspect Aspect Aspect Aspect Aspect in out in out in out in out in out in in out out in out in out in out in in out out in out in out in out in in out
More informationJavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
More informationJavaセキュアコーディングセミナー東京 第2回 数値データの取扱いと入力値の検証 演習解説
Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer
More informationintra-mart WebPlatform/AppFramework
intra-mart WebPlatform/AppFramework Ver.7.0 Seasar2 連携プログラミングガイド 2010/11/30 第 3 版 > 変更年月日変更内容 2008/07/07 初版 2009/02/27 第 2 版 3.1.2.1.1 im_hotdeploy.diconの設定 を追加 2010/11/30 第 3 版 3.1.2.2 Hot deploy
More information文字列操作と正規表現
文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性
More information(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)
独習 JAVA 第 3 版 8.4 例外とエラークラス 8.5 throws ステートメント 8.6 独自の例外 Throwable コンストラクタ catch ブロックには Throwable 型のパラメータが必ず 1 つなければならない Throwable コンストラクタ Throwable() Throwable( String message ) message には問題を通知する文字列のメッセージ
More informationパフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 Copyright the Seasar Foundation and the others all rights reserved.
パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 1 目的 DI コンテナの実装によるパフォーマンスの違いを明らかにする DI コンテナが行う処理の中で どこに時間が掛かるのかを明らかにする 2 ベンチマーク測定環境 ハードウェア HP ProLiant DL360 G4p CPU: Intel Xeon
More informationProg2_9th
2013 年 11 月 21 日 ( 木 ) 実施例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる これまでの教材に登場した例外の中で,IOException はコンパイラがチェックするため, 例外処理を必ず記述しなければコンパイルが出来ないものであるのに対して,ArithmeticException
More information11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ
11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デザインパターンの主な内容 そのデザインパターンの目的と効果 どのような役割の部品 ( クラス, インタフェース
More informationJavaプログラミングⅠ
Java プログラミング Ⅱ 3 回目クラスの機能 (1) アクセス制限 オーバーロード課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) クラスの private メンバは そのクラスからのみアクセス可能なメンバである (2) 一般に クラスのフィールドはどこからでもアクセスできるように public メンバで宣言すべきである (3) クラスは private メンバと public
More informationS2DaoでもN:Nできます
S2Dao でも N:N できます 1 自己紹介 名前 : 木村聡 ( きむらさとし ) Seasarプロジェクトコミッタ : S2Struts S2Mai 舞姫 仕事 ( 株 ) フルネス フレームワーク 自動生成ツール 2 これまで書いたものとか 書籍 : Eclipse で学ぶはじめての Java Seasar 入門 ~ はじめての DI&AOP~ 雑誌 Web 記事 CodeZine DB
More information(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])
Click Framework ~Simple is the Best~ NTT データ先端技術 竹添直樹 takezoe@gmail.com 1 自己紹介 竹添直樹 ( たけぞう ) NTT データ先端技術所属 OSS 関連 Project Amaterasオーナー Click Framework コミッタ Seasarプロジェクトコミッタ FreeStyle Wiki 2 3 仕事で使っているフレームワークは何ですか?
More informationProg1_6th
2019 年 10 月 31 日 ( 木 ) 実施配列同種のデータ型を有する複数のデータ ( 要素 ) を番号付けして, ひとまとまりの対象として扱うものを配列と呼ぶ 要素 point[0] point[1] point[2] point[3] point[4] 配列 配列の取り扱いに関して, 次のような特徴がある 1. プログラム中で用いる配列変数 ( 配列の本体を参照する参照型の変数 ) は必ず宣言しておく
More informationJavaプログラミングⅠ
Java プログラミング Ⅱ 11 回目スレッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スレッドは 1 つの実行箇所をもつ一連の処理の流れである (2) マルチスレッドで各スレッドの処理は並行して実行される (3) Java はマルチスレッド処理を記述できない (4) 新たにスレッドを生成する場合 Thread クラスを拡張し かつ Runnable インタフェースを実装する必要がある
More informationオブジェクト指向プログラミング・同演習 5月21日演習課題
オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException
More informationMicrosoft PowerPoint pptx
PFCore(RT ミドルウェア ) トレーニング中級編 10:00-11:00 第 1 部 :RT コンポーネントプログラミングの概要 担当 : 安藤慶昭 ( 産業技術総合研究所 ) 概要 :RT コンポーネントの作成方法, 設計時の注意点などの概要について解説します 第 2 部 :RT ミドルウェア (PFcore) 開発支援ツールと RT コンポーネントの作成方法 11:00-12:00 12:00-13:00
More informationintra-mart WebPlatform/AppFramework
intra-mart WebPlatform/AppFramework Ver.7.2 Seasar2 連携プログラミングガイド 2010/04/01 初版 変更年月日 2010/04/01 初版 > 変更内容 目次 > 1 はじめに...1 1.1 目的...1 1.2 Seasar2 プロダクト...1 2 セットアップ...2 2.1 トランザクションマネージャとデータソース...2
More informationMicrosoft PowerPoint - prog03.ppt
プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です
More informationMicrosoft PowerPoint - prog09.ppt
プログラミング言語 3 第 09 回 (2007 年 11 月 26 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 27 日分と書いてある部分が 本日の教材です
More informationJava知識テスト問題
Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください
More informationJava言語 第1回
Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public
More informationスライド 1
盛岡市 2018 年 JavaWeb 技術者養成コース 38 日間 日付研修内容 4 月 1 日日 4 月 2 日月 4 月 3 日火 4 月 4 日水 4 月 5 日木 4 月 6 日金コンピュータ基礎 4 月 7 日土 4 月 8 日日 4 月 9 日月コンピュータ基礎 4 月 10 日火コンピュータ基礎 4 月 11 日水プログラム開発基礎 4 月 12 日木プログラム開発基礎 4 月 13
More informationPowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド フィールド コンストラクタ ICPC の宣伝 国際大学対抗プログラミングコンテスト 3 人一組のチームでプログラムを書く速さを競う 国内予選 : ネットワーク上で 6 月末 ~7 月頭 アジア地区予選 : 日本国内で秋に開催 世界大会 :2020 年は 6 月にモスクワで 参加登録締切 : 国内予選の 2~3 週間前 今年は
More informationMicrosoft PowerPoint - prog09.ppt
プログラミング言語 3 第 09 回 (2007 年 11 月 26 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 27 日分と書いてある部分が 本日の教材です
More informationプログラミング入門1
プログラミング入門 1 第 9 回 メソッド (3) 授業の前に自己点検 以下の質問に答えられますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか 戻り値はどのように利用しますか 変数のスコープとは何ですか
More informationJavaプログラミングⅠ
Java プログラミング Ⅱ 6 回目継承課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 新しいクラスを宣言するとき既存のクラスを利用することはできない (2) 新しいクラスが既存のクラスのメンバーを受け継ぐことを継承という (3) クラスの拡張における既存のクラスをサブクラスという (4) サブクラスからスーパークラスの private メンバーをアクセスすることはできない (5)
More informationできるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀
できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀 内容 オブジェクト指向とは オブジェクト指向のしくみ Java 言語とオブジェクト指向 属性と振る舞い クラスとメソッド オブジェクト指向の特徴 演習問題 勉強会の参考書 Java ( アジャイルソフトウェア開発技術シリーズ 基礎編 ) 発売日 2012 年 5
More informationJava プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def
Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致致しない場合 default: から直後の まで処理します 式の結果 ラベル 定数 整数または文字 (byte, short, int,
More information情報技術 Java の特徴 Java は現在 事務処理計算用プログラミング言語として開発された COBOL に取って代わり C 言語や C++ と並んで 現在最も使われているプログラミング言語の一つである Java は Write Once, Run Anywhere( プログラムを一度作成したらど
情報技術 Java の特徴 Java は現在 事務処理計算用プログラミング言語として開発された COBOL に取って代わり C 言語や C++ と並んで 現在最も使われているプログラミング言語の一つである Java は Write Once, Run Anywhere( プログラムを一度作成したらどこでも動く ) という構想で設計されており 以下のような特徴を持つ 一度作成したら どんなプラットフォーム上でも動作する
More informationS2Dao入門
2007 Spring S2Dao 入門 大中浩行 (a.k.a. せとあずさ ) 2007 Spring Copyright 2004-2007 The Seasar Foundation and the others. All rights reserved. 1 自己紹介 大中浩行 (a.k.a. せとあずさ ) azusa@fieldnotes.jp http://www.fieldnotes.jp/d/
More informationMicrosoft Word - Android_SQLite講座_画面800×1280
Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します
More informationJAVA とテンプレート
JAVA とテンプレート 序論 : コンテナ 他のクラスのオブジェクトを保存するものをコンテナ (Container) と呼ぶ 集合 リスト 表 コンテナに求められる機能 追加 削除 参照 要素の比較 並べ替え 要素のクラスが不明では 比較できない 要素が想定しているクラスのものかの判定 テンプレート以前の対応方法 コンテナ設計時に 保存されるクラスを特定してコンテナをコードする 保存されるクラスごとに作成しなければならない
More informationMicrosoft PowerPoint - OOP.pptx
第 5 回 第 3 章継承 91 継承 ( インヘリタンス ): ウインドウシステムを例に説明 図 3.1: ウインドウの中にラベル, ボタン, リストの部品 各部品の属性と操作共通の属性と操作 ウインドウ内の左上を原点として (x, y) で場所指定 : 属性 (width, height) でサイズ指定 : 属性 識別のための名前 (name): 属性 置く位置の指定 (setlocation,
More information5-1- 応開発フレームワークに関する知識 開発フレームワークを利用した Web アプリケーションの実装方法を理 Ⅰ. 概要解する MVC や OR マッピング DIxAOP といった技術を理解する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 5-1- 基開発フレームワークに関す
5-1- 応開発フレームワークに関する知識 1 5-1- 応開発フレームワークに関する知識 開発フレームワークを利用した Web アプリケーションの実装方法を理 Ⅰ. 概要解する MVC や OR マッピング DIxAOP といった技術を理解する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 5-1- 基開発フレームワークに関する知識 を受講受講前提済みであること または 同等の知識を有すること
More informationプログラミング入門1
プログラミング入門 1 第 6 回 Switch 文 プロジェクトの持ち運び 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 6 回 2 前回のテーマ while 文を用いた繰り返し実行 for 文との使い分け 複雑な条件判定 && かつ または を使って Java 1 第 6 回 3 復習 : while 文はfor 文から 初期化式 を外に出し ステップを進める式
More informationPowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド コンストラクタ 先週の出席確認 Webブラウザはどのようなプログラムでできているかこの問に答える前に Webブラウザとは 何か? 普段使ってますよね? Webブラウザを使ってできることと Webブラウザがやっていることを区別する必要がある 何をすれば Web ブラウザ と言えるのか NHK チコちゃんに叱られる! Web
More informationPowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 3 回継承 オーバーライド インタフェース 前回までのお話 モジュール化 大きなプログラムは部品に分けて設計する オブジェクト指向 モノ中心に考える プログラムでは クラス ( モノの種類 ) を定義する ある特定のモノは インスタンスで表す クラスは型 インスタンスは値 プログラムを書くときも部品ごとに書く モノの部品であるモノはフィールドに書く 手順の部品である手順はメソッドに書く
More informationJavaプログラミングⅠ
Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる
More informationProg1_10th
2014 年 6 月 19 日 ( 木 ) 実施 例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる 例外処理を行うための try 文の一般形は次のようになる 例外を発生させる可能性のある処理 catch( 例外のクラス名 1 変数 1 ) 例外に対処する処理 1 catch(
More informationMake the Future Java FY13 PPT Template
1 OJCP Silver SE 7 資格試験の傾向と対策 日本オラクル株式会社オラクルユニバーシティ 2 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらないで下さい
More information新・明解Java入門
537,... 224,... 224,... 32, 35,... 188, 216, 312 -... 38 -... 38 --... 102 --... 103 -=... 111 -classpath... 379 '... 106, 474!... 57, 97!=... 56 "... 14, 476 %... 38 %=... 111 &... 240, 247 &&... 66,
More information第1章 ビジュアルプログラミング入門
付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので
More informationコンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?
Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 10 回オブジェクト指向って? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 2 第 10
More informationGEC-Java
プログラミング初級 (Java) 第 11 回オブジェクト指向って? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2018, All rights reserved. 1 第 11 回の内容 プログラミングの種類 オブジェクト指向とは? Copyright (C) Junko Shirogane, Waseda University 2018,
More informationJava演習(4) -- 変数と型 --
50 20 20 5 (20, 20) O 50 100 150 200 250 300 350 x (reserved 50 100 y 50 20 20 5 (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; (reserved public class Blocks1 extends
More informationガイダンス
プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウを作成をしたい
More informationMicrosoft PowerPoint - 09.pptx
情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源
More informationJava - Visual Editor
Visual Editor で Swing アプリケーションを作成 Swing プログラミングに慣れて居ても ソースコード上丈で思い通りの GUI を作成するのは 可成り骨の折れる作業で有る Visual Editor を使用すれば 試行錯誤し乍ら 非常に簡単に GUI アプリケーションを作成する事が出来る 此処では JFrame を拡張して 簡単なアプリケーションを作成して観る事にする Java
More informationrcp-add-01:アーキテクチャ設計書
Web 注文管理システム ( サンプル ) 履歴 バージョン 改訂内容 改訂者 改訂日 0.1 新規作成 山下 2010/11/1 目次 1. はじめに 1.1 本文書の目的 1.2 参照資料 / 文献 2. 概説 2.1 アーキテクチャ要件 2.3 対象とする機能要件 ( ユースケース ) 2.4 アーキテクチャ設計方針 2.4 仮定と依存 3. 構造及び構成 3.1 物理配置図 3.2 実行環境
More informationただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy
オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )
More informationProg2_9th
2017 年 11 月 30 日 ( 木 ) 実施 Canvas による描画 Canvas とは Canvas は, 描画コールを保持するためのクラスである 描画には, 次の 4 つの要素が必要である (1) ビットマップピクセル ( 画素 ) を保持 (2) キャンバス描画コール ( ビットマップへの書き出し要請 ) に対応 (3) 描画プリミティブ描画領域, パス, テキスト, ビットマップ等
More information<基礎領域>
1. 科目コード 1243 2. 科目名 プログラミング特論 3(Advanced Programming 3) 3. 担当教員 吉田博哉 (Hiroya YOSHIDA) 4. 開講期 2 年次春 1 期 (( 昼 ) 火 3-4 時限 ( 夜 ) 火 6-7 時限 ) 5. 科目の目的 概要 オブジェクト指向言語を用いたアプリケーション開発の基礎知識を身につけることを目的とする Web アプリケーションを開発
More information.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~
.NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace
More informationVisual Studio と.NET Framework 概要 Runtime Libraries Languag es Tool.NET Visual Studio 概要 http://download.microsoft.com/download/c/7/1/c710b336-1979-4522-921b-590edf63426b/vs2010_guidebook_pdf.zip 1.
More informationガイダンス
プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい
More information2 Java 35 Java Java HTML/CSS/JavaScript Java Java JSP MySQL Java 9:00 17:30 12:00 13: 項目 日数 時間 習得目標スキル Java 2 15 Web Java Java J
1 2018 4 Java 35 35 262.5 30 1 1 1,045,300 653,300 656,000 2017 12 389,300 2,700 2 946,900 554,900 290,900 101,100 1 2 Java Java Java Web Eclipse Java List Set Map StringBuilder HTML/CSS/JavaScript JSP/Servlet
More informationプログラミング入門1
プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある
More information10K
1 2 3 4 Object Oriented Object Oriented Programming(OOP) 5 6 OOP#1 OOP#2 Java 7 Java 8 手続き型 v.s. OOP #1 OOPのメリット#3 追加 変更がラク 出典 立山秀利 Javaのオブジェクト指向がゼッタイにわかる本 秀和システム 出典 立山秀利 Javaのオブジェクト指向がゼッタイにわかる本 秀和システム
More informationMicrosoft PowerPoint - aop-intro.ppt
概要 AOP 入門 増原英彦 (masuhara@acm.org) 東京大学大学院総合文化研究科 AOP でやりたいこと AOP でできること 現在の状況 AspectJ の紹介 応用例 他の AOP 言語 SEA フォーラム 2006 年 6 月 1 2 AOP は何をしてくれるか 複数のモジュールにちらばる記述 ( 横断的関心事 ) を一まとめにする : 修正 デバグ レビューを容易にする いつ
More information問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。
ソフトウェア基礎演習課題 文法理解度確認範囲 問題 1 データ型 ( 変数, データ型 ) 問題 2 制御構造 (switch 文 ) 問題 3 制御構造 (while 文 ) 問題 4 制御構造と配列 ( 総和 ) 問題 5 制御構造と配列 ( 総和, 平均 ) 問題 6 データ型と各種演算子 ( 文字列, 検索 ) 問題 7 クラスの定義 ( メソッドの定義, コンストラクタの定義, キャスト
More information4-1- 基 Java に関する知識 1 独立行政法人情報処理推進機構
4-1- 基 Java に関する知識 1 4-1- 基 Java に関する知識 もっとも普及しているオープンソース言語 Java の仕組み 基本的なプログラミング文法 オブジェクト指向によるプログラム設計と作成方法 Ⅰ. 概要を学ぶ さらにクラスライブラリやジェネリクスの活用 Web アプリケーションの作成方法について学ぶ Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 1-1- 基
More information