Javaセキュアコーディングセミナー東京 第4回 メソッドとセキュリティ

Size: px
Start display at page:

Download "Javaセキュアコーディングセミナー東京 第4回 メソッドとセキュリティ"

Transcription

1 Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, o=japan Computer Emergency Response Team Coordination Center, cn=japan Computer Emergency Response Team Coordination Center 日付 : :36:21 +09'00' Javaセキュアコーディングセミナー東京 第4回 メソッドとセキュリティ 2012年12月16日(日) JPCERTコーディネーションセンター 脆弱性解析チーム 熊谷 裕志 戸田 洋三 1

2 本 資 料 について 本 セミナーに 使 用 するテキストの 著 作 権 はJPCERT/CCに 帰 属 します 事 前 の 承 諾 を 受 けた 場 合 を 除 いて 本 資 料 に 含 有 される 内 容 ( 一 部 か 全 部 かを 問 わな い)を 複 製 公 開 送 信 頒 布 譲 渡 貸 与 使 用 許 諾 転 載 再 利 用 できません 本 セミナーに 関 するお 問 い 合 わせ JPCERTコーディネーションセンター セキュアコーディング 担 当 TEL:

3 本 セミナーについて 4 回 連 続 セミナーです 第 1 回 9 月 9 日 ( 日 ) オブジェクトの 生 成 と 消 滅 におけるセキュリティ 第 2 回 10 月 14 日 ( 日 ) 数 値 データの 取 扱 いと 入 力 値 検 査 第 3 回 11 月 11 日 ( 日 ) 入 出 力 (ファイル,ストリーム)と 例 外 時 の 動 作 第 4 回 12 月 16 日 メソッドとセキュリティ 開 発 環 境 持 参 3

4 今 日 の 時 間 割 講 義 (13:30--15:00) メソッド/セキュリティ (13:30--14:35) ファイナライザ (14:45--15:15) ハンズオン (15:15--16:30) 15:25--15:55 15:55--16:30 4

5 メソッド 5

6 メソッドとは プログラミング 言 語 Java 第 4 版 1.8メソッドとパラメータ 6

7 メソッドとは Java 言 語 仕 様 第 3 版 メソッドのシグネチャ 7

