social coding with jruby

61
Social Coding With JRuby 伊藤忠テクノソリューションズ株式会社 日本JRubyユーザー会 大場光一郎 2011-11-12;関西Ruby会議04;大阪南港ATC

Upload: koichiro-ohba

Post on 08-May-2015

4.095 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Social Coding With JRuby

Social Coding

With JRuby

伊藤忠テクノソリューションズ株式会社日本JRubyユーザー会

大場光一郎

2011-11-12;関西Ruby会議04;大阪南港ATC

Page 2: Social Coding With JRuby

Rubyist証明写真

http://www.flickr.com/photos/elana/3145561746/

Page 3: Social Coding With JRuby

@june29

@nari3

@xibbar

@sora_h

@jugyo

@arton

@conceal_rs @nahi

Page 4: Social Coding With JRuby

•JRubyのこと•JRubyの開発•Social Coding with JRuby

Page 5: Social Coding With JRuby
Page 10: Social Coding With JRuby

What is JRuby

• JavaVM上で動作するRuby処理系•高速• Native Threadに対応(GIL無し)• Java Integration• Ruby 1.8とRuby 1.9の構文• Open Source(GPL/LGPL/CPL)

Page 11: Social Coding With JRuby

1.0 1.2 1.4 1.6

2007年 2009年 2009年 2010年

1.8.6 100% compatible--1.9FFI

1.8.7 100% compatibleJava Embedded

GAE/J対応YAML(Yecht)

Rails対応 1.9.2 compatibleWindowsprofilerC ExtMaven

Started in 2002

Page 12: Social Coding With JRuby

require ‘java’

Page 13: Social Coding With JRuby

require ‘ant-1.8.2.jar’=> truejava_import org.apache.tools.ant.Target=> Java::OrgApacheToolsAnt::Targetp Target=> Java::OrgApacheToolsAnt::Targett = Target.new=> #<Java::OrgApacheToolsAnt::Target:0x3fb35ece>

Page 14: Social Coding With JRuby

h = java.util.HashMap.newh.isEmptyh.is_emptyh.is_empty?h.getForNullKeyh.for_null_key

Page 15: Social Coding With JRuby

h.put ‘ujihisa’, ‘married! congrats!’rh = a.to_hash=> {"ujihisa"=>"married! congrats!"}rh.to_java

Page 16: Social Coding With JRuby

java.lang.Thread.new do puts “Thread”end.start

Page 17: Social Coding With JRuby

% jirbirb(main)> JRUBY_VERSION=> “1.6.5”

Page 18: Social Coding With JRuby

Scripting Java

Page 19: Social Coding With JRuby

1.6.5(2010.10.25)

1.7.0-dev

Page 20: Social Coding With JRuby

1.6.5• C Extension (Experimental)• Windows (win32ole, etc...)• Ruby 1.9.2 / 1.8.7• .jrubyrc• Rubygems 1.8.9• Installer (OSX, Win)• RubyGems maven

Page 21: Social Coding With JRuby

both 1.9 and 1.8 are supported

Page 22: Social Coding With JRuby

1.7.0-dev

• Performance• IR• InvokeDynamic (Java SE 1.7u2)•動的最適化(dynopts)

Page 23: Social Coding With JRuby
Page 24: Social Coding With JRuby

gem install redcarredcar install

Page 25: Social Coding With JRuby
Page 26: Social Coding With JRuby
Page 27: Social Coding With JRuby
Page 28: Social Coding With JRuby
Page 29: Social Coding With JRuby

Development of JRuby

Page 30: Social Coding With JRuby

JRuby Ecosystem

bugs.jruby.org

git.jruby.org github.com/jruby

developer

user

jruby-dev

ci.jruby.org

test

#jruby

contributor

Page 31: Social Coding With JRuby

@tom_enebo @headius

@nicksieger @hiro_asari

@nahi subbuss

@yokolet @vsizikov

Page 32: Social Coding With JRuby

Help!

• Ruby1.9モードのバグ報告、パッチ• wiki.jruby.org•ドキュメントの強化•英語/日本語の翻訳•各種ライブラリの開発(特にC拡張)

Page 33: Social Coding With JRuby

JRuby is developed by Java.

Page 34: Social Coding With JRuby
Page 35: Social Coding With JRuby

“Rubyに興味があったのに、Javaで実装するということになって、今ではJavaばかり使っています(笑)”

- Thomas E.Enebo -http://www.atmarkit.co.jp/news/200705/10/jruby.html

Page 37: Social Coding With JRuby
Page 39: Social Coding With JRuby

% git clone git@github../jruby.git% git checkout -b foo_branch...% git add foo% git commit -m “foo bar”% git push origin foo_branch

Page 41: Social Coding With JRuby

Pull Request!!!

Pull request

Page 42: Social Coding With JRuby
Page 44: Social Coding With JRuby

Iʼm a contributor

Page 46: Social Coding With JRuby
Page 47: Social Coding With JRuby

範囲を絞る

Page 48: Social Coding With JRuby

継続

Page 50: Social Coding With JRuby

RubyKaigi2007

最初は、話しかけてT-Shirtもうらうので精一杯

Page 51: Social Coding With JRuby

JRubyKaigi2010

Page 52: Social Coding With JRuby

JRubyKaigi2011

Page 53: Social Coding With JRuby
Page 54: Social Coding With JRuby

“それが「貢献」になるかどうかなどとはまったく関係がなく、 単に利己的な理由によるためだけでも、積極的に関わること

を勧める理由になるだろう。”

高橋征義 - るびま第35号巻頭言http://jp.rubyist.net/magazine/?0035-ForeWord

Page 55: Social Coding With JRuby
Page 56: Social Coding With JRuby
Page 57: Social Coding With JRuby

https://twitter.com/#!/shugomaeda/status/134023660305514496

Page 58: Social Coding With JRuby
Page 59: Social Coding With JRuby

“それが「貢献」になるかどうかなどとはまったく関係がなく、 単に利己的な理由によるためだけでも、積極的に関わること

を勧める理由になるだろう。”

高橋征義 - るびま第35号巻頭言http://jp.rubyist.net/magazine/?0035-ForeWord

Page 61: Social Coding With JRuby

be connected to the world