SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
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 FileInputStream (file);
    Properties prop = new Properties();
    prop.load(in);
    strValue = prop.get("hoge");
}
その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");
}
さらにその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");
}
コピペ!
 (´;ω;`)ブワッ
レガシーコード

  の
   氏ね!
改修

やってました
  (´;ω;`)ブワッ
というわけで
自己紹介
@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

Más contenido relacionado

La actualidad más candente

Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会ko ty
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handsonNobuhiro Sue
 
初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと初めてのTravisCIでハマったこと
初めてのTravisCIでハマったことWataru Terada
 
Groovy base gradle_20130309
Groovy base gradle_20130309Groovy base gradle_20130309
Groovy base gradle_20130309Nobuhiro Sue
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Uehara Junji
 
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶopenFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶAtsushi Tadokoro
 
SFC デザイン言語WS(電子工作)第12回「制作工程事例」
SFC デザイン言語WS(電子工作)第12回「制作工程事例」SFC デザイン言語WS(電子工作)第12回「制作工程事例」
SFC デザイン言語WS(電子工作)第12回「制作工程事例」Makoto Hirahara
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworksAtsushi Tadokoro
 
Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3Uehara Junji
 
Test::QUnit ( YAPC::Asia 2010 zentooo )
Test::QUnit ( YAPC::Asia 2010 zentooo )Test::QUnit ( YAPC::Asia 2010 zentooo )
Test::QUnit ( YAPC::Asia 2010 zentooo )Naosuke Yokoe
 
Shibyra trac#13 前説
Shibyra trac#13 前説Shibyra trac#13 前説
Shibyra trac#13 前説riskrisk
 
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Uehara Junji
 
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall博文 斉藤
 
最近流行りのビルドツールとは
最近流行りのビルドツールとは最近流行りのビルドツールとは
最近流行りのビルドツールとはTakahiro Maki
 
RSpecPiccolo gem
RSpecPiccolo gemRSpecPiccolo gem
RSpecPiccolo gemtbpgr
 
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1Atsushi Tadokoro
 

La actualidad más candente (20)

Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handson
 
Groovyの紹介20130323
Groovyの紹介20130323Groovyの紹介20130323
Groovyの紹介20130323
 
初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと
 
Groovy base gradle_20130309
Groovy base gradle_20130309Groovy base gradle_20130309
Groovy base gradle_20130309
 
もしトラ
もしトラもしトラ
もしトラ
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
 
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶopenFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
 
SFC デザイン言語WS(電子工作)第12回「制作工程事例」
SFC デザイン言語WS(電子工作)第12回「制作工程事例」SFC デザイン言語WS(電子工作)第12回「制作工程事例」
SFC デザイン言語WS(電子工作)第12回「制作工程事例」
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
 
Processing
ProcessingProcessing
Processing
 
Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3
 
Test::QUnit ( YAPC::Asia 2010 zentooo )
Test::QUnit ( YAPC::Asia 2010 zentooo )Test::QUnit ( YAPC::Asia 2010 zentooo )
Test::QUnit ( YAPC::Asia 2010 zentooo )
 
Shibyra trac#13 前説
Shibyra trac#13 前説Shibyra trac#13 前説
Shibyra trac#13 前説
 
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
 
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
 
最近流行りのビルドツールとは
最近流行りのビルドツールとは最近流行りのビルドツールとは
最近流行りのビルドツールとは
 
RSpecPiccolo gem
RSpecPiccolo gemRSpecPiccolo gem
RSpecPiccolo gem
 
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
 
Tests and bugreports
Tests and bugreportsTests and bugreports
Tests and bugreports
 

Similar a Groovy joint

開発を彩る技術たち
開発を彩る技術たち開発を彩る技術たち
開発を彩る技術たちOda Shinsuke
 
Groovy indy 20120222
Groovy indy 20120222Groovy indy 20120222
Groovy indy 20120222Nobuhiro Sue
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)parrotstudio
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)parrotstudio
 
Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*irof N
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackTakahiro Yoshimura
 
ゆるふわアーキを支える技術
ゆるふわアーキを支える技術ゆるふわアーキを支える技術
ゆるふわアーキを支える技術Shinichi Kozake
 
Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法yhara
 
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionG* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionKazuchika Sekiya
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 
Play frameworkについて
Play frameworkについてPlay frameworkについて
Play frameworkについてShinobu Okano
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Yasuharu Hayami
 
Inside frogc in Dart
Inside frogc in DartInside frogc in Dart
Inside frogc in DartGoro Fuji
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編Asami Abe
 
f3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LTf3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LTJun Kato
 

Similar a Groovy joint (20)

Javaに這いよる.NET
Javaに這いよる.NETJavaに這いよる.NET
Javaに這いよる.NET
 
開発を彩る技術たち
開発を彩る技術たち開発を彩る技術たち
開発を彩る技術たち
 
Groovy indy 20120222
Groovy indy 20120222Groovy indy 20120222
Groovy indy 20120222
 
いまさら触るAwt
いまさら触るAwtいまさら触るAwt
いまさら触るAwt
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
 
Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
 
ゆるふわアーキを支える技術
ゆるふわアーキを支える技術ゆるふわアーキを支える技術
ゆるふわアーキを支える技術
 
Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法
 
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionG* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
Play frameworkについて
Play frameworkについてPlay frameworkについて
Play frameworkについて
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
 
Webページで学ぶJavaScript2013 第6回
Webページで学ぶJavaScript2013 第6回Webページで学ぶJavaScript2013 第6回
Webページで学ぶJavaScript2013 第6回
 
Inside frogc in Dart
Inside frogc in DartInside frogc in Dart
Inside frogc in Dart
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編
 
Gws in fukuoka
Gws in fukuokaGws in fukuoka
Gws in fukuoka
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
 
