JavaFX で Javascriptを      テストする  presented by @mike_neck
皆さんご存知とおもいますが、JavaFXにはWebkitを搭載したWebViewがあります。
だから…JavascriptのテストをJavaでやることができるんです!
Javascriptで  Javaではありません
型安全カターンゼン
バンザーイ (∩´∀`)∩
!?
ところが… なにっ(・・;)
JavaFXやる   …
余裕なかった  んで  (;・∀・)ハッ?
なんもやって ません (ΦωΦ)!!!!!!!!!!!!!!!!!!!!!!!!
おあり(´・ω`・)エッ?
……
………
……… |д゚)チラッ
ダメだよね…  (´;ω;`)ブワッ
最近やってた       こと      サボってないよ (゚д゚)(。_。)(゚д゚)(。_。) ウンウン
話します ε-(´∀`*)ホッ
SwingのJavaFXからずいぶんと離れるな…
レガシーコード   を
やっつけてま  した
どんなに、レガシー?
こんな感じ
あるソースの100行目付近strValue = "";File file = new File ("conf/system.properties");FileInputStream in = null;try {    in = new Fil...
その12行くらい後strValue = "";File file = new File ("conf/system.properties");FileInputStream in = null;try {    in = new FileInp...
さらにその12行くらい後strValue = "";File file = new File ("conf/system.properties");FileInputStream in = null;try {    in = new File...
コピペ! (´;ω;`)ブワッ
レガシーコード  の   氏ね!
改修やってました  (´;ω;`)ブワッ
というわけで
自己紹介
@mike_neck   みけでいいです
Javaなんかやってます  Groovyが好き
あんな酷いコードですが
ありがたいオマンマの種  ありがたい…
ビルドとか面倒なので最初はビルドできませんでした
gradleでbuidしてます build.gradle組むの大変だった
欲が出てtest書いてます  レガシーすぎるので
欲が出てgroovyでtest  Javaでテスト面倒なので
だんだんイラっとしてそれでもまだまだレガシー
プロダクトに groovy  やったー
と思ったのもつかの間  (´・ω`・)エッ?
ビルドおちた  (´;ω;`)ブワッ
原因● Javaのプロダクトコードから  Groovyのプロダクトコードを参  照している● gradleのビルドモデルは  Java→Groovyの順で実行さ  れる
つまりJavaが依存しているGroovyのコードを先にコン      パイルしていないとAUTO!
解決策コンパイル時に実装を隠蔽していくれるようなそ     んなコンパイルを行いたい
DIほしいそれも実行時に実装クラスを指定できるような         やつ
欲しい機能● 文字列から実装クラスを指定  できる。● staticなコンテキストでも呼び  出せる。● Exceptionとか面倒なんで、  例外はRuntimeにしたい。
作った機能● アノテーションで実装クラスを  指定する。● アノテーションで指定されたク  ラスを注入する。● 指定されたクラスがない場合  は、それを示す実行時の例外  をthrowする。
作った機能● @GroovyImpl  (implementedClass = "クラ  スのFQCN")● インタフェースに付与された  @GroovyImpleアノテーション  をから実装クラスをインスタン  ス化
https://github.com/mike-   neck/gj-groovy-jointにて公開予定
groovyのご利用は計画的に   by mike_neck
Upcoming SlideShare
Loading in …5
×

Groovy joint

1,704 views

Published on

Groovy Joint is a simple DI framework.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,704
On SlideShare
0
From Embeds
0
Number of Embeds
369
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Groovy joint

  1. 1. JavaFX で Javascriptを テストする presented by @mike_neck
  2. 2. 皆さんご存知とおもいますが、JavaFXにはWebkitを搭載したWebViewがあります。
  3. 3. だから…JavascriptのテストをJavaでやることができるんです!
  4. 4. Javascriptで Javaではありません
  5. 5. 型安全カターンゼン
  6. 6. バンザーイ (∩´∀`)∩
  7. 7. !?
  8. 8. ところが… なにっ(・・;)
  9. 9. JavaFXやる …
  10. 10. 余裕なかった んで (;・∀・)ハッ?
  11. 11. なんもやって ません (ΦωΦ)!!!!!!!!!!!!!!!!!!!!!!!!
  12. 12. おあり(´・ω`・)エッ?
  13. 13. ……
  14. 14. ………
  15. 15. ……… |д゚)チラッ
  16. 16. ダメだよね… (´;ω;`)ブワッ
  17. 17. 最近やってた こと サボってないよ (゚д゚)(。_。)(゚д゚)(。_。) ウンウン
  18. 18. 話します ε-(´∀`*)ホッ
  19. 19. SwingのJavaFXからずいぶんと離れるな…
  20. 20. レガシーコード を
  21. 21. やっつけてま した
  22. 22. どんなに、レガシー?
  23. 23. こんな感じ
  24. 24. あるソースの100行目付近strValue = "";File file = new File ("conf/system.properties");FileInputStream in = null;try { in = new FileInputStream (file); Properties prop = new Properties(); prop.load(in); strValue = prop.get("hoge");}
  25. 25. その12行くらい後strValue = "";File file = new File ("conf/system.properties");FileInputStream in = null;try { in = new FileInputStream (file); Properties prop = new Properties(); prop.load(in); strValue = prop.get("huge");}
  26. 26. さらにその12行くらい後strValue = "";File file = new File ("conf/system.properties");FileInputStream in = null;try { in = new FileInputStream (file); Properties prop = new Properties(); prop.load(in); strValue = prop.get("hade");}
  27. 27. コピペ! (´;ω;`)ブワッ
  28. 28. レガシーコード の 氏ね!
  29. 29. 改修やってました (´;ω;`)ブワッ
  30. 30. というわけで
  31. 31. 自己紹介
  32. 32. @mike_neck みけでいいです
  33. 33. Javaなんかやってます Groovyが好き
  34. 34. あんな酷いコードですが
  35. 35. ありがたいオマンマの種 ありがたい…
  36. 36. ビルドとか面倒なので最初はビルドできませんでした
  37. 37. gradleでbuidしてます build.gradle組むの大変だった
  38. 38. 欲が出てtest書いてます レガシーすぎるので
  39. 39. 欲が出てgroovyでtest Javaでテスト面倒なので
  40. 40. だんだんイラっとしてそれでもまだまだレガシー
  41. 41. プロダクトに groovy やったー
  42. 42. と思ったのもつかの間 (´・ω`・)エッ?
  43. 43. ビルドおちた (´;ω;`)ブワッ
  44. 44. 原因● Javaのプロダクトコードから Groovyのプロダクトコードを参 照している● gradleのビルドモデルは Java→Groovyの順で実行さ れる
  45. 45. つまりJavaが依存しているGroovyのコードを先にコン パイルしていないとAUTO!
  46. 46. 解決策コンパイル時に実装を隠蔽していくれるようなそ んなコンパイルを行いたい
  47. 47. DIほしいそれも実行時に実装クラスを指定できるような やつ
  48. 48. 欲しい機能● 文字列から実装クラスを指定 できる。● staticなコンテキストでも呼び 出せる。● Exceptionとか面倒なんで、 例外はRuntimeにしたい。
  49. 49. 作った機能● アノテーションで実装クラスを 指定する。● アノテーションで指定されたク ラスを注入する。● 指定されたクラスがない場合 は、それを示す実行時の例外 をthrowする。
  50. 50. 作った機能● @GroovyImpl (implementedClass = "クラ スのFQCN")● インタフェースに付与された @GroovyImpleアノテーション をから実装クラスをインスタン ス化
  51. 51. https://github.com/mike- neck/gj-groovy-jointにて公開予定
  52. 52. groovyのご利用は計画的に by mike_neck

×