Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The World of Ruby
Search
Akira Matsuda
September 28, 2015
Programming
8
1.8k
The World of Ruby
プログラマーのための「Rubyの世界」の発表スライド
http://forkwell.connpass.com/event/20332/
Akira Matsuda
September 28, 2015
Tweet
Share
More Decks by Akira Matsuda
See All by Akira Matsuda
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
14
6.1k
Hanamiを支える技術 2023 / Asakusa.rb Hanami 2023
a_matsuda
2
650
Rails 7.1をn倍速くした話
a_matsuda
11
12k
RubyKaigi 2022 After Talk
a_matsuda
0
450
Coming Soon…💎 / coming soon
a_matsuda
12
8k
Rails Performance Issues and Solutions
a_matsuda
9
36k
Extending Rails for Real World App Development
a_matsuda
9
7.6k
A RubyKaigi Talk
a_matsuda
8
2.5k
Ginza Rails 1
a_matsuda
6
1.2k
Other Decks in Programming
See All in Programming
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
2
390
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
730
State of Namespace
tagomoris
4
760
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
630
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
160
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
2.6k
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
890
5年間継続して開発した自作OSSの記録
bebeji_nappa
0
170
API for docs
soutaro
1
660
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
840
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
6
900
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
110
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Gamification - CAS2011
davidbonilla
81
5.2k
KATA
mclloyd
29
14k
Automating Front-end Workflow
addyosmani
1369
200k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Making Projects Easy
brettharned
116
6.1k
Adopting Sorbet at Scale
ufuk
76
9.3k
Producing Creativity
orderedlist
PRO
344
40k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fireside Chat
paigeccino
37
3.4k
Transcript
Rubyͷੈք @a_matsuda
self
GitHub: amatsuda
Twitter: a_matsuda
Rubyίϛολʔ
Railsίϛολʔ
Railsίϛολʔ •ຊͰ͚ࣗͩ
Rubyίϛολʔ && Railsίϛολʔ •ੈքதͰ2ʙ3ਓ͙Β͍
Asakusa.rb
RubyKaigi 2015 •νʔϑɾΦʔΨφΠβʔ
͖ͳϝιου •Module#prepend
͖ͳFZ •Freak Out!
3લͷσϒαϛʹͯ
begin
1. Rubyฤ
ΦϒδΣΫτࢦεΫϦϓτ ݴޠRuby
Rubyͷ࡞ऀ •Matz
Matz •·ͭͱΏ͖ͻΖ
Matzʹ͍ͭͯ •Matz is nice.
Rubyͷઃܭ •७ਮͳΦϒδΣΫτࢦݴޠ •εΫϦϓτݴޠ •։ൃऀʹͱͬͯಡΈ͍͢ʗ ॻ͖͍͢
Rubyͷݩωλ •Ruby = Lisp + Smalltalk + Perl + C
•(RubyKaigi 2013 جௐߨԋΑΓ)
Rubyͷྺ࢙ •19932݄14
Rubyͷ։ൃମ੍ •ྺίϛολʔͷ૯ਓ 80ਓ͙Β͍ʁ •ࠓͰΞΫςΟϒͳͷ50 ਓ͙Β͍ʁ
ϑϧλΠϜίϛολʔ •ੈքதͰ3໊
ύτϩϯ •Heroku (= SalesForce)
Rubyͷʑͷվྑͷ͔ͳΓͷ෦ ถSFࣾͷࢧԉͷ͓͔͛Ͱ͢
SalesForce͋Γ͕ͱ͏ɺͱ ݴΘ͟ΔΛಘͳ͍ •ʮࠃ࢈ݴޠʯʁ
RubyͷϦϦʔεαΠΫϧ •2.0Ҏ߱ɺຖ1ճΫϦεϚ ε͝ΖʹػցతʹϦϦʔε͢ Δ͜ͱʹͨ͠
Rubyͷࠓޙͷ ϦϦʔεϓϥϯ •2015ΫϦεϚε: 2.3.0 •2016ΫϦεϚε: 2.4.0 •2017ΫϦεϚε: 2.5.0 •ɾɾɾ •20XXΫϦεϚε:
3.0.0
Rubyist •MatzࣗʹΑΔޠ
Rubyist •“rubyʹରͯ͠୯ͳΔ͓٬͞ ΜҎ্ͷؾ࣋Λ͍࣋ͬͯΔਓ ͕rubyistͰ͢” http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/ 2908
Rubyist Magazine •௨শΔͼ· •Rubyist Hotlinksͱ͍͏ ΠϯλϏϡʔ͕͓͢͢Ί http://magazine.rubyist.net/?0001-Hotlinks
Rubyist-ist •RubyistѪՈͷ͜ͱ •ϛʔϋʔ
RubyKaigi •ʹ1͙Β͍ੈքதͷRubyist ͕Ұಊʹձ͢ΔࠃࡍΧϯϑΝ Ϩϯε •ࠓ12݄ʹ։࠵ http://rubykaigi.org/2015
2. Railsฤ
Railsͷ࡞ऀ •DHH
DHH •David Heinemeier Hansson
Railsͷઃܭࢥ •CoC •DRY
Railsͷྺ࢙ •2004͙Β͍ʹެ։։࢝
Railsͷ։ൃମ੍ •https://github.com/orgs/ rails/teams/committers •ͨͿΜ32ਓ͙Β͍
RailsͷϦϦʔεαΠΫϧ •ෆఆظ •͍͍͍͍ͩͨײ͡ʹ৽ػೳ͕ ग़ἧ͖ͬͯͯػ͕ख़͖ͯͨ͠ Βग़͢
RailsͷࠓޙͷϦϦʔεϓϥϯ •5.0: Fall 2015 (͍ͬͯ͏͜ͱ ʹͳͬͯΔ͚ͲͨͿΜग़ͳ ͍…)
3. Why Ruby?
Ruby ❤ Social Coding
ιʔγϟϧɾίʔσΟϯά (GitHub) •։ൃऀಉ͕࢜ιʔείʔυΛ ͛߹ͬͯίϛϡχέʔγϣ ϯΛऔΓ߹͏SNS
Ruby •։ൃऀʹͱͬͯಡΈ͍͢ݴ ޠ
Ruby ❤ Social Coding
RubyGems & Bundler ͱ͍͏ ༏ΕͨύοέʔδγεςϜ •ϥΠϒϥϦඦՖ៶ཚͷ࣌ʹ ඞਢͷΈ
৽͍͠ͷͨͪRuby ίϛϡχςΟ͔Βͬͯ͘Δ •CoCϑϨʔϜϫʔΫ •Ajax •BDD •CI •Asset Pipeline •etcetc.
ύϥμΠϜͷసʹ ಉ࣌ʹཱͪձ͑Δָ͠Έ
RubyίϛϡχςΟ
MINASWAN •"Matz is Nice And So We Are Nice" https://en.wikipedia.org/wiki/MINASWAN
*.rb •Seattle.rb 2001͙Β͍ʙ •Asakusa.rb 2008ʙ
࠷ۙͷটߨԋཤྺ •2012/12/07 RubyConf Taiwan •2013/06/08 RedDot RubyConf •2013/07/20 LoneStar RubyConf
•2013/09/28 RubyShift •2014/03/23 RubyConf India •2014/09/27 Rails Pacific •2014/11/04 Rails Israel •2015/03/05 Ruby on Ales •2015/03/09 MountainWest RubyConf •2015/05/16 Modern Web Taiwan
4. RailsͱࣄͱOSS
OSSΛࣄͰ͏ͱ ָ͕Ͱ͖Δʂʁ
OSSΛࣄͰ͏ •ڊਓͷݞʹΔ
ೲͷେ෦୭͔಄ͷ ྑ͍ਓ͕ॻ͍ͯ͘Εͨͷ
ڊਓͷݞʹΔ •νʔτ
͏·͘Εָ͕Ͱ͖Δ
OSSΛࣄͰ͏֮ޛ •͕ࣗબΜͩOSSΞϓϦ έʔγϣϯͷҰ෦
͕ࣗॻ͍ͨΞϓϦέʔγϣ ϯͱOSSͷڥք
͕ࣗॻ͍ͨΞϓϦέʔγϣ ϯͱOSSͷڥք •ڥքͳΜͯͳ͍
ଞਓͷόάΛҾ͖ड͚Δ֮ ޛ •ސ٬ʹର͢Δ࣮͞
શ෦ΦʔϓϯͳͷͰݴ͍༁ Ͱ͖ͳ͍ •ࣗͰબΜͩͷࣗͰ Λ࣋ͭ
͡Ό͋Ͳ͏͢Δʁ •ιʔείʔυશ෦Λ௨͢ ͷ͕ཧ •ͤΊ͕ͯࣗ౿Μͩόά ͙Β͍࣏͢
ʮOSSʹߩݙʯ •ͦΜͳཱͳͷ͡Όͳͯ͘ •ΰϛ͕མͪͯͨΒर͏Έ͍ͨ ͳΜ
ؾ͕͍ͭͨΒதͷͻͱʹͳͬ ͯͨΓ͢Δ
OSSͷόʔδϣϯ
ʮރΕͨόʔδϣϯʯ ͳΜͯແ͍
όάηΩϡϦςΟϗʔϧ શͯΦʔϓϯ
ৗʹ࠷৽ͷͷΛ͏ •Ξοϓσʔτͷίετͬ͠ ͔Γ͏ •͍ͭͰΞοϓσʔτͰ͖Δ Α͏ʹE2EςετΛ͔ͬ͠Γ ॻ͍͓ͯ͘
ৗʹ࠷৽ͷͷΛ͏تͼ •ʑͷ৽ػೳ •ύϑΥʔϚϯεͷ্
ϑϨογϡͳόά͕౿ΊΔ ָ͠Έ
5. Rubyͷา͖ํ
Ұ࣍ใΛݟΔ
RailsͳΒવӳޠͷͷ͔͠ ͳ͍
WEB+DB 58߸ͱ74߸Λআ͘ (DVDങ͑·͢)
RubyίΞ෦ʹؔ͢ΔҰ࣍ใ͕ ຊޠͰखʹೖΔ།ҰͷϓϥοτϑΥʔϜ
Δͼ·
RubyKaigi 2015
ҬRubyձٞ •େߐށRubyձٞ05 Γ·͢
Asakusa.rb
ॻ੶
Rails Tutorials
12݄ͷRubyKaigi
νέοτ2ສʙ3ສ •Rubyʹؔ͢Δੈք࠷ߴๆͷ ࠃࡍΧϯϑΝϨϯεʹඈߦػ ʹΒͳͯ͘ࢀՃͰ͖Δ •εϐʔΧʔʹͳΕλμ
12݄ͷRubyKaigiʹདྷͯͶ
end