SlideShare a Scribd company logo
1 of 71
Eclipse  を使った Java  開発 杉浦 彰 Twitter: @urasandesu Blog:  http://urasandesu.blogspot.com/
はじめに ,[object Object],[object Object],[object Object]
Java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Eclipse ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
インストール なにはともあれ、開発環境
Eclipse 3.7 Indigo(EE) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hello, world!! さっそく動かして見る
1. Eclipse  を起動し、ワークスペースを指定。
2. Welcome  画面。とりあえず閉じる。
3. Package Explorer  ビューで右クリック、 [New]->[Project]  を選択。
4. New Project  ダイアログが開いたら、 [Java Project]  を選択し、 [Next]  ボタンをクリック。
5. New Java Project  ダイアログが開いたら、 [Project name]  に “ HelloWorld”  を入力し、 [Finish]  ボタンをクリック
6. Package Explorer  ビューにできた  HelloWorld  プロジェクトの中にある  src  フォルダを右クリック、 [New]->[Class]  を選択。
7. New Java Class  ダイアログが開いたら、 [Name]  に “ Main”  を入力し、  [Finish]  をクリック。
8. Main.java  をダブルクリックして開き、以下のようなコードを入力。 ,[object Object],[object Object],[object Object],[object Object],[object Object]
9.  一通り入力が終わったら保存。 Problems  ビューにビルドエラーが検出されていないことを確認。
10. Package Explorer  ビューの  Main.java  を右クリック、 [Debug As]->[Java Application] 。
11. 実行結果が  Console  ビューに表示される。
せっかくなら・・・ 環境のカスタマイズ 自分やメンバのお好みで
フォントの種類やサイズを変える ,[object Object],[object Object]
行番号を表示 / 列ガイドを表示 ,[object Object],[object Object],[object Object],[object Object]
シンタックスハイライトをカスタマイズ ,[object Object],[object Object]
タブ派  v.s.  スペース派 ,[object Object],[object Object],[object Object],[object Object]
1  行に入る文字数 ,[object Object],[object Object],[object Object],[object Object]
設定のインポート / エクスポート ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
他にも色々? Eclipse  の真骨頂
例えば、静的解析ツール ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Checkstyle 代表的な静的解析ツールを使ってみる プラグインの導入方法も
Checkstyle ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
あと、プラグイン ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1. [Help]  メニューの  [Install New Software]
2. Install  ダイアログが開いたら、 [Add]  ボタンをクリック
3. Add Repository  ダイアログが開いたら、 [Name]  にわかりやすい名前入力し、 [Archive]  ボタンをクリック
4.  ダウンロードした  zip  ファイルを指定し、 [OK]  ボタンをクリック
5. [Select All]  ボタンをクリックし、 続けて  [Next]  ボタンをクリック
6. [Next]  ボタンをクリック
7.License Agreement  を確認し、 [Finish]  ボタンをクリック
8.Warning  ダイアログが出てもそのまま進める
9.Eclipse  の再起動を促されるので、再起動
10. 試しに最初のプログラムをチェックしてみる。 右クリック –  [Checkstyle] – [Check Code with Checkstyle]
11. 指摘たくさん!
12.  プロジェクトや個人で使いたいものに絞り込む。 ,[object Object],[object Object],[object Object]
ソフトウェア構成管理 はじめの一歩 急に  JUnit  に入ってもアレかと・・・ すみません・・・前置き長いかもです
例えばこんな問題 ,[object Object],[object Object],[object Object],[object Object],[object Object]
例えば、 「しっかり直したはずの不具合が~」 ,[object Object],[object Object],[object Object],[object Object],[object Object],再発防止策、作ってよ? 不具合が出ちゃったものは しょうがないけど、 ちゃんと説明してよね!
これらの問題を解決するために ,[object Object],[object Object],[object Object],[object Object]
品質管理と変更履歴管理 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ただ・・・ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
自動化、しましょうか・・・ 脱・属人性 方法論があるのであれば、なるべく
品質管理ツール ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
変更履歴管理ツール ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
寄り道 ,[object Object],[object Object],[object Object],[object Object],[object Object]
JUnit 今回は、テスト自動化ということで
JUnit ,[object Object],[object Object],[object Object],[object Object]
1. Package Explorer  を右クリック-> [New]->[JUnit Test Case]
2. New JUnit Test Case  ダイアログが開いたら、 Name  にわかりやすい名前を入れ、 [Finish]  ボタンをクリック
3.  実行。 [Debug As]->[JUnit Test]
4. JUnit  ビューが自動的に表示される。まだ失敗。
5.  テストを追加。 標準出力に  Hello, world!!  が出力されるんだっけ。 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
6.  もう一度実行->成功した!
機能を追加してみる ,[object Object],[object Object],[object Object],[object Object]
7.  テストの修正。 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
8.  実行。もちろん失敗する。
9. 機能の変更。これでいいかな? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
10. 再度実行。 O.K.!!
でも、ほんとにこれで大丈夫? ,[object Object],[object Object],[object Object],[object Object]
不安をテストに ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
自動化しておくことで ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
演習! 習うより慣れろ、です ※ 演習資料は、 TDDBC for C++  で使われたものを利用させていただきました http://www. slideshare .net/ imagire / tdd-boot-camp-for-c
ハマりやすいところをいくつか ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java  を使った プロジェクトならではの問題も? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Yusuke Yamamoto
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
 
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
Fuminobu TAKEYAMA
 

