Enviar búsqueda
Cargar
JavaとRubyのすてきな関係
•
19 recomendaciones
•
3,414 vistas
garden_tree
Seguir
JRuby活用パターンの紹介
Leer menos
Leer más
Entretenimiento y humor
Denunciar
Compartir
Denunciar
Compartir
1 de 110
Recomendados
Ruby紹介
Ruby紹介
Masahiro Tomita
MySQL/Ruby終了のお知らせ
MySQL/Ruby終了のお知らせ
Masahiro Tomita
Java初心者がJava8のラムダ式をやってみた
Java初心者がJava8のラムダ式をやってみた
Aya Ebata
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
Koichi Sakata
Maiking RIA Apps by Ruby
Maiking RIA Apps by Ruby
shozon
「愛されたい!」と思ったときにJavaで書くRubyクラス
「愛されたい!」と思ったときにJavaで書くRubyクラス
Koichiro Ohba
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
Yusuke Hirao
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
Recomendados
Ruby紹介
Ruby紹介
Masahiro Tomita
MySQL/Ruby終了のお知らせ
MySQL/Ruby終了のお知らせ
Masahiro Tomita
Java初心者がJava8のラムダ式をやってみた
Java初心者がJava8のラムダ式をやってみた
Aya Ebata
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
Koichi Sakata
Maiking RIA Apps by Ruby
Maiking RIA Apps by Ruby
shozon
「愛されたい!」と思ったときにJavaで書くRubyクラス
「愛されたい!」と思ったときにJavaで書くRubyクラス
Koichiro Ohba
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
Yusuke Hirao
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Yuji Kubota
20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介
20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介
Yuki Fujisawa
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
大樹 小倉
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Koichiro Ohba
JavaScriptことはじめ
JavaScriptことはじめ
Yuki Ishikawa
Hello Java
Hello Java
Chihiro Ito
キメるClojure
キメるClojure
Yoshitaka Kawashima
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
Yasuharu Nakano
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
takeuchi-tk
Scala.jsはじめました?
Scala.jsはじめました?
K Kinzal
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Norito Agetsuma
楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug
Yuji Kubota
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
Ruby24
Ruby24
Masahiro Tomita
Java9新機能概要
Java9新機能概要
HonMarkHunt
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Kengo Toda
スレッドダンプの読み方
スレッドダンプの読み方
Funato Takashi
Eight iOS/Android開発の裏側
Eight iOS/Android開発の裏側
Kenta Kuwata
MoneyForwardアプリ開発の裏側
MoneyForwardアプリ開発の裏側
Katsunobu Ishida
Más contenido relacionado
La actualidad más candente
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Yuji Kubota
20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介
20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介
Yuki Fujisawa
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
大樹 小倉
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Koichiro Ohba
JavaScriptことはじめ
JavaScriptことはじめ
Yuki Ishikawa
Hello Java
Hello Java
Chihiro Ito
キメるClojure
キメるClojure
Yoshitaka Kawashima
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
Yasuharu Nakano
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
takeuchi-tk
Scala.jsはじめました?
Scala.jsはじめました?
K Kinzal
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Norito Agetsuma
楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug
Yuji Kubota
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
Ruby24
Ruby24
Masahiro Tomita
Java9新機能概要
Java9新機能概要
HonMarkHunt
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Kengo Toda
スレッドダンプの読み方
スレッドダンプの読み方
Funato Takashi
La actualidad más candente
(20)
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介
20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介
Scala.jsはじめました!
Scala.jsはじめました!
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
JavaScriptことはじめ
JavaScriptことはじめ
Hello Java
Hello Java
キメるClojure
キメるClojure
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
Scala.jsはじめました?
Scala.jsはじめました?
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
楽して JVM を学びたい #jjug
楽して JVM を学びたい #jjug
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ruby24
Ruby24
Java9新機能概要
Java9新機能概要
JVMの中身を可視化してみた
JVMの中身を可視化してみた
スレッドダンプの読み方
スレッドダンプの読み方
Destacado
Eight iOS/Android開発の裏側
Eight iOS/Android開発の裏側
Kenta Kuwata
MoneyForwardアプリ開発の裏側
MoneyForwardアプリ開発の裏側
Katsunobu Ishida
3年前の僕へ-a piece of cake-
3年前の僕へ-a piece of cake-
garden_tree
RubyConf Brazil 2010 - Mirah
RubyConf Brazil 2010 - Mirah
Charles Nutter
Building native Android applications with Mirah and Pindah
Building native Android applications with Mirah and Pindah
Nick Plante
Rejectkaigi 2010
Rejectkaigi 2010
John Woodell
3年前の僕へ
3年前の僕へ
garden_tree
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
Kenji Urai
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstm
Fujimoto Keisuke
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
mametter
Destacado
(10)
Eight iOS/Android開発の裏側
Eight iOS/Android開発の裏側
MoneyForwardアプリ開発の裏側
MoneyForwardアプリ開発の裏側
3年前の僕へ-a piece of cake-
3年前の僕へ-a piece of cake-
RubyConf Brazil 2010 - Mirah
RubyConf Brazil 2010 - Mirah
Building native Android applications with Mirah and Pindah
Building native Android applications with Mirah and Pindah
Rejectkaigi 2010
Rejectkaigi 2010
3年前の僕へ
3年前の僕へ
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstm
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
Similar a JavaとRubyのすてきな関係
JavaとScalaとGroovyと
JavaとScalaとGroovyと
irof N
JavascriptでRubyの作り方
JavascriptでRubyの作り方
Shuyo Nakatani
What is java_se_7
What is java_se_7
TakumiIINO
Web技術勉強会 第31回
Web技術勉強会 第31回
龍一 田中
SpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorb
Youtarou TAKAHASHI
とりあえず使えるSBT
とりあえず使えるSBT
Kiyotaka Kunihira
Ruby on Railsではじめるrspecテスト
Ruby on Railsではじめるrspecテスト
Kanako Kobayashi
実戦Scala
実戦Scala
Yuto Suzuki
Play frameworkについて
Play frameworkについて
Shinobu Okano
Gradleどうでしょう
Gradleどうでしょう
Takuma Watabiki
Scalaでのプログラム開発
Scalaでのプログラム開発
Kota Mizushima
JRuby on Rails
JRuby on Rails
Yoichiro Tanaka
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Web技術勉強会 20110723
Web技術勉強会 20110723
龍一 田中
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
Yoshiharu Hashimoto
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
株式会社インタースペース 沖本様 登壇資料
株式会社インタースペース 沖本様 登壇資料
leverages_event
Dev love関西 forslideshare
Dev love関西 forslideshare
Daisuke Kasuya
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
Yuuki Namikawa
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
Kazuya Wada
Similar a JavaとRubyのすてきな関係
(20)
JavaとScalaとGroovyと
JavaとScalaとGroovyと
JavascriptでRubyの作り方
JavascriptでRubyの作り方
What is java_se_7
What is java_se_7
Web技術勉強会 第31回
Web技術勉強会 第31回
SpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorb
とりあえず使えるSBT
とりあえず使えるSBT
Ruby on Railsではじめるrspecテスト
Ruby on Railsではじめるrspecテスト
実戦Scala
実戦Scala
Play frameworkについて
Play frameworkについて
Gradleどうでしょう
Gradleどうでしょう
Scalaでのプログラム開発
Scalaでのプログラム開発
JRuby on Rails
JRuby on Rails
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
Web技術勉強会 20110723
Web技術勉強会 20110723
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
株式会社インタースペース 沖本様 登壇資料
株式会社インタースペース 沖本様 登壇資料
Dev love関西 forslideshare
Dev love関西 forslideshare
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
JavaとRubyのすてきな関係
1.
[質問] お仕事でJavaを使っている方
(予想:10人位?) (発表後追記:2人しかいませんでした...)
2.
本日のお客様
3.
「もっと柔軟に システム構築したい!」
というJavist
4.
「俺はRubyで 仕事がしたいんだ!」
というJavist
5.
「 隣のRubyistと
仲良くなりたい!」 というJavist
6.
そんなあなたに おすすめなのが こちら
7.
JRuby
8.
という事で JRubyの活用パターンを
ご紹介します
9.
Javaと Rubyの すてきな関係 @garden_tree
10.
本日ご紹介する活用パターン
11.
本日ご紹介する活用パターン 初級編: Ruby On
Java
12.
本日ご紹介する活用パターン 初級編: Ruby On
Java 中級編: Java Meets Ruby
13.
本日ご紹介する活用パターン 初級編: Ruby On
Java 中級編: Java Meets Ruby 上級編: It's A Java World
14.
初級編 Ruby On Java
15.
構成イメージ
16.
構成イメージ Java
17.
構成イメージ Java Java
18.
構成イメージ Java Java
Java
19.
構成イメージ
Ruby Java Java Java
20.
イメージ図
Ruby Java
21.
例
22.
普通のJava
java demo.JavaOnly で起動 https://github.com/gardentree/demo20120222
23.
普通のJava
java demo.JavaOnly で起動 1.SQLを作成 https://github.com/gardentree/demo20120222
24.
普通のJava
java demo.JavaOnly で起動 1.SQLを作成 2.データベースにアクセス https://github.com/gardentree/demo20120222
25.
普通のJava
java demo.JavaOnly で起動 1.SQLを作成 2.データベースにアクセス 3.検索結果を出力 https://github.com/gardentree/demo20120222
26.
普通のJava
java demo.JavaOnly で起動 1.SQLを作成 書きづらい 2.データベースにアクセス 3.検索結果を出力 https://github.com/gardentree/demo20120222
27.
普通のJava
java demo.JavaOnly で起動 1.SQLを作成 書きづらい 2.データベースにアクセス 3.検索結果を出力 面倒 https://github.com/gardentree/demo20120222
28.
Ruby On Java jruby
beginner.rb で起動
29.
Ruby On Java jruby
beginner.rb で起動 1.ヒアドキュメントでSQLを作成
30.
Ruby On Java
jruby beginner.rb で起動 1.ヒアドキュメントでSQLを作成 2. Javaのメソッドでデータベースにアクセス
31.
Ruby On Java
jruby beginner.rb で起動 1.ヒアドキュメントでSQLを作成 2. Javaのメソッドでデータベースにアクセス 3.簡潔に検索結果を出力
32.
Ruby On Java
jruby beginner.rb で起動 でも、おまじないが必要 1.ヒアドキュメントでSQLを作成 2. Javaのメソッドでデータベースにアクセス 3.簡潔に検索結果を出力
33.
[利点] •Rubyでプログラミング出来る •既存のJavaプログラムを使える
[欠点] •Rubyに見せかけてJava •おまじないが必要
34.
[利点] •Rubyでプログラミング出来る •既存のJavaプログラムを使える
[欠点] •Rubyに見せかけてJava •おまじないが必要 =>これじゃRubyistと仲良くなれない!
35.
では欠点を克服するには?
36.
中級編 Java Meets Ruby
37.
構成イメージ 提供:NASA/JPL-Caltech
38.
構成イメージ
Java 提供:NASA/JPL-Caltech
39.
構成イメージ
Ruby Java 提供:NASA/JPL-Caltech
40.
イメージ図
Ruby Java
41.
イメージ図
Ruby Java
42.
イメージ図
Ruby JRubyで作る Java
43.
イメージ図
Ruby JRubyで作る 使う Java
44.
つまり
Java + RubyDSL (domain-specific language)
45.
例
46.
Java
java demo.Intermediateで起動 https://github.com/gardentree/demo20120222
47.
Java
java demo.Intermediateで起動 Rubyメソッドを定義 https://github.com/gardentree/demo20120222
48.
Java
java demo.Intermediateで起動 Rubyメソッドを定義 RubyDSLを評価する =>RubyDSLへ https://github.com/gardentree/demo20120222
49.
RubyDSL (続き)
50.
RubyDSL (続き)
初級編と同じ
51.
RubyDSL (続き)
初級編と同じ SQLとブロックを指定
52.
RubyDSL
(続き) 初級編と同じ Javaで提供されたメソッドを使用する =>Javaへ SQLとブロックを指定
53.
Java (続き)
54.
Java
(続き) RubyDSLからSQLとブロックが渡される
55.
Java
(続き) RubyDSLからSQLとブロックが渡される SQLを使用して、データベースにアクセス
56.
Java
(続き) RubyDSLからSQLとブロックが渡される SQLを使用して、データベースにアクセス 1レコードずつ、ブロックに渡す =>RubyDSLへ
57.
RubyDSL (続き)
58.
RubyDSL (続き)
レコードを出力
59.
RubyDSL (続き) +おまじないは不要
レコードを出力
60.
[利点] RubyDSLはRubyそのもの
[欠点] Javaの実装はちょっと複雑
61.
[利点] RubyDSLはRubyそのもの
[欠点] Javaの実装はちょっと複雑 =>これならRubyistと仲良くなれる!
62.
さらに世界を広げてみましょう!
63.
上級編 It's A Java
World
64.
Javaで書かれたRuby実装
JRubyについて お話ししてきました
65.
これまでの構成
66.
イメージ図 Ruby
Java
67.
イメージ図 Ruby JRuby
Java
68.
イメージ図 Ruby JRuby
Java
69.
Javaで書かれた実装は
他にもあるよ
70.
Javaで実装されたJavaScript
Rhino
71.
イメージ図 Ruby JRuby
Java
72.
イメージ図
Java Ruby Script JRuby Java
73.
イメージ図
Java Ruby Script JRuby Rhino Java
74.
イメージ図
Java Ruby Script JRuby Rhino Java
75.
と、いうことは・・・?
76.
イメージ図
Java Ruby Script JRuby Rhino Java
77.
イメージ図
つながる! Java Ruby Script
78.
Javaを介して 別々の言語をつなげよう!
79.
構成イメージ
80.
構成イメージ Ruby
81.
構成イメージ Ruby
JavaScript
82.
構成イメージ Ruby
JavaScript Python
83.
構成イメージ Ruby
JavaScript Python Scala
84.
構成イメージ Ruby
JavaScript Python Scala Groovy
85.
構成イメージ
Ruby JavaScript Python Scala Clojure Groovy
86.
構成イメージ
Ruby JavaScript Tcl Python Scala Clojure Groovy
87.
構成イメージ
Ruby JavaScript Scheme Tcl Python Scala Clojure Groovy
88.
構成イメージ
Ruby JavaScript Scheme Tcl Python Java Scala Clojure Groovy
89.
構成イメージ
Ruby JavaScript Scheme Tcl Python Java Scala Clojure Groovy みんな友達!
90.
例
91.
Rubyで JavaScriptの Testを書く
92.
用意するもの •RSpec •Underscore.js •Jambalaya(自作)
93.
用意するもの •RSpec •Underscore.js •Jambalaya(自作) RubyとJavaScriptの相互変換ライブラリ
94.
仕組み Ruby
↓↑ Java ↓↑ JavaScript
95.
Jambalayaを使うと
96.
Jambalayaを使うと
JavaScriptが _.filter([1,2,3,4,5,6],function(n){ return n % 2 == 0; });
97.
Jambalayaを使うと
JavaScriptが _.filter([1,2,3,4,5,6],function(n){ return n % 2 == 0; }); Rubyで動かせる _.filter([1,2,3,4,5,6]){¦n,i,c¦ n % 2 == 0 }
98.
だから
99.
だから Underscore.jsの
100.
だから Underscore.jsの
Testが
101.
だから Underscore.jsの
Testが RSpecで書ける!
102.
実装についても ご紹介したいところですが・・・
103.
実装についても ご紹介したいところですが・・・ 詳しくはWebでね★ https://github.com/gardentree/jambalaya
104.
まとめ
105.
これとか
Ruby Java Java Java
106.
これとか
Ruby Java 提供:NASA/JPL-Caltech
107.
これで
Ruby JavaScript Scheme Tcl Python Java Scala Clojure Groovy みんな友達!
108.
隣のRubyistと 仲良くなれるよ!
109.
そう、JRubyならね。
110.
Javaと Rubyの すてきな関係 @garden_tree
Notas del editor
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n