f3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LTf3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LT
 

Más de Shinya Mochida

サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情Shinya Mochida
 
IntelliJ IDEA を完全にマスターする話
IntelliJ IDEA を完全にマスターする話IntelliJ IDEA を完全にマスターする話
IntelliJ IDEA を完全にマスターする話Shinya Mochida
 
クリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払い
クリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払いクリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払い
クリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払いShinya Mochida
 
jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1
jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1
jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1Shinya Mochida
 
swift-log について
swift-log についてswift-log について
swift-log についてShinya Mochida
 
Java プログラマーのための Swift 入門 #中央線Meetup
Java プログラマーのための Swift 入門 #中央線MeetupJava プログラマーのための Swift 入門 #中央線Meetup
Java プログラマーのための Swift 入門 #中央線MeetupShinya Mochida
 
swift-nio のアーキテクチャーと RxHttpClient
swift-nio のアーキテクチャーと RxHttpClientswift-nio のアーキテクチャーと RxHttpClient
swift-nio のアーキテクチャーと RxHttpClientShinya Mochida
 
JJUG CCC 2018 Spring - I-7 (俺が)はじめての Netty
JJUG CCC 2018 Spring - I-7 (俺が)はじめての NettyJJUG CCC 2018 Spring - I-7 (俺が)はじめての Netty
JJUG CCC 2018 Spring - I-7 (俺が)はじめての NettyShinya Mochida
 
JJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjug
JJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjugJJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjug
JJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjugShinya Mochida
 
Spring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみた
Spring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみたSpring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみた
Spring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみたShinya Mochida
 
Javaモジュールシステム雑なまとめ
Javaモジュールシステム雑なまとめJavaモジュールシステム雑なまとめ
Javaモジュールシステム雑なまとめShinya Mochida
 
JavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンJavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンShinya Mochida
 
gradle2.4のルールベースモデルコンフィギュレーション
gradle2.4のルールベースモデルコンフィギュレーションgradle2.4のルールベースモデルコンフィギュレーション
gradle2.4のルールベースモデルコンフィギュレーションShinya Mochida
 
On stream-lazy-computation
On stream-lazy-computationOn stream-lazy-computation
On stream-lazy-computationShinya Mochida
 
Java8のstreamをダラダラまとめてみる
Java8のstreamをダラダラまとめてみるJava8のstreamをダラダラまとめてみる
Java8のstreamをダラダラまとめてみるShinya Mochida
 
ドラクエの金銭感覚
ドラクエの金銭感覚ドラクエの金銭感覚
ドラクエの金銭感覚Shinya Mochida
 
30億のデバイスで走るjavaを支えるjavaエコシステム
30億のデバイスで走るjavaを支えるjavaエコシステム30億のデバイスで走るjavaを支えるjavaエコシステム
30億のデバイスで走るjavaを支えるjavaエコシステムShinya Mochida
 

Más de Shinya Mochida (20)

サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情
 
IntelliJ IDEA を完全にマスターする話
IntelliJ IDEA を完全にマスターする話IntelliJ IDEA を完全にマスターする話
IntelliJ IDEA を完全にマスターする話
 
クリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払い
クリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払いクリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払い
クリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払い
 
jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1
jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1
jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1
 
swift-log について
swift-log についてswift-log について
swift-log について
 
Vim 入門
Vim 入門Vim 入門
Vim 入門
 
Java プログラマーのための Swift 入門 #中央線Meetup
Java プログラマーのための Swift 入門 #中央線MeetupJava プログラマーのための Swift 入門 #中央線Meetup
Java プログラマーのための Swift 入門 #中央線Meetup
 
swift-nio のアーキテクチャーと RxHttpClient
swift-nio のアーキテクチャーと RxHttpClientswift-nio のアーキテクチャーと RxHttpClient
swift-nio のアーキテクチャーと RxHttpClient
 
JJUG CCC 2018 Spring - I-7 (俺が)はじめての Netty
JJUG CCC 2018 Spring - I-7 (俺が)はじめての NettyJJUG CCC 2018 Spring - I-7 (俺が)はじめての Netty
JJUG CCC 2018 Spring - I-7 (俺が)はじめての Netty
 
JJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjug
JJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjugJJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjug
JJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjug
 
Spring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみた
Spring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみたSpring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみた
Spring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみた
 
Javaモジュールシステム雑なまとめ
Javaモジュールシステム雑なまとめJavaモジュールシステム雑なまとめ
Javaモジュールシステム雑なまとめ
 
Kotlin as an AltJS
Kotlin as an AltJSKotlin as an AltJS
Kotlin as an AltJS
 
JavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンJavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターン
 
gradle2.4のルールベースモデルコンフィギュレーション
gradle2.4のルールベースモデルコンフィギュレーションgradle2.4のルールベースモデルコンフィギュレーション
gradle2.4のルールベースモデルコンフィギュレーション
 
On stream-lazy-computation
On stream-lazy-computationOn stream-lazy-computation
On stream-lazy-computation
 
Stream脳の作り方
Stream脳の作り方Stream脳の作り方
Stream脳の作り方
 
Java8のstreamをダラダラまとめてみる
Java8のstreamをダラダラまとめてみるJava8のstreamをダラダラまとめてみる
Java8のstreamをダラダラまとめてみる
 
ドラクエの金銭感覚
ドラクエの金銭感覚ドラクエの金銭感覚
ドラクエの金銭感覚
 
30億のデバイスで走るjavaを支えるjavaエコシステム
30億のデバイスで走るjavaを支えるjavaエコシステム30億のデバイスで走るjavaを支えるjavaエコシステム
30億のデバイスで走るjavaを支えるjavaエコシステム
 

Groovy joint