18年でRubyから学んだこと - 関西Ruby会議 2017

0ec58a040e1e4e959c8566484b4bba19?s=47 Yuichiro MASUI
May 28, 2017
1.7k

18年でRubyから学んだこと - 関西Ruby会議 2017

0ec58a040e1e4e959c8566484b4bba19?s=128

Yuichiro MASUI

May 28, 2017
Tweet

Transcript

  1. 18೥Ͱ Ruby͔ΒֶΜͩ͜ͱ Yuichiro MASUI <masuidrive@toreta.in>

  2. @masuidrive Yuichiro MASUI Toreta, Inc. CTO

  3. ෩࿊άϥϚʔ

  4. ITܳਓ

  5. None
  6. None
  7. None
  8. Rubyྺ 18೥͙Β͍ • ͨͿΜ1999೥͙Β͍͔Β࢖ͬͯΔ • PHP/FI͸1997೥͔Β • ͦͷલ͸Perl, C, C++

  9. Ruby • Ͳ͜Ͱݟ͚ͭͨͷ͔֮͑ͯͳ͍ • ݩʑݴޠεΩʔͰ৭ʑͳݴޠΛࢼ͍ͯͨ͠͸ͣ • ΦϒδΣΫτࢦ޲Λखܰʹ࢖͑Δ • ΠϯλϓϦλͰ৭ʑࢼͤΔ •

    ೔ຊޠͰҰ࣍৘ใ͕͋Δ
  10. method_missing • Ұ൪޷͖ͳϝιου • ͳΜͰ΋ΞϦ • ݪҼෆ໌ͳڍಈͷݩڟ • ιʔεΛ௥͏ͷΛ΄΅ෆՄೳʹ͢Δ •

    ࣍͸ define_method
  11. dRuby • Java / RMIͱ͔ʹϋϚͬͯͨ • ෼ࢄΦϒδΣΫτͱ͔ਥೋతʹ͓͍͍͠ • ιʔείʔυΊͬͪΌ୹͍

  12. ͣʔͬͱϢʔβ • Rubyຊମʹ͸ίϛοτ΋ͤͣ • ϝʔϦϯάϦετ΋1-2ճ࣭໰͚ͨͩ͠ • ίϛϡχςΟʔ׆ಈ΋ͳ͠ • Gem΋Ұݸ͚ͩ

  13. ਺গͳ͍ߩݙ

  14. mruby

  15. 1999೥ • i-mode • PHP, PostgreSQL • ݸਓతʹ͸ FreeBSD >

    Linux • ADSLҎલ (Y! BB͸2001೥)
  16. ౰࣌ͷRubyͷ࢖͍ಓ • ศརͳone liner (awkͷ୅ΘΓͱ͔) • ςΩετ΍CSVԽͨ͠σʔλϕʔεͷલॲཧ • ूܭॲཧ

  17. Rubyຊ

  18. ΦϒδΣΫτࢦ޲ • ΄ͱΜͲRuby͔Β֮͑ͨ • Ϋϥεϕʔε͚ͩͲߴ͍ॊೈੑ • ଟ༷ͳϥΠϒϥϦͱαϯϓϧ

  19. RubyʹڭΘͬͨ͜ͱ • ΠςϨʔλ • Ϋϩʔδϟ • ϝλϓϩάϥϛϯά • Ϣχοτςετ

  20. 2000೥୅લ൒ • PHPͰPukiWiki࡞ͬͯͨ • ىۀͯ͠i-modeͷαΠτߏங • Linux World΍Linux MagazineͰࣥච •

    Ajaxؔ܎ͷهࣄ΍ຊΛࣥච
  21. WindowsͰ΋ؤுͬͯͨ • wxWindowsͱ͔QT࢖ͬͯGUIΞϓϦ࡞Γ • exerb࢖ͬͯύοέʔδϯά • ActiveScript Ruby

  22. Ruby on Rails • 2004/07 - DHH͕ެ։ • 2005೥಄͙Β͍ʹൃݟ •

    ͍͢͝ʂRubyͰWebΞϓϦ͕ΩϨΠʹ࡞ΕΔʂ
  23. 2005೥͔ΒRuby௮͚ • RailsΛࢼͯ͠ • ϒϩάॻ͍ͯ • ࡶࢽʹهࣄΛॻ͘

  24. OSC Hokkaido 2005 • ͨͿΜॳΊͯMatzΛݟͨͷ͸͜ͷ࣌ • جௐߨԋͷ࣭ٙԠ౴ΛӳޠͰ΍͍ͬͯͨ • ӳޠ͠Ό΂ΕΔͷ͸͍͍ͳͱࢥͬͨΒ͍͠

  25. None
  26. None
  27. None
  28. None
  29. RailsConf 2006 • ॳΊͯͷւ֎ • ӳޠྗθϩ • ϦΞϧRuby༑ୡ΋΄΅θϩ

  30. ॳͷւ֎ΧϯϑΝϨϯε • ӳޠ෼͔Βͳ͍͔ΒԿݴͬͯΔ͔෼͔Βͳ͍ • εϥΠυݟΔͱͳΜͱͳ͘෼͔Δ • ࣮͸େͨ͜͠ͱΛݴͬͯͳ͍ʢؾ͕͢Δʣ • Railsษڧձ@౦ژͷํ͕εΰ͘ͳ͍ʁ

  31. ͳΒ౉ถ͠Α͏ • RubyྺͳΒઈରࣗ෼ͷํ͕௕͍ • ͜Ε͘Β͍ͷൃදɺ೔ຊޠͳΒࢲͰ΋ग़དྷΔ • ॅΊ͹ӳޠ͙Β͍Ͱ͖ΔΑ͏ʹͳΔΜ͡Όͳ͍ʁ

  32. ৭ʑ͋ͬͯ2008೥౉ถ • தౡ૱͞ΜͱೋਓͰBig Canvas, Inc.ઃཱ • γΞτϧʹҠॅ • iPhone޲͚ࣸਅڞ༗ΞϓϦPhotoShareΛϦϦʔ ε

  33. None
  34. Seattle.rb • γΞτϧͷRubyίϛϡχςΟ • Nokogiriͷ@tenderlove΍ RubyGemsͷ@drbrain • ຖिΧϑΣͰmeet up •

    ӳޠ෼͔Βͳ͍͚ͲͳΜͱͳ͘ࢀՃ֮ͯ͑ͨ͠
  35. Appcelerator΁స৬ • ஌Γ߹͍ͷ͍ͳ͍ίϛϡχςΟʔͰ׆ಈ͍ͨ͠ • Node.jsͱTitanium Mobile • Titanium MobileʹύονૹͬͨΓνϟοτͰ࿩ ͨ͠͠Γ͍ͯ͠Δ͏ͪʹதͷਓʹ

  36. ӨڹΛड͚ͨਓ

  37. ςΫϊϩδʔʹѪΛᨳ͏ • ࢲͷΦʔϓϯιʔε΁ͷಈػͱ৘೤ͷݯ͸ѪͰ͢
 http://el.jibun.atmarkit.co.jp/rails/2012/10/ruby-matz-7080.html • ͳͥRubyΛѪ͍ͯ͠Δͷ͔ - ͦΕ͸೉͍࣭͠໰ ͩɻ ͳͥԞ͞ΜΛѪ͍ͯ͠Δͷ͔؆୯ʹ͸౴͑Β

    Εͳ͍ΑͶɻ
 http://jp.rubyist.net/RubyKaigi2007/Log0610-S5.html
  38. ϩδΧϧ͡Όͳ͍

  39. Ѫ͸׮༰Ͱ͋ΓɺѪ͸਌੾Ͱ͢ɻ·ͨਓΛͶͨΈ·ͤΜɻ Ѫ͸ࣗຫͤͣɺߴຫʹͳΓ·ͤΜɻྱّʹ൓͢Δ͜ͱΛ ͤͣɺࣗ෼ͷརӹΛٻΊͣɺౖΒͣɺਓͷͨ͠ѱΛࢥΘͣɺ ෆਖ਼Λت͹ͣʹਅཧΛتͼ·͢ɻ͢΂ͯΛ͕·Μ͠ɺ͢ ΂ͯΛ৴͡ɺ͢΂ͯΛظ଴͠ɺ͢΂ͯΛ଱͑೜ͼ·͢ɻ Ѫ͸ܾͯ͠ઈ͑Δ͜ͱ͕͋Γ·ͤΜɻ
 ʢίϦϯτਓ΁ͷखࢴI 13ɿ4ʙ8ʣ

  40. Matz Is
 Nice So We Are Nice

  41. None
  42. Matz͸ετʔϦʔΛ
 ޠΔͷ্͕ख͍

  43. ॳΊͯͷRubyຊମ΁ͷ ߩݙ

  44. mruby • ૊ΈࠐΈ޲͚Ruby • શ͘৽͍࣮͠૷ • RubyConf 2010Ͱฉ͍ͨ • ͔ͦͬΒਐḿΛશવฉ͔ͳ͍

  45. None
  46. ΍Δ͜ͱଟ਺ • ී௨ʹόά͕࢒ͬͯΔ • ίϯύΠϧࡁΈmrubyϑΝΠϧͷϑΥʔϚοτ • ϏϧυγεςϜ • RubyGems૬౰ͷγεςϜ

  47. None
  48. GitHubҎޙͷ։ൃίϛϡχςΟ • ίʔυͷมߋ΍ߩݙ͕ՄࢹԽ͞Εͨ • ίϛϡχέʔγϣϯ͕ߏ଄Խ͞Εͨ • ίϛολͱίϯτϦϏϡʔλ۠ผ͕ബ͘ͳͬͨ

  49. MobiRuby • iOSͷΞϓϦΛRubyͰॻ͚Δ • Cocoa/Objective-CͱmrubyͷϒϦοδ • Titanium MobileͷΞʔΩςΫνϟͷ໰୊Λղফ

  50. None
  51. MobiRubyͷ΋͘ΖΈ

  52. MobiRubyͷ΋͘ΖΈ

  53. Matzʹ͸ͳΕͳ͍

  54. None
  55. None
  56. None
  57. None
  58. None
  59. Ruby͔ΒಘͨϞϊ • ٕज़ऀͱͯ͠ͷ෢ث • ΤϯδχΞϦϯάͷ஌ࣝ • ίϛϡχςΟʔͷखຊ • ଟ͘ͷ༑ਓɾଚܟͰ͖Δਓୡ

  60. Ruby͔ΒಘͨϞϊ ࣠