8 メソッドとは class Person { private int id; private String name; public Person(int i, String s){ id=i; name=s; public int id(){ return id; public String name(){ return name; public static void main(string[] args){ person p = new person(1, taro ); System.out.println(p.name() + : + p.id()); クラスPersonに メソッドid()とname()とmain(String[])が 定 義 されている 8

9 メソッドオーバーロードを乱用しない Java言語ではメソッドのオーバーロードが可能 2つのメソッドは 異なる数のパラメータか異なる型のパラメータ を持っていれば つまり異なるシグネチャであれば 同じ名前を 持つことができます メソッドの1つの名前が複数の意味を持つの で この機能はオーバーロード(overloading)と呼ばれます 1つのメソッドを呼び出す場合に オーバーロードされているメソ ッドから最も一致するメソッドを探すために コンパイラーは引 数の型を使用します プログラミング言語Java第4版 2.8メソッドのオーバーロード 9

10 メソッドオーバーロードを 乱 用 しない オーバーロードを 使 った 単 純 なサンプルコード class overload { public void id(string s){ System.out.println("String"); public void id(integer i){ System.out.println("Integer"); public static void main(string[] args) { overload o = new overload(); o.id("choichoi"); o.id(42); 実 行 例 $ java overload String Integer $ 10

11 メソッドオーバーロードを 乱 用 しない メソッドのオーバーロード メソッド 名 が 同 じでも 引 数 リストが 異 なれば 異 なるメ ソッド シグネチャで 区 別 される 呼 び 出 すメソッドはコンパイル 時 に 決 まる メソッドのオーバーライド 呼 び 出 すメソッドは 実 行 時 に 決 定 される 11

12 メソッドオーバーロードを 乱 用 しない メソッド id(int i)を 追 加 class Overload { public void id(string s){ System.out.println("String"); public void id(integer i){ System.out.println("Integer"); public void id(int i){ System.out.println("int"); public static void main(string[] args) { Overload o = new Overload(); o.id("choichoi"); o.id(42); 追 加 されたメソッド 実 行 例 $ java Overload String int $ 呼 び 出 すメソッドが 変 わっ てしまった! 12

13 メソッドオーバーロードを 乱 用 しない メソッドのオーバーロードを 乱 用 すると 動 作 が 分 かりにくく 誤 解 を 招 く デバッグしにくい コードの 保 守 が 困 難 になる 13

14 メソッドオーバーロードを 乱 用 しない public class Overloader { private static String display(arraylist<integer> arrlist) { return "ArrayList"; private static String display(linkedlist<string> llist) { return "LinkedList"; private static String display(list<?> list) { return "List is not recognized"; public static void main(string[] args) { List<?>[] invokeall = new List<?>[] { new ArrayList<Integer>(), new LinkedList<String>(), new Vector<Integer>() ; for (List<?> i : invokeall) { System.out.println(display(i)); コンパイル 時 の 型 はList 3つ 全 てについて List is not recognized と 出 力 される 違 反 コード display()メソッドがオーバ ーロードされている 14

15 メソッドオーバーロードを乱用しない public class Overloader { 適合コード private static String display(list<?> l) { return (l instanceof ArrayList? "Arraylist" : (l instanceof LinkedList? "LinkedList" : "List is not recognized")); 実行時に引数の型を public static void main(string[] args) { List<?>[] invokeall = new List<?>[] { new ArrayList<Integer>(), new LinkedList<String>(), new Vector<Integer>() ; for (List<?> i : invokeall) { System.out.println(display(i)); 15 識別するには instanceof()を使う

16 メソッドオーバーロードを乱用しない // Effective Java, 項目 41 違反コード public class SetList { public static void main(string[] args){ Set<Integer> set = new TreeSet<Integer>(); List<Integer> list = new ArrayList<Integer>(); for (int i=-3; i<3; i++){ set.add(i); list.add(i); for (int i=0; i<3; i++){ set.remove(i); list.remove(i); System.out.println(set + " " + list); 16 ArrayListには動作の異なる2つのremove() メソッドが提供されている

17 メソッドオーバーロードを 乱 用 しない 実 行 例 $ java SetList [-3, -2, -1] [-2, 0, 2] $ [-3,-2,-1] [-3,-2,-1]にならないのはなぜ? 17

18 メソッドオーバーロードを乱用しない set.remove(i)の動作 [-3,-2,-1,0,1,2] [-3,-2,-1,1,2] set.remove(0) (int)0がautoboxingにより (Integer)0になる set.remove(1) (int)1がautoboxingにより (Integer)1になる [-3,-2,-1,2] set.remove(2) (int)2がautoboxingにより (Integer)2になる [-3,-2,-1] 18

19 メソッドオーバーロードを乱用しない list.remove(i)の動作 [-3,-2,-1,0,1,2] [-2,-1,0,1,2] list.remove(0) remove(int)が呼び出される list.remove(1) remove(int)が呼び出される [-2,0,1,2] list.remove(2) remove(int)が呼び出される [-2,0,2] 19

20 メソッドオーバーロードを 乱 用 しない // Effective Java, 項 目 41 public class SetList { public static void main(string[] args){ Set<Integer> set = new TreeSet<Integer>(); List<Integer> list = new ArrayList<Integer>(); 適 合 コード for (int i=-3; i<3; i++){ set.add(i); list.add(i); for (int i=0; i<3; i++){ set.remove(i); list.remove((integer)i); // あるいは (Integer.ValueOf(i)) System.out.println(set + " " + list); 20

21 まとめ オーバーロードを 乱 用 するとコードの 可 読 性 が 下 がり メソッドを 誤 用 する 危 険 が 増 す なるべくオーバーロードを 避 け 異 なる 名 前 のメ ソッドを 実 装 するほうが 安 全 Effective Java, 項 目 41 21

22 セキュリティ 22

23 privateのフィールドやメソッドにアクセス? public class Example { private int i = 3; private int j = 4; private void zeroi() { this.i = 0; Example e = new Example(); System.out.println("" + e.i); e.i = 10; e.zeroi(); 他のクラスからprivateのiやj zeroi()にアクセスできる 23

24 リフレクション 24

25 リフレクションを 使 うと try { Class<Example> c = Example.class; Example example = new Example(); Field field = c.getdeclaredfield("i"); field.setaccessible(true); System.out.println("" + field.get(example)); catch (Exception ex) { ex.printstacktrace(system.out); privateのフィールドに アクセスできる setaccessibleを 有 効 にするとリフレクションを 使 っ て 通 常 アクセスできないところにアクセスできる 25

26 リフレクションを 使 うと try { Class<Example> c = Example.class; Example example = new Example(); Method method = c.getdeclaredmethod("zeroi"); method.setaccessible(true); Object ret = method.invoke(example); Field field = c.getdeclaredfield("i"); field.setaccessible(true); privateのメソッドにも アクセスできる System.out.println("" + field.get(example)); catch (Exception ex) { ex.printstacktrace(system.out); 26

27 リフレクション セキュリティマネージャで 制 限 することができる 27

28 セキュリティマネージャ 28

29 Java : セキュリティモデル サンドボックスによって保護されている セキュリティポリシーにもとづいて操作を許可する 許可されていない操作をすると例外が発生 例えば Javaアプレットは ローカルのリソースにはアクセス出来ない ダウンロード元のサーバとのみ通信可 29

30 セキュリティマネージャを 使 う 違 反 コード import java.util.hashtable; class SensitiveHash { Hashtable<Integer,String> ht = new Hashtable<Integer,String>(); public void removeentry(object key) { ht.remove(key); // 中 略 removeentry()がpublic 悪 意 ある 攻 撃 者 が 自 由 に 呼 び 出 せる 30

31 セキュリティマネージャを 使 う import java.util.hashtable; 適 合 コード class SensitiveHash { private Hashtable<Integer,String> ht = new Hashtable<Integer,String>(); public final void removeentry(object key) { check("removekeypermission"); ht.remove(key); private void check(string directive) { SecurityManager sm = System.getSecurityManager(); if (sm!= null) { sm.checksecurityaccess(directive); // 中 略 31

32 セキュリティポリシーファイル 指 定 した 署 名 で 署 名 されているクラスに 許 可 を 与 える 指 定 したディレクトリからロードされたクラスに 許 可 を 与 える grant SignedBy hogehoge codebase "file:${user.dir/sensitive" { ; permission java.security.securitypermission "removekeypermission"; 32

33 policytool 付 属 のPolicy Toolユーティリティを 使 用 して ポ リシーファイルを 作 成 することもできる 33

34 実 行 してみる $ java -Djava.security.manager -Djava.security.policy=my.policy - classpath./sensitive:./ UseHash 34

35 セキュリティマネージャを 使 う import java.util.hashtable; import java.security.accesscontroller; import java.security.securitypermission; 適 合 コード class SensitiveHash { private Hashtable<Integer,String> ht = new Hashtable<Integer,String>(); public final void removeentry(object key) { check("removekeypermission"); ht.remove(key); private void check(string directive) { SecurityPermission sp = new SecurityPermission(directive); AccessController.checkPermission(sp); // 中 略 AccessController#checkPermissionを 呼 び 出 すこの 方 法 が 推 奨 されている 35

36 ファイナライザ 36

37 finalize()メソッド クラス Object には, finalize と呼ばれる protected メソッドが用意されており, 他のクラス からこのメソッドをオーバーライドすることがで きる あるオブジェクトに対して起動可能な特定 の finalize 定義は, そのオブジェクトのファイナラ イザ(finalizer)と呼ばれる Java言語仕様第3版 12.6 クラス インスタンスのファイナライズ 37

38 finalize()メソッド public class Object { protected void finalize() throws Throwable JavaSE6 API仕様 クラスObject, finalizeメソッドの説明 38

39 finalize()メソッドを 使 わない finalizeメソッドの 利 用 に 関 しては 数 々の 問 題 が 存 在 するため その 利 用 は 例 外 的 場 合 に 限 るべき 実 行 に 関 して 無 保 証 並 行 実 行 の 可 能 性 例 外 の 扱 い リソース 一 般 の 後 処 理 には 使 えない 39

40 実 行 されるかどうか 無 保 証 finalizeメソッドは 実 行 されるとは 限 らない メモリに 余 裕 があればGCは 働 かない finalize メソッドも 実 行 されない オブジェクトの 状 態 をファイルに 保 存 するなどの 終 了 処 理 をfinalizeメソッドで 実 行 してはいけない 実 行 タイミングが 重 要 な 処 理 をfinalizeメソッドで 実 行 してはいけない 40

41 実行順序や並行実行の可能性, 例外の扱い finalizeメソッドの実行順序 Java言語仕様第3版 ファイナライザの起動は順序付けられていない 複数の(オブジェクトの)finalizeメソッドの実行順序は指定できない 複数の(オブジェクトの)finalizeメソッドが並列に実行されるかも finalizeメソッドのなかからスローされた例外は無視される finalize メソッドの実行自体は中断 41

42 リソース 一 般 の 後 処 理 には 使 えない finalizeメソッドとリソース 管 理 finalizeメソッドの 実 行 はメモリの 使 用 状 況 に 依 存 メモリ 以 外 のリソースの 空 き 状 況 は 関 係 しない 結 果 : 空 きメモリが 潤 沢 でも 他 のリソースが 枯 渇 する 可 能 性 GCが 実 行 されない finalizeメソッドも 実 行 されない DoS 攻 撃 の 危 険 性 注 意!! finalizeメソッドは C++ の destructor とは 違 います 42

43 リソース 一 般 の 後 処 理 には 使 えない リソース 一 般 の 後 処 理 には Closeable インタフェースと try-withresources 構 文 を 活 用 すべき リソース... 使 用 開 始 時 にオープン/ 使 用 終 了 時 にクローズするもの ストリームのclose メソッド, Timerのcancel メソッド, Graphics の dispose メソッドなど Closeable インタフェースを 実 装... close() メソッドを 持 っている try-with-resources て 東 京 セミナ part3 でちらっと 紹 介 したよね! 43

44 finalize()を 使 う 場 合 の 注 意 点 時 間 のかかる 処 理 を 行 うべきではない 明 示 的 に 行 うべきクローズ 処 理 の 最 終 チェック 手 段 として 使 う finalize()メソッドをオーバライドする 場 合, 親 クラスのfinalize() 呼 び 出 しを 忘 れずに 行 う 44

45 finalizer guardian サブクラスで finalize() メソッドをオーバライドして いる 状 況 で, 親 クラスの finalize() 呼 び 出 しを 保 証 す るための 手 法 public class Foo { private final Object finalizerguardian = new Object() protected void finalize() throws Throwable {... 外 側 のオブジェクトをファイナライズする... ;... 45

46 ファイナライザに 関 連 するコーディングルール FIO04-J. 不 要 になったらリソースを 解 放 する FIO14-J. プログラムの 終 了 時 には 適 切 なクリーンアップ を 行 う MET12-J. ファイナライザは 使 わない 46

47 攻 撃 手 法 の 紹 介 : ファイナライザー 攻 撃 47

48 概 要 ライセンス 認 証 を 行 うサンプルアプリケーションに 対 し Java コードを 追 加 するだけで 認 証 回 避 を 行 う 攻 撃 手 法 finalize()メソッドを 悪 用 するため ファイナライザー 攻 撃 と 呼 ばれる 手 法 48

49 サンプルアプリケーションの 構 成 アプリ 本 体 : Application クラス アプリ 本 体 の 実 行 に 先 立 って ライセンス 認 証 を 行 う LicenseManagerクラス: ライセンス 情 報 の 確 認 SecuritySystemクラス: 認 証 完 了 したことを 記 録 LicenseManager コンストラクタ 中 に ライセンス 確 認 処 理 SecuritySystem LicenseManagerの インスタンスを 登 録 Application 本 体 実 行 49

50 サンプルアプリケーション(1/2) public class LicenseManager { public LicenseManager() { if (!licensevalidation()) { throw new SecurityException("License Invalid!"); private boolean licensevalidation() { // ライセンスファイルをリードしてチェックし ライセンスが正当ならtrueを返す return false; ここでは必ず認証失敗するようなコードにしている public class SecuritySystem { private static LicenseManager licensemanager = null; public static void register(licensemanager lm) { // licensemanagerが初期化されていない場合のみ登録 if (licensemanager == null) { if (lm == null) { System.out.println("License Manager invalid!"); System.exit(1); licensemanager = lm; Heinz M. Kabutz. Exceptional Constructors - Ressurecting the dead. Java Specialists Newsletter

51 サンプルアプリケーション(2/2) public class Application { public static void main(string[] args) { LicenseManager lm; try { lm = new LicenseManager(); catch(securityexception ex) { lm = null; SecuritySystem.register(lm); System.out.println("Now let s get things started"); 正 しいライセンス 情 報 を 持 っていないと... LicenseManagerのインスタンス 生 成 時 に 例 外 発 生 LicenseManager のインスタンスを 登 録 しないと... SecuritySystem.register() で 例 外 発 生 51

52 サンプルアプリケーション 実 行 例 % ls *.java Application.java SecuritySystem.java % javac *.java % java Application License Manager invalid! % LicenseManager.java たしかに 認 証 失 敗 している 52

53 サンプルアプリケーションを 攻 撃 する 攻 撃 目 的 LicenseManager のセキュリティチェックを 回 避 し Application.main() を 実 行 する 前 提 条 件 これらのクラスはすべて 変 更 できないものとする 攻 撃 方 針 LicenseManagerのサブクラスを 作 成 し 攻 撃 者 のアプリ( 後 述 の AttackerApp)に 脆 弱 なアプリApplicationを 読 み 込 む 問 題 LicenseManagerのサブクラスを 作 っても サブクラスでは 親 クラスでスローされる 例 外 をキャッチできない 53

54 親 クラスでスローされる 例 外 を 悪 用 できれば public class MyApplication { public static void main(string[] args) { MyLicenseManager lm; try { lm = new MyLicenseManager(); catch(securityexception ex) { lm = null; SecuritySystem.register(lm); // Applicationのメインメソッドを 呼 ぶ Application.main(args); public class MyLicenseManager extends LicenseManager { public MyLicenseManager() { System.out.println("Created MyLicenseManager"); MyApplication を 実 行 すると License Manager invalid! このやり 方 ではうまく 攻 撃 できない 54

55 finalize()メソッドの 悪 用 SecuritySystem に LicenseManager のインスタンスを 登 録 できれば 勝 ち しかもサンプルアプリケーションではLicenseManagerの インスタンスの 中 身 はチェックしていない LicenseManagerのインスタンス 欲 しい ライセンス 情 報 を 持 っていない 場 合 コンストラクタ 実 行 中 に 例 外 が 発 生 するので 生 成 途 中 で 捨 てられている finalize()を 使 えば GCされる 直 前 に 拾 うことができる! 55

56 ファイナライザー 攻 撃 を 行 うコード public class LicenseManagerInterceptor extends LicenseManager { private static LicenseManagerInterceptor instance = null; public static LicenseManagerInterceptor make() { try { new LicenseManagerInterceptor(); catch(exception ex) { // 例 外 を 無 視 try { synchronized(licensemanagerinterceptor.class) { while (instance == null) { System.gc(); LicenseManagerInterceptor.class.wait(100); catch(interruptedexception ex) { return null; return instance; public void finalize() { System.out.println("In finalize of " + this); synchronized(licensemanagerinterceptor.class) { instance = this; LicenseManagerInterceptor.class.notify(); public LicenseManagerInterceptor() { System.out.println("Created LicenseManagerInterceptor"); finalize()メソッド を 追 加 攻 撃 コード 56

57 ファイナライザー 攻 撃 を 行 うコード 攻 撃 コード public class AttackerApp { public static void main(string[] args) { LicenseManagerInterceptor lm = LicenseManagerInterceptor.make(); SecuritySystem.register(lm); // now we call the other application Application.main(args); LicenseManagerInterceptor.make()の 返 り 値 は GC 直 前 に 拾 い 上 げたLicenseManagerInterceptor のインスタンス 57

58 ファイナライザ 攻 撃 の 流 れ LicenseManagerInterceptor 親 クラスLicenseManagerの ライセンス 確 認 処 理 で 例 外 発 生 例 外 を 捕 捉 し GCが finalize()メソッドを 起 動 するのを 待 つ 初 期 化 途 中 だったLicenseManager のインスタンスを 取 得 やがて GCによって finalize() 起 動 SecuritySystem LicenseManagerの インスタンスを 登 録 Application 本 体 実 行 SecuritySystemにはすでに LicenseManagerのインスタンスが 登 録 されているため ライセンス 認 証 は 完 了 したと 思 わされる 58

59 攻 撃 コード 実 行 例 % ls Application.class LicenseManager.class SecuritySystem.class AttackerApp.java LicenseManagerInterceptor.java % javac *.java % java AttakerApp In finalize of Now let s get things started % 59

60 ファイナライザ 攻 撃 対 策 finalize()メソッドを 上 書 きされないように 定 義 重 要 なインスタンスは 初 期 化 の 完 了 を 必 ず 確 認 サブクラス 化 による 悪 用 を 防 ぐため クラスをfinal 宣 言 60

Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性

Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性 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 information

HK05

HK05 コンピュータプログラミング B 補 助 教 材 (5) 2015.04 諸 注 意 課 題 レポートの 書 き 方 一 般 にこの 授 業 のレポートでは, まず 課 題 を 自 分 の 言 葉 で 再 現 し, ソースプログラム, 実 行 結 果, 考 察 ( 場 合 により 感 想 もあってよいです. なお 考 察 は 感 想 とは 意 味 が 全 く 違 います)という 構 成 で 書 くのがよいです.

More information

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF pref : 2004/6/5 (11:8) pref : 2004/6/5 (11:8) pref : 2004/6/5 (11:8) 3 5 14 18 21 23 23 24 28 29 29 31 32 34 35 35 36 38 40 44 44 45 46 49 49 50 pref : 2004/6/5 (11:8) 50 51 52 54 55 56 57 58 59 60 61

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

Blojsom におけるクロスサイトスクリプティングの脆弱性

Blojsom におけるクロスサイトスクリプティングの脆弱性 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 information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測

目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測 泡立ち法とその実装 計算機アルゴリズム特論 :2017 年度只木進一 目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測 Comparable インターフェイ ス クラスインスタンスが比較可能であることを示す Int compareto() メソッドを実装 Integer Double String などには実装済み public

More information

Prog2_10th

Prog2_10th 2013 年 11 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル操作は,C 言語プログラミングで学んだように, 次の順序で行う 1) ストリームを開く 2) ストリームからの入力, ストリームへの出力 3) ストリームを閉じる Java 言語では, ファイル操作に関係するクラスが複数用意されている

More information

226

226 226 227 Main ClientThread Request Channel WorkerThread Channel startworkers takerequest requestqueue threadpool WorkerThread channel run Request tostring execute name number ClientThread channel random

More information

ÿþ˜u#u·0¹0Æ0à0

ÿþ˜u#u·0¹0Æ0à0 10. パッケージ, 例外処理など 1. 例外処理プログラムが正常に期待される以外の処理が行われたときに, 例外が発生 ( エラーの情報の発生 ) する処理をプログラムにさせること例外に対応した処理をプログラムにさせること 例外もオブジェクトである 多数の例外がある ( 例外クラスが存在し, 例外にあわせてオブジェクトが生成される ) 例外処理の方法 try{ 1エラーが発生した場合, 例外オブジェクトが投げられる通常の処理

More information

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第2版 2014-04-01  

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第2版 2014-04-01   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目 次 intra-mart Accel Platform 外 部 ソフトウェア 接 続 モジュール 仕 様 書 第 2 版 2014-04-01 改 訂 情 報 はじめに 本 書 の 目 的 対 象 読 者 本 書 の 構 成 概 要 外 部 ソフトウェア 接 続 モジュールとは 仕 様 外 部

More information

Microsoft Word - keisankigairon.ch doc

Microsoft Word - keisankigairon.ch doc 1000000100001010 1000001000001011 0100001100010010 1010001100001100 load %r1,10 load %r2,11 add %r3,%r1,%r2 store %r3,12 k = i + j ; = > (* 1 2 3 4 5 6 7 8 9 10) 3628800 DO 3 I=1,3 DO3I=1.3 DO3I 1.3

More information

PowerPoint Presentation

PowerPoint Presentation UML 2004 7 9 10 ... OOP UML 10 Copyright 2004 Akira HIRASAWA all rights reserved. 2 1. 2. 3. 4. UML 5. Copyright 2004 Akira HIRASAWA all rights reserved. 3 1..... Copyright 2004 Akira HIRASAWA all rights

More information

コーディング基準.PDF

コーディング基準.PDF Java Java Java Java.java.class 1 private public package import / //////////////////////////////////////////////////////////////////////////////// // // // // ////////////////////////////////////////////////////////////////////////////////

More information

VB.NETコーディング標準

VB.NETコーディング標準 (C) Copyright 2002 Java ( ) VB.NET C# AS-IS extremeprogramming-jp@objectclub.esm.co.jp bata@gold.ocn.ne.jp Copyright (c) 2000,2001 Eiwa System Management, Inc. Object Club Kenji Hiranabe02/09/26 Copyright

More information

Apache Commons の HttpClient におけるSSLサーバ証明書検証不備

Apache Commons の HttpClient におけるSSLサーバ証明書検証不備 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 information

プログラミング基礎I(再)

プログラミング基礎I(再) 山 元 進 1 度 は 講 義 を 受 けたことを 念 頭 に 置 いて 講 義 遠 慮 なく 質 問 せよ 質 問 で 授 業 を 止 めたくないならば TA の 人 を 呼 んで 質 問 すると 良 い 前 期 講 義 の 欠 席 者 は 特 に 注 意 せよ 4 限 座 学 +5 限 演 習 出 席 をとる( 前 期 同 様 のシステム) 中 間 試 験 を 行 う 期 末 試 験 の 範 囲

More information

1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合

More information

アルゴリズムとデータ構造1

アルゴリズムとデータ構造1 1 200972 (sakai.keiichi@kochi sakai.keiichi@kochi-tech.ac.jp) http://www.info.kochi ://www.info.kochi-tech.ac.jp/k1sakai/lecture/alg/2009/index.html 29 20 32 14 24 30 48 7 19 21 31 Object public class

More information

MyEventHandler actionhandler = new MyEventHandler(); m.addeventhandler(actionevent.any, actionhandler); // レイアウト BorderPane を生成 / 設定します BorderPane bp

MyEventHandler actionhandler = new MyEventHandler(); m.addeventhandler(actionevent.any, actionhandler); // レイアウト BorderPane を生成 / 設定します BorderPane bp HCI プログラミング 9 回目メニューとポップアップメニュー 今日の講義で学ぶ内容 メニューの利用 メニューのカスタマイズ ポップアップメニュー メニューの利用 1 メニューを配置してみましょう メニューを用いることにより 欲しい機能をすばやく呼び出すことができます ソースファイル名 :Sample9_1.java // HP よりインポート文をここへ貼り付けてください // メニューの配置 public

More information

Microsoft PowerPoint - java13bb.ppt

Microsoft PowerPoint - java13bb.ppt 平 成 25 年 度 静 岡 県 立 大 学 公 開 講 座 Javaで 学 ぶプログラミング 基 礎 第 1 回 Java 言 語 の 概 要 第 2 回 Javaプログラミングの 基 礎 第 3 回 コンソール アプリケーション 作 成 第 4 回 Androidアプリケーション 作 成 JavaとJava 仮 想 マシン Javaとは Sun Microsystems によって 開 発 された

More information

About me! 足立昌彦 / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert (Android)

About me! 足立昌彦 / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert (Android) Discover Support Library Masahiko Adachi @adamrokcer / +Masahiko.Adachi 28 th Sep, 2013 About me! 足立昌彦 ( @adamrocker / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert

More information

アンドロイドアプリ開発

アンドロイドアプリ開発 アプリケーション 制 作 において 使 用 しているクラスやメソッドの 効 果 の 説 明 や その 利 用 例 を 記 述 しています 藤 本 大 樹 2013/10/17 アンドロイドアプリ 開 発 における 中 核 を 担 っているのは webview である. webview ( Added in API level 1 ) ってなに? 構 成 java.lang.object >> android.view.view

More information

class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value =

class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value = Part2-1-3 Java (*) (*).class Java public static final 1 class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value

More information

著 作 権 このドキュメントに 記 載 されている 情 報 は このドキュメントの 発 行 時 点 におけるマクロソフトの 見 解 を 反 映 したものです マクロソフトは 市 場 の 変 化 に 対 応 する 必 要 があるため このドキュメントの 内 容 に 関 する 責 任 を 問 われないも

著 作 権 このドキュメントに 記 載 されている 情 報 は このドキュメントの 発 行 時 点 におけるマクロソフトの 見 解 を 反 映 したものです マクロソフトは 市 場 の 変 化 に 対 応 する 必 要 があるため このドキュメントの 内 容 に 関 する 責 任 を 問 われないも Visual Studio Do-It-Yourself シリーズ 第 12 回 キャッシュ 著 作 権 このドキュメントに 記 載 されている 情 報 は このドキュメントの 発 行 時 点 におけるマクロソフトの 見 解 を 反 映 したものです マクロソフトは 市 場 の 変 化 に 対 応 する 必 要 があるため このドキュメントの 内 容 に 関 する 責 任 を 問 われないものとします

More information

Sort-of-List-Map(A)

Sort-of-List-Map(A) Java オブジェクト集合のソートとラムダ式の初歩 山本富士男 2016-4-23 この資料は Java での コレクション Coections と ジェネリクス Generics に関してさらに深く学ぶためのものです 以下の事項を学びます レポート課題が 5 ページの末尾にあります 名称のない内部クラスである 匿名クラス を使う 一般のオブジェクトの集合 (List や Map など ) を何らかの基準でソートする

More information

グラフを表すデータ構造 Javaでの実装

グラフを表すデータ構造 Javaでの実装 グラフを表すデータ構造 JAVA での実装 なぜ JAVA を使うか グラフの実装 頂点 弧及びその関連を記述する 頂点の数 弧の数を柔軟に変える必要あり グラフ探索など リンクをたどる必要あり オブジェクト指向言語が向いている オブジェクト数の柔軟な変更 再帰的関数 メソッド リストなどの豊富なライブラリ java.util.vector など 使い易い開発環境 プロジェクト管理 クラス管理 GUI

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 第 10 章.MySQL のインストールと Java プログラムからの 接 続 学 習 のねらい 1 データベース 管 理 ソフトである MySQL をインストールする 2 MySQL 上 のデータベースに Java プログラムから 接 続 できることを 確 認 する < 先 週 の 復 習 > 講 義 で 示 された 基 礎 課 題 10-1 に 解 答 して 下 さい 10-1.MySQL のインストール

More information

ALG2012-F.ppt

ALG2012-F.ppt 2012 7 26 (sakai.keiichi@kochi-tech.ac.jp) http://www.info.kochi-tech.ac.jp/k1sakai/lecture/alg/2012/index.html 5 2 3 4 - 5 .. 6 - 7 public class KnapsackBB { // 0-1 private static double maxsofar; private

More information

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります

More information

8 if switch for while do while 2

8 if switch for while do while 2 (Basic Theory of Information Processing) ( ) if for while break continue 1 8 if switch for while do while 2 8.1 if (p.52) 8.1.1 if 1 if ( ) 2; 3 1 true 2 3 false 2 3 3 8.1.2 if-else (p.54) if ( ) 1; else

More information

Java言語 第1回

Java言語 第1回 Java 言 語 第 6 回 Javaアプレット 知 的 情 報 システム 工 学 科 久 保 川 淳 司 kubokawa@me.it-hiroshima.ac.jp アプレットの 概 要 Javaアプレットプログラムの 動 作 Javaアプレット ***.class htmlファイル ***.html ブラウザ(IE Firefox 等 ) Java VM Webサーバ ローカルファイル クライアントコンピュータ

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 4 回 繰り返し (for ループ ) 授業開始前に ログオンして待機して ください Java 1 第 4 回 2 不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week03.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 4 回 3 授業を始めます 前回の課題は

More information

Animals サンプル Step 2 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く < 例外について > エラーや 通常の処理の中では起こってはいけない事象のことを例外といい 例外が起こる可能性がある場合はその対応処理を記述しなければならない 一般に java.lang パッケージの

Animals サンプル Step 2 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く < 例外について > エラーや 通常の処理の中では起こってはいけない事象のことを例外といい 例外が起こる可能性がある場合はその対応処理を記述しなければならない 一般に java.lang パッケージの Step2 を始める前に 音声が鳴るかどうかを確かめます 手順 1. 共有フォルダにある SoundTest.jar を適当な場所にコピー 2.PC のミュートを外す 3. ディスプレイのボリュームボタンを 0 以上にする 4. コピーした SoundTest.jar をダブルクリック 5. サウンド再生 1 をクリックしてみる 6.5 で鳴らなかったら サウンド再生 2 をクリックしてみる 7.6

More information

BlueJ 2.0.1 BlueJ 2.0.x Michael Kölling Mærsk Institute University of Southern Denmark Toin University of Yokohama Alberto Palacios Pawlovsky 17 4 4 3 1 5 1.1 BlueJ.....................................

More information

Mobile Access簡易設定ガイド

Mobile Access簡易設定ガイド Mobile Access Software Blade 設定ガイド チェック ポイント ソフトウェア テクノロジーズ ( 株 ) アジェンダ 1 SSL VPN ポータルの設定 2 3 4 Web アプリケーションの追加 Check Point Mobile for iphone/android の設定 Check Point Mobile for iphone/android の利用 2 変更履歴

More information

vol.30.}...`.X...b.h

vol.30.}...`.X...b.h Manabu Nakamura mondo@its.hiroshima-cu.ac.jp q w e e e for (int i = 0; i < N; i++) { calculators[i] = new Calculator(); calculators[i].run(); 70 JAVA PRESS Vol.30 import java.math.biginteger; public class

More information

Programming-C-3.key

Programming-C-3.key プログラミングC 第3回 Stringクラス (クラスライブラリの使い方) インスタン スの配列 白石路雄 Player public class Player{ private String name; private int hp; private Sword sword; name hp Player 2 public class Player{...

More information

10K pdf

10K pdf #1 #2 Java class Circle { double x; // x double y; // y double radius; // void set(double tx, double ty){ x = tx; y = ty; void set(double tx, double ty, double r) { x = tx; y = ty; radius = r; // Circle

More information

Java Quick, Nishio 3 1 List 1 1.1........................... 1 1.2.......................... 2 1.3 1.................. 3 1.4 2.................. 4 1.5 1...................... 6 1.6 2......................

More information

ソフトウェアエンジニアリング - バグ #20

ソフトウェアエンジニアリング - バグ #20 ソフトウェアエンジニアリング - バグ #20 Jenkins Warnings pluginで 警 告 が 拾 えない 2014/09/09 01:17 - 高 橋 徹 ステータス: 進 行 中 開 始 日 : 2014/09/09 優 先 度 : 通 常 期 日 : 担 当 者 : 高 橋 徹 進 捗 率 : 50% カテゴリ: 予 定 工 数 : 0.00 時 間 対 象 バージョン: 作 業

More information

I 3 p.2 3 Java 3.1.2 AddTime.java public class AddTime extends JApplet { int hour1, minute1, hour2, minute2; public void init() { hour1 = Integer.pars

I 3 p.2 3 Java 3.1.2 AddTime.java public class AddTime extends JApplet { int hour1, minute1, hour2, minute2; public void init() { hour1 = Integer.pars I 3 p.1 3 Java Java Java try catch C Java if for while C 3.1 boolean Java if C if ( ) 1 if ( ) 1 else 2 1 1 2 2 1, 2 { 2 boolean Graphics draw3drect fill3drect C int C OK while (1)... 3.1.1 int boolean...............

More information

1: JX-model XML File Package Import Class Intf Ctor Method SInit Field Param Local ExtdOpt ImplOpt ThrwOpt Members QName Type Stmt Label Expr ident li

1: JX-model XML File Package Import Class Intf Ctor Method SInit Field Param Local ExtdOpt ImplOpt ThrwOpt Members QName Type Stmt Label Expr ident li Sapid JX-model ver. 1.3.13 2003 2 27 1 JX-model Java XML JX-model JX-model Java (Java 2 ver. 1.4) 20 7 JX-model 1 ^ $ Child nodes JX-model / ( ) JX-model @ @id @sort 1.1 File File JX-model XML /Package,

More information

WagbySpec7

WagbySpec7 3 WEB ブラウザ上 で業務データを扱 うことができます 資 格 名 取 得 日 備 考 1 2 4 3 35 業務データ間の 関連 も自由に 設定できます 絞 込 項 目 名 営 業 担 当 部 署 (dept) 参 照 先 項 目 名 ( 社 員 の) 部 署 (dept) 46 業務データの集計 処理を行うことが できます

More information

Assignment9_1.java

Assignment9_1.java Assignment9_1.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

More information

CONTENTS 0 1 2 3 4 5 6 7 8 9 10 0 Java10 BaseFrame.java 1 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class BaseFrame extends JFrame { public BaseFrame(String title) { super(title);

More information

TenArtni Ninja-VA

TenArtni Ninja-VA Ninja-VA with WebReportCafe の巻 サイオステクノロジー株式会社 Ninja-VA with WebReportCafe 概要 このドキュメントでは Ninja-VAの姉妹製品である 帳票作成ソフト WebReportCafe Engine との連携方法についてご説明します WebReportCafe Engine は帳票を出力するためのライブラリ製品です WebReportCafe

More information

% ldapsearch -H ldaps://pub-ldap.itc.nagoya-u.ac.jp:1025 \ -b o=ldap-test "(objectclass=*)" -H ldapspubldap.itc.nagoya-u.ac.jp1025 -H ldap://pub-ldap.

% ldapsearch -H ldaps://pub-ldap.itc.nagoya-u.ac.jp:1025 \ -b o=ldap-test (objectclass=*) -H ldapspubldap.itc.nagoya-u.ac.jp1025 -H ldap://pub-ldap. % ldapsearch -H ldaps://pub-ldap.itc.nagoya-u.ac.jp:1025 \ -b o=ldap-test "(objectclass=*)" -H ldapspubldap.itc.nagoya-u.ac.jp1025 -H ldap://pub-ldap.itc.nagoya-u.ac.jp:1024 -Z -ZZ % ldapsearch -Z -h pub-ldap.itc.nagoya-u.ac.jp

More information

10/8 Finder,, 1 1. Finder MAC OS X 2. ( ) MAC OS X Java ( ) 3. MAC OS X Java ( ) / 10

10/8 Finder,, 1 1. Finder MAC OS X 2. ( ) MAC OS X Java ( ) 3. MAC OS X Java ( ) / 10 10/8 2015-10-08 URL : http://webct.kyushu-u.ac.jp, 10/8 1 / 10 10/8 Finder,, 1 1. Finder MAC OS X 2. ( ) MAC OS X Java ( ) 3. MAC OS X Java ( ) 1. 30 2 / 10 10/8 Finder 1 Figure : : Apple.com 2, 3 / 10

More information

非推奨メソッド等の掲載について

非推奨メソッド等の掲載について 非推奨メソッド等の掲載について スマートにプログラミング Android 入門編第 2 版 SDK 4/2.3 対応 (2012 年 6 月 11 日発行第 2 版第 1 刷 ) において 一部現在では非推奨となったレイアウト及びメソッドの利用が掲載されておりました お詫びと共に補足 訂正させて頂きます 下記にその対応について示します 株式会社リックテレコム書籍出版部 ( 情報更新日 :2012.8.14)

More information

HTML5 Security & Headers- X-Crawling-Response-Header-

HTML5 Security & Headers- X-Crawling-Response-Header- 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 information

Microsoft PowerPoint - object.ppt

Microsoft PowerPoint - object.ppt 知能情報処理北海道大学情報工学科 AI プログラミング Java とオブジェクト指向プログラミングの基礎 知能情報処理 の授業では, 人工知能のさまざまなアルゴリズムを学ぶことになるが, 可能ならばそれを実際のプログラミング言語で実装してみることが大事である. しかし, この授業では, 時間の関係でそこまで扱うことができないので, 興味のある人が将来, 自立的に実装できるように, 最小限のプログラミングの知識を今回の授業で学ぶ.

More information

踏み台にされるWebサイト~いわゆるGumblarの攻撃手法の分析調査~

踏み台にされるWebサイト~いわゆるGumblarの攻撃手法の分析調査~ 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 information

10th Developer Camp - B6

10th Developer Camp - B6 B6 Rubyセッション Rubyコーディング 作 法 - きっと 役 に 立 つコーディング 規 約 株 式 会 社 ネットワーク 応 用 通 信 研 究 所 小 倉 正 充 アジェンダ ネットワーク 応 用 通 信 研 究 所 について コーディングルールについて コーディングルールの 解 説 2 1 ネットワーク 応 用 通 信 研 究 所 について ネットワーク 応 用 通 信 研 究 所

More information

Objective-C Objective-C C Toolbox API Cocoa Objective-C Java Carbon API C API Objective-C Java Pure Java Java AppleScript Java Objective-C Project Bui

Objective-C Objective-C C Toolbox API Cocoa Objective-C Java Carbon API C API Objective-C Java Pure Java Java AppleScript Java Objective-C Project Bui AppleScript Studio AppleScript AppleScript Stduio Objective-C Cocoa Cocoa Objective-C Java AppleScript AppleScript Studio Application Suite call method call method [of class ] [of object ] [with parameter

More information

Load-time weaveingで広がるAOPの可能性

Load-time weaveingで広がるAOPの可能性 Load-time weavingで 広 がるAOPの 可 能 性 1 自 己 紹 介 名 前 : 木 村 聡 (きむら さとし) Seasarプロジェクトコミッタ: S2Struts S2Mai 舞 姫 仕 事 ( 株 )フルネス フレームワーク 自 動 生 成 ツール 2 これまで 書 いたものとか 書 籍 : Eclipseで 学 ぶはじめてのJava Seasar 入 門 ~はじめてのDI&AOP~

More information

以 下 の 事 項 は 弊 社 の 一 般 的 な 製 品 の 方 向 性 に 関 する 概 要 を 説 明 するものです また 情 報 提 供 を 唯 一 の 目 的 とするものであり いかなる 契 約 にも 組 み 込 むことは できません 以 下 の 事 項 は マテリアルやコード 機 能 を

以 下 の 事 項 は 弊 社 の 一 般 的 な 製 品 の 方 向 性 に 関 する 概 要 を 説 明 するものです また 情 報 提 供 を 唯 一 の 目 的 とするものであり いかなる 契 約 にも 組 み 込 むことは できません 以 下 の 事 項 は マテリアルやコード 機 能 を Oracle Direct Seminar Javaプログラマ 資 格 ポイント 解 説 日 本 オラクル 株 式 会 社 以 下 の 事 項 は 弊 社 の 一 般 的 な 製 品 の 方 向 性 に 関 する 概 要 を 説 明 するものです また 情 報 提 供 を 唯 一 の 目 的 とするものであり いかなる 契 約 にも 組 み 込 むことは

More information

How to Use the PowerPoint Template

How to Use the PowerPoint Template Lambda: A Peek Under The Hood 日 本 オラクル 株 式 会 社 Java SE サステイニング エンジニアリング バック デイビッド Java Day Tokyo 2015 2015 年 4 月 8 日 以 下 の 事 項 は 弊 社 の 一 般 的 な 製 品 の 方 向 性 に 関 する 概 要 を 説 明 するものです また 情 報 提 供 を 唯 一 の 目 的

More information

public static void main(... ) { Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-2

public static void main(... ) { Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-2 System.out.print( "Once upon a time, " ); System.out.println( "a rabbit lived in the forest." ); System.out.println( "His name was Melo." ); Once upon a time, a rabbit lived in the forest. His name was

More information

サーブレット (Servlet) とは Web サーバ側で動作する Java プログラム 通常はapache 等のバックグラウンドで動作する Servletコンテナ上にアプリケーションを配置 代表的な Servlet コンテナ Apache Tomcat WebLogic WebSphere Gla

サーブレット (Servlet) とは Web サーバ側で動作する Java プログラム 通常はapache 等のバックグラウンドで動作する Servletコンテナ上にアプリケーションを配置 代表的な Servlet コンテナ Apache Tomcat WebLogic WebSphere Gla サーブレット 1 オブジェクト指向プログラミング特論 サーブレット (Servlet) とは Web サーバ側で動作する Java プログラム 通常はapache 等のバックグラウンドで動作する Servletコンテナ上にアプリケーションを配置 代表的な Servlet コンテナ Apache Tomcat WebLogic WebSphere GlassFish 2 オブジェクト指向プログラミング特論

More information

1.JAVAプログラミング Javaは 以 下 の 工 程 を 経 て 実 行 されます JavaソースプラグラムはJavaコンパイラによりコンパイルされ Javaバイトコードに 変 換 さ れます JavaバイトコードはJVM(Java 仮 想 マシン) 上 で 実 行 されます Javaバイトコ

1.JAVAプログラミング Javaは 以 下 の 工 程 を 経 て 実 行 されます JavaソースプラグラムはJavaコンパイラによりコンパイルされ Javaバイトコードに 変 換 さ れます JavaバイトコードはJVM(Java 仮 想 マシン) 上 で 実 行 されます Javaバイトコ Java5.0 2007 年 4 月 23 日 作 成 青 山 システムズ 青 山 1.JAVAプログラミング Javaは 以 下 の 工 程 を 経 て 実 行 されます JavaソースプラグラムはJavaコンパイラによりコンパイルされ Javaバイトコードに 変 換 さ れます JavaバイトコードはJVM(Java 仮 想 マシン) 上 で 実 行 されます JavaバイトコードはJVM 上

More information

presen.gby

presen.gby kazu@iij.ad.jp 1 2 Paul Graham 3 Andrew Hunt and David Thomas 4 5 Java 6 Java Java Java 3 7 Haskell Scala Scala 8 9 Java Java Dean Wampler AWT ActionListener public interface ActionListener extends EventListener

More information

目 次 Chapter 01 Java とは... 5 Chapter 02 Java アプリケーションとは... 12 Chapter 03 Java の 文 法 ~その 1... 19 Chapter 04 Java の 文 法 ~その 2... 29 Chapter 05 Java の 文 法

目 次 Chapter 01 Java とは... 5 Chapter 02 Java アプリケーションとは... 12 Chapter 03 Java の 文 法 ~その 1... 19 Chapter 04 Java の 文 法 ~その 2... 29 Chapter 05 Java の 文 法 平 成 24 年 度 文 部 科 学 省 委 託 成 長 分 野 等 における 中 核 的 専 門 人 材 養 成 の 戦 略 的 推 進 事 業 スマホアプリ 開 発 に 必 要 な Java スマートフォンアプリ 開 発 技 術 者 育 成 のための 教 育 プログラム 開 発 と 教 育 環 境 整 備 プロジェクト 目 次 Chapter 01 Java とは... 5 Chapter 02

More information

/ ( ) 8/7/2003 13:21 p.2/64

/ ( ) 8/7/2003 13:21 p.2/64 B 12 I ks91@sfc.wide.ad.jp N208 8/7/2003 13:21 p.1/64 / ( ) 8/7/2003 13:21 p.2/64 8/7/2003 13:21 p.3/64 2! 12 7/ 8 1 13 7/15 2 / ( ) 11 (SFC ) ( 5 ) 8/7/2003 13:21 p.4/64 10 2003/7/22 23:59 JST 11 ( )

More information

Make the Future Java FY13 PPT Template

Make the Future Java FY13 PPT Template 1 OJCP Gold SE 7 資格試験の傾向と対策 日本オラクル株式会社オラクルユニバーシティ 2 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらないで下さい

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 2 回目 ようこそ Java へ 今日の講義で学ぶ内容 画面へのメッセージの表示 文字や文字列 数値を表現するリテラル 制御コードを表すエスケープシーケンス 画面出力の基本形 ソースファイル名 : クラス名.java class クラス名 System.out.println(" ここに出力したい文字列 1 行目 "); System.out.println(" ここに出力したい文字列

More information

これらプログラムの 実 行 は 普 通 はハードウェア 上 で 行 うのですが Java の 場 合 は 特 殊 なことを 行 っています 難 しい 理 屈 はここでは 説 明 しませんが ハードウェア 上 で 直 接 動 作 するのではなく ソフトウェアで 実 現 された 仮 想 のハードウェアが

これらプログラムの 実 行 は 普 通 はハードウェア 上 で 行 うのですが Java の 場 合 は 特 殊 なことを 行 っています 難 しい 理 屈 はここでは 説 明 しませんが ハードウェア 上 で 直 接 動 作 するのではなく ソフトウェアで 実 現 された 仮 想 のハードウェアが 1 Java の 基 礎 知 識 1.1 プログラミング プログラミング(programming) とは プログラム(program ある 一 連 の 処 理 をコンピュータへ 指 示 するもの)を 作 成 すること をいいます このプログラムを 記 述 (コーディング coding)する 際 に 使 用 する 専 用 の 言 語 を プログラミング 言 語 (programming language)

More information

I. EspressReport 100%Java JSP API II. EspressReport Report Designer Report Designer - Report Designer Web Java Web Web Report Designer import java.awt

I. EspressReport 100%Java JSP API II. EspressReport Report Designer Report Designer - Report Designer Web Java Web Web Report Designer import java.awt TEL: 03-3360-9336 FAX: 03-3660-9337 soft@climb.co.jp www.climb.co.jp Overview, Technology & Features White Paper I. EspressReport 100%Java JSP API II. EspressReport Report Designer Report Designer - Report

More information

Microsoft PowerPoint - servlet1.pptx

Microsoft PowerPoint - servlet1.pptx Webとデータモデリング Javaによるサーバサイドプログラミング 北 川 博 之, 森 嶋 厚 行, 天 笠 俊 之 1 内 容 Javaによるサーバサイドプログラミング サーブレット JSP (Java Server Pages) Javaからのデータベースアクセス JDBC (Java Database Connectivity) 2 1 使 用 するソフトウェア サーブレット,JSP Apache

More information

Microsoft Word - ToonBoom_simple_inst

Microsoft Word - ToonBoom_simple_inst ToonBoom Storyboard Pro/Harmony ローカルライセンス 簡易インストールガイド ダイキン工業株式会社電子システム事業部 CG Products サホ ートセンター ToonBoom Storyboard Pro / Harmony インストールガイド 目次 1. はじめに... 2 2. インストーラの入手とアクティベーション... 2 2-1. TOONBOOM アカウント

More information

Javaアプリケーション開発ガイド入門編

Javaアプリケーション開発ガイド入門編 Javaアプリケーション開発ガイド入門編 第 2 版 2011 年 9 月 富士通株式会社 まえがき 本書の目的本書は JavaアプリケーションからSymfoware Serverを利用する方法について 説明しています 以下の内容が理解できることを目標としています JDBCを用いてJavaアプリケーションからSymfoware Serverに接続する方法 (DriverManagerを用いてSymfoware

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 8 回ウインドウ部品を用いる (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) マウスを使って, 前回課題で作成した 6 4 のマスの図形で, \ をマウスクリックによって代わるようにしなさい 前回の課題 (2) import java.applet.applet; import java.awt.*;

More information

変 更 履 歴 Biz メール SSO 連 携 サービス IF 仕 様 書 変 更 年 月 変 更 内 容 1 2012-04-05 新 規 作 成 ii

変 更 履 歴 Biz メール SSO 連 携 サービス IF 仕 様 書 変 更 年 月 変 更 内 容 1 2012-04-05 新 規 作 成 ii Biz メール シングルサインオン 連 携 サービス IF 仕 様 書 第 1.0 版 NTT コミュニケーションズ 株 式 会 社 i 変 更 履 歴 Biz メール SSO 連 携 サービス IF 仕 様 書 変 更 年 月 変 更 内 容 1 2012-04-05 新 規 作 成 ii 目 次 1 はじめに...4 1.1 本 書 の 目 的...4 2 SSO(シングルサインオン)...5

More information

DIコンテナ 前 回 ご 説 明 したSpring DIコンテナに 共 通 するこ とは 依 存 を 注 入 することによってシステム 内 に 存 在 するオブジェクト 同 士 の 結 びつきを 緩 くすることで あり そのための 仕 組 み 提 供 を 意 味 する [Spring のDIコンテナ

DIコンテナ 前 回 ご 説 明 したSpring DIコンテナに 共 通 するこ とは 依 存 を 注 入 することによってシステム 内 に 存 在 するオブジェクト 同 士 の 結 びつきを 緩 くすることで あり そのための 仕 組 み 提 供 を 意 味 する [Spring のDIコンテナ SpringとStruts Struts 連 携 トラストサービス 2006/05/27 DIコンテナ 前 回 ご 説 明 したSpring DIコンテナに 共 通 するこ とは 依 存 を 注 入 することによってシステム 内 に 存 在 するオブジェクト 同 士 の 結 びつきを 緩 くすることで あり そのための 仕 組 み 提 供 を 意 味 する [Spring のDIコンテナはBean

More information

目次 1. はじめに ライセンス証書の受領 ライセンス証書に含まれる内容 環境前提条件 準備 インストール環境の確認 ファイル インストール インストール後の Dr

目次 1. はじめに ライセンス証書の受領 ライセンス証書に含まれる内容 環境前提条件 準備 インストール環境の確認 ファイル インストール インストール後の Dr Dr.Web KATANA for Windows Ver.1.0 インストールガイド 株式会社 Doctor Web Pacific 初版 : 2015/11/04 改訂 : 2015/11/12 目次 1. はじめに... 3 1.1 ライセンス証書の受領... 3 1.2 ライセンス証書に含まれる内容... 3 2. 環境前提条件... 3 3. 準備... 4 3.1 インストール環境の確認...

More information

電子メールソフトのセキュリティ設定について 全編

電子メールソフトのセキュリティ設定について 全編 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 information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

SmartPlant License Manager 8.0

SmartPlant License Manager 8.0 SmartPlant License Manager 8.0 1. SmartPlant License Manager の概要 PDS 8.0 および SmartPlant Review (SPR) 6.1 のリリースに伴い ライセンス管理モジュールは PD_LICE から SmartPlant License Manager (SPLM) 8.0 へ変更されました PD_LICE ではライセンスサーバの

More information

自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植

自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植 Kprobes による Embedded Linux kernel 動的解析手法 Yoichi Yuasa OSAKA NDS Embedded Linux Cross Forum #3 自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植 Kprobes とは Linux kernel デバッグ機能の一つ

More information

ESET NOD32アンチウイルス V4.2 リリースノート

ESET NOD32アンチウイルス V4.2 リリースノート ====================================================================== ESET NOD32 アンチウイルス V4.2 リリースノート キヤノンITソリューションズ株式会社 ====================================================================== はじめにキヤノンITソリューションズ製品をご愛顧いただき誠にありがとうございます

More information

JavaScript( 言 語 )とは 情 報 システムのプログラミング ソースコード 記 述, 外 部 ファイル 保 存, コンパイル,テスト,デバッグ... 大 変 な 作 業 もっと 手 軽 なプログラミング 特 別 な 言 語 処 理 系 は 不 要! Webブラウザだけで 実 行 可 能

JavaScript( 言 語 )とは 情 報 システムのプログラミング ソースコード 記 述, 外 部 ファイル 保 存, コンパイル,テスト,デバッグ... 大 変 な 作 業 もっと 手 軽 なプログラミング 特 別 な 言 語 処 理 系 は 不 要! Webブラウザだけで 実 行 可 能 JavaScript 入 門 1 JavaScript( 言 語 )とは 情 報 システムのプログラミング ソースコード 記 述, 外 部 ファイル 保 存, コンパイル,テスト,デバッグ... 大 変 な 作 業 もっと 手 軽 なプログラミング 特 別 な 言 語 処 理 系 は 不 要! Webブラウザだけで 実 行 可 能 ( 実 際 は,HTMLファイル 内 or 外 部 ファイル として

More information

発環境を準備しよう2 章開Eclipseをインストールしようそれでは Eclipseをセットアップしましょう Eclipseは Eclipse Foundationのサイトからダウンロードできます ダウンロードのページを開くと いく

発環境を準備しよう2 章開Eclipseをインストールしようそれでは Eclipseをセットアップしましょう Eclipseは Eclipse Foundationのサイトからダウンロードできます  ダウンロードのページを開くと いく 2.1 Java の開発ツールを入手しよう Java の実行環境と 開発ツールの Eclipse Android 向けアプリケー ションの開発ツール Android SDK をダウンロードしましょう 本書では Windows パソコンへのインストール方法を説明します Javaをインストールしようまず 最新のJava 実行環境を入手しましょう Javaは Java 公式サイト (http://www.java.com/ja/)

More information

JavaScript演習

JavaScript演習 JavaScript 入 門 1 JavaScript( 言 語 )とは 情 報 システムのプログラミング ソースコード 記 述, 外 部 ファイル 保 存, コンパイル,テスト,デバッグ... 大 変 な 作 業 もっと 手 軽 なプログラミング 特 別 な 言 語 処 理 系 は 不 要! Webブラウザだけで 実 行 可 能 ( 実 際 は,HTMLファイル 内 or 外 部 ファイル として

More information

ios 4% Android 10% Python 1% Design 15% Web(PHP/JS) 10% Windows(C#) 20% 40% 最近のボク お嫁 Web/WordPress Windows Android Design Python Python Android 1% 5% Design Windows 5% 15% お嫁 50% Web/WordPress 25% 2013年6月1日

More information

Microsoft PowerPoint - aop-intro.ppt

Microsoft PowerPoint - aop-intro.ppt 概要 AOP 入門 増原英彦 (masuhara@acm.org) 東京大学大学院総合文化研究科 AOP でやりたいこと AOP でできること 現在の状況 AspectJ の紹介 応用例 他の AOP 言語 SEA フォーラム 2006 年 6 月 1 2 AOP は何をしてくれるか 複数のモジュールにちらばる記述 ( 横断的関心事 ) を一まとめにする : 修正 デバグ レビューを容易にする いつ

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション JDK 7 から JDK 8 に移行する際の注意点 2015 年 6 月 1 日第 1.1 版 日本電気株式会社 クラウドプラットフォーム事業部 目次 1. はじめに 2. JDK 7とJDK 8の非互換項目 3. JDK 8のチューニング 4. 参照 URL はじめに はじめに 背景 2015 年 4 月に Oracle Java SE Development Kit 7 (JDK 7) が EOL

More information

SPECIAL COLUMN 業 種 別 のインシデント 件 数 の 人 数 区 分 を 図 3に 示 す 1 件 あたりの 漏 えい 人 数 が100 人 以 下 の 漏 えい 件 数 は 公 務 が469 件 中 375 件 (80.0%)でもっとも 多 い 次 いで 金 融 保 険 業 の15

SPECIAL COLUMN 業 種 別 のインシデント 件 数 の 人 数 区 分 を 図 3に 示 す 1 件 あたりの 漏 えい 人 数 が100 人 以 下 の 漏 えい 件 数 は 公 務 が469 件 中 375 件 (80.0%)でもっとも 多 い 次 いで 金 融 保 険 業 の15 特 集 個 人 情 報 漏 えいインシデントを 減 らすためには セキュリティ 被 害 調 査 WG ( 株 )NTTデータ 大 谷 尚 通 1. はじめに 2008 年 は 2007 年 と 比 較 して 個 人 情 報 漏 えいインシデント( 以 下 インシデントとする)の 件 数 が 大 幅 に 増 加 し 1,373 件 (+509 件 )となった これは 教 育 学 習 支 援 業 金 融

More information

CodeGear Developer Camp

CodeGear Developer Camp T4 PHP チュートリアルセッション はじめての Delphi for PHP CodeGear エヴァンジェリスト高橋智宏 1 アジェンダ ハンズオントレーニングに必要なもの Delphi for PHP V2.0 の環境設定 VCL for PHP の基本的な動作を確認 フォトギャラリの製作 マスターページ 画像アップロード カスタムコンポーネントの導入 など 2 ハンズオントレーニングに必要なもの

More information

1 1 3 1.1 Web............................ 3 1.2 Servlet/JSP.................................. 3 2 JSP 7 2.1................................... 7 2.2..

1 1 3 1.1 Web............................ 3 1.2 Servlet/JSP.................................. 3 2 JSP 7 2.1................................... 7 2.2.. Servlet/JSP 1 1 3 1.1 Web............................ 3 1.2 Servlet/JSP.................................. 3 2 JSP 7 2.1................................... 7 2.2........................................

More information

IT 2

IT 2 Knowledge-Works, Inc. Tokyo UML Caché IT 2 UML Caché Caché vocabulary UML Unified Modeling Language) UML UML / UML but UML UML UML DBMS / 2003 InternSystems DevCon Transformation Transformation on

More information

7 プログラムの説明を読んで, プログラムの (1)(5) を答えなさい < プログラムの説明 > 処理内容 CSV ファイル ( 作品名データと入場者数データ ) を読み, 年齢区分ごとの入場者数と売上金額を表示するプログラムである 入力データ作品名データ ( ファイル名 :movie.csv)

7 プログラムの説明を読んで, プログラムの (1)(5) を答えなさい < プログラムの説明 > 処理内容 CSV ファイル ( 作品名データと入場者数データ ) を読み, 年齢区分ごとの入場者数と売上金額を表示するプログラムである 入力データ作品名データ ( ファイル名 :movie.csv) プログラミング部門 1 級 無断転載禁止 2013 年月日実施 この問題は, 平成 25 年 2 月時点の参考資料です 平成 25 年度 ( 新検定基準による言語選択問題 Java, マクロ言語の出題例 ) 情報処理検定試験 第 1 級試験問題 注意事項 1. 監督者の指示があるまで, 試験問題に手を触れないでください 2. 試験問題は,10 ページあります 3. 解答はすべて解答用紙に記入します

More information

Section1_入力用テンプレートの作成

Section1_入力用テンプレートの作成 入力用テンプレートの作成 1 Excel には 効率よく かつ正確にデータを入力するための機能が用意されています このセクションでは ユーザー設定リストや入力規則 関数を利用した入力用テンプレートの作成やワークシート操作について学習します STEP 1 ユーザー設定リスト 支店名や商品名など 頻繁に利用するユーザー独自の連続データがある場合には ユーザー設定リスト に登録しておけば オートフィル機能で入力することができ便利です

More information

1

1 Excelファイルアクセス 1. 概 要 Excel ファイルアクセスコンポーネントは Microsoft Excel のファイルを 開 いてセルの 値 や 書 式 を 取 得 変 更 したり テーブル 全 体 を 新 しいファイルと して 保 存 したりするために 用 います Excel ファイルアクセスコンポーネントは アプリケーションビルダーのメニューから 以 下 のように 選 びます [コンポーネント

More information

スライド 1

スライド 1 Internet Explorer の設定マニュアル このマニュアルは 長崎市の入札関連システム ( ) をご利用頂くために必要なInternet Explorerの設定手順を説明します お使いのパソコンの環境 ( ブラウザのバージョンなど ) に応じて必要な設定を行ってください なお お使いのブラウザのバージョンによっては掲載する画面と異なる場合がございます あらかじめご了承ください 入札関連システム

More information

S2Dao入門

S2Dao入門 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 information

Community Edition日本語インストール ガイド

Community Edition日本語インストール ガイド Community Edition 日本語インストール ガイド ドキュメント番号 : GUIDE-install-21040501 バージョン : 1.0 発行日 : 2014/05/01 目次 1. はじめに... 1 2. インストールする前に必要な環境の確認... 1 2.1. ハードウェア... 1 2.2. インターネットブラウザ... 1 2.3. Java Virtual Machines

More information