http://regional.rubykaigi.org/kansai2017/
18ͰRuby͔ΒֶΜͩ͜ͱYuichiro MASUI
View Slide
@masuidriveYuichiro MASUIToreta, Inc. CTO
෩࿊άϥϚʔ
ITܳਓ
Rubyྺ 18͙Β͍• ͨͿΜ1999͙Β͍͔ΒͬͯΔ• PHP/FI1997͔Β• ͦͷલPerl, C, C++
Ruby• Ͳ͜Ͱݟ͚ͭͨͷ͔֮͑ͯͳ͍• ݩʑݴޠεΩʔͰ৭ʑͳݴޠΛࢼ͍ͯͨͣ͠• ΦϒδΣΫτࢦΛखܰʹ͑Δ• ΠϯλϓϦλͰ৭ʑࢼͤΔ• ຊޠͰҰ࣍ใ͕͋Δ
method_missing• Ұ൪͖ͳϝιου• ͳΜͰΞϦ• ݪҼෆ໌ͳڍಈͷݩڟ• ιʔεΛ͏ͷΛ΄΅ෆՄೳʹ͢Δ• ࣍ define_method
dRuby• Java / RMIͱ͔ʹϋϚͬͯͨ• ࢄΦϒδΣΫτͱ͔ਥೋతʹ͓͍͍͠• ιʔείʔυΊͬͪΌ͍
ͣʔͬͱϢʔβ• Rubyຊମʹίϛοτͤͣ• ϝʔϦϯάϦετ1-2ճ࣭͚ͨͩ͠• ίϛϡχςΟʔ׆ಈͳ͠• GemҰݸ͚ͩ
গͳ͍ߩݙ
mruby
1999• i-mode• PHP, PostgreSQL• ݸਓతʹ FreeBSD > Linux• ADSLҎલ (Y! BB2001)
࣌ͷRubyͷ͍ಓ• ศརͳone liner (awkͷΘΓͱ͔)• ςΩετCSVԽͨ͠σʔλϕʔεͷલॲཧ• ूܭॲཧ
Rubyຊ
ΦϒδΣΫτࢦ• ΄ͱΜͲRuby͔Β֮͑ͨ• Ϋϥεϕʔε͚ͩͲߴ͍ॊೈੑ• ଟ༷ͳϥΠϒϥϦͱαϯϓϧ
RubyʹڭΘͬͨ͜ͱ• ΠςϨʔλ• Ϋϩʔδϟ• ϝλϓϩάϥϛϯά• Ϣχοτςετ
2000લ• PHPͰPukiWiki࡞ͬͯͨ• ىۀͯ͠i-modeͷαΠτߏங• Linux WorldLinux MagazineͰࣥච• AjaxؔͷهࣄຊΛࣥච
WindowsͰؤுͬͯͨ• wxWindowsͱ͔QTͬͯGUIΞϓϦ࡞Γ• exerbͬͯύοέʔδϯά• ActiveScript Ruby
Ruby on Rails• 2004/07 - DHH͕ެ։• 2005಄͙Β͍ʹൃݟ• ͍͢͝ʂRubyͰWebΞϓϦ͕ΩϨΠʹ࡞ΕΔʂ
2005͔ΒRuby௮͚• RailsΛࢼͯ͠• ϒϩάॻ͍ͯ• ࡶࢽʹهࣄΛॻ͘
OSC Hokkaido 2005• ͨͿΜॳΊͯMatzΛݟͨͷ͜ͷ࣌• جௐߨԋͷ࣭ٙԠΛӳޠͰ͍ͬͯͨ• ӳޠ͠ΌΕΔͷ͍͍ͳͱࢥͬͨΒ͍͠
RailsConf 2006• ॳΊͯͷւ֎• ӳޠྗθϩ• ϦΞϧRuby༑ୡ΄΅θϩ
ॳͷւ֎ΧϯϑΝϨϯε• ӳޠ͔Βͳ͍͔ΒԿݴͬͯΔ͔͔Βͳ͍• εϥΠυݟΔͱͳΜͱͳ͔͘Δ• ࣮େͨ͜͠ͱΛݴͬͯͳ͍ʢؾ͕͢Δʣ• Railsษڧձ@౦ژͷํ͕εΰ͘ͳ͍ʁ
ͳΒถ͠Α͏• RubyྺͳΒઈରࣗͷํ͕͍• ͜Ε͘Β͍ͷൃදɺຊޠͳΒࢲͰग़དྷΔ• ॅΊӳޠ͙Β͍Ͱ͖ΔΑ͏ʹͳΔΜ͡Όͳ͍ʁ
৭ʑ͋ͬͯ2008ถ• தౡ૱͞ΜͱೋਓͰBig Canvas, Inc.ઃཱ• γΞτϧʹҠॅ• iPhone͚ࣸਅڞ༗ΞϓϦPhotoShareΛϦϦʔε
Seattle.rb• γΞτϧͷRubyίϛϡχςΟ• Nokogiriͷ@tenderlove RubyGemsͷ@drbrain• ຖिΧϑΣͰmeet up• ӳޠ͔Βͳ͍͚ͲͳΜͱͳ͘ࢀՃ֮ͯ͑ͨ͠
Appceleratorస৬• Γ߹͍ͷ͍ͳ͍ίϛϡχςΟʔͰ׆ಈ͍ͨ͠• Node.jsͱTitanium Mobile• Titanium MobileʹύονૹͬͨΓνϟοτͰͨ͠͠Γ͍ͯ͠Δ͏ͪʹதͷਓʹ
ӨڹΛड͚ͨਓ
ςΫϊϩδʔʹѪΛᨳ͏• ࢲͷΦʔϓϯιʔεͷಈػͱͷݯѪͰ͢ http://el.jibun.atmarkit.co.jp/rails/2012/10/ruby-matz-7080.html• ͳͥRubyΛѪ͍ͯ͠Δͷ͔ - ͦΕ͍࣭ͩ͠ɻ ͳͥԞ͞ΜΛѪ͍ͯ͠Δͷ͔؆୯ʹ͑ΒΕͳ͍ΑͶɻ http://jp.rubyist.net/RubyKaigi2007/Log0610-S5.html
ϩδΧϧ͡Όͳ͍
Ѫ༰Ͱ͋ΓɺѪͰ͢ɻ·ͨਓΛͶͨΈ·ͤΜɻѪࣗຫͤͣɺߴຫʹͳΓ·ͤΜɻྱّʹ͢Δ͜ͱΛͤͣɺࣗͷརӹΛٻΊͣɺౖΒͣɺਓͷͨ͠ѱΛࢥΘͣɺෆਖ਼ΛتͣʹਅཧΛتͼ·͢ɻͯ͢Λ͕·Μ͠ɺͯ͢Λ৴͡ɺͯ͢Λظ͠ɺͯ͢Λ͑ͼ·͢ɻѪܾͯ͠ઈ͑Δ͜ͱ͕͋Γ·ͤΜɻ ʢίϦϯτਓͷखࢴI 13ɿ4ʙ8ʣ
MatzIs NiceSoWeAreNice
MatzετʔϦʔΛ ޠΔͷ্͕ख͍
ॳΊͯͷRubyຊମͷߩݙ
mruby• ΈࠐΈ͚Ruby• શ͘৽͍࣮͠• RubyConf 2010Ͱฉ͍ͨ• ͔ͦͬΒਐḿΛશવฉ͔ͳ͍
Δ͜ͱଟ• ී௨ʹόά͕ͬͯΔ• ίϯύΠϧࡁΈmrubyϑΝΠϧͷϑΥʔϚοτ• ϏϧυγεςϜ• RubyGems૬ͷγεςϜ
GitHubҎޙͷ։ൃίϛϡχςΟ• ίʔυͷมߋߩݙ͕ՄࢹԽ͞Εͨ• ίϛϡχέʔγϣϯ͕ߏԽ͞Εͨ• ίϛολͱίϯτϦϏϡʔλ۠ผ͕ബ͘ͳͬͨ
MobiRuby• iOSͷΞϓϦΛRubyͰॻ͚Δ• Cocoa/Objective-CͱmrubyͷϒϦοδ• Titanium MobileͷΞʔΩςΫνϟͷΛղফ
MobiRubyͷ͘ΖΈ
MatzʹͳΕͳ͍
Ruby͔ΒಘͨϞϊ• ٕज़ऀͱͯ͠ͷث• ΤϯδχΞϦϯάͷࣝ• ίϛϡχςΟʔͷखຊ• ଟ͘ͷ༑ਓɾଚܟͰ͖Δਓୡ
Ruby͔ΒಘͨϞϊ࣠