What's hot (20)

テストを書こう、Unity編
テストを書こう、Unity編テストを書こう、Unity編
テストを書こう、Unity編
 
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
 
初めての単体テスト
初めての単体テスト初めての単体テスト
初めての単体テスト
 
Laravelとテストについて
LaravelとテストについてLaravelとテストについて
Laravelとテストについて
 
Play勉強会 第3回
Play勉強会 第3回Play勉強会 第3回
Play勉強会 第3回
 
プラガブル Play20 Scala
プラガブル Play20 Scalaプラガブル Play20 Scala
プラガブル Play20 Scala
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
 
Visual studio de debug
Visual studio de debugVisual studio de debug
Visual studio de debug
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
 
C++でテスト駆動開発
C++でテスト駆動開発C++でテスト駆動開発
C++でテスト駆動開発
 
最近の単体テスト
最近の単体テスト最近の単体テスト
最近の単体テスト
 
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
 
メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)
 
Behat Driven Development
Behat Driven DevelopmentBehat Driven Development
Behat Driven Development
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
 
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
 

Similar to Eclipse を使った java 開発 111126 杉浦

JAZUG女子部 第2回勉強会 ハンズオン
JAZUG女子部 第2回勉強会 ハンズオンJAZUG女子部 第2回勉強会 ハンズオン
JAZUG女子部 第2回勉強会 ハンズオン
Kana SUZUKI
 
Unit testで定時帰宅!
Unit testで定時帰宅!Unit testで定時帰宅!
Unit testで定時帰宅!
Funato Takashi
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
Masatoshi Itoh
 
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストテストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテスト
Ohishi Mikage
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
 

Similar to Eclipse を使った java 開発 111126 杉浦 (20)

Spock's world
Spock's worldSpock's world
Spock's world
 
JAZUG女子部 第2回勉強会 ハンズオン
JAZUG女子部 第2回勉強会 ハンズオンJAZUG女子部 第2回勉強会 ハンズオン
JAZUG女子部 第2回勉強会 ハンズオン
 
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみたOpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみた
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
PHP勉強会 #51
PHP勉強会 #51PHP勉強会 #51
PHP勉強会 #51
 
pi-1. プログラミング入門
pi-1. プログラミング入門pi-1. プログラミング入門
pi-1. プログラミング入門
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
Gamedevenvstudy1
Gamedevenvstudy1Gamedevenvstudy1
Gamedevenvstudy1
 
Unit testで定時帰宅!
Unit testで定時帰宅!Unit testで定時帰宅!
Unit testで定時帰宅!
 
CruiseControl.NET設置
CruiseControl.NET設置CruiseControl.NET設置
CruiseControl.NET設置
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
 
WordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオンWordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオン
 
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめテスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめ
 
CLRH_120414_WFTDD
CLRH_120414_WFTDDCLRH_120414_WFTDD
CLRH_120414_WFTDD
 
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストテストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテスト
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
 

Recently uploaded

The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 

Recently uploaded (8)

次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 

Eclipse を使った java 開発 111126 杉浦