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
15
6.4k
Hanamiを支える技術 2023 / Asakusa.rb Hanami 2023
a_matsuda
2
680
Rails 7.1をn倍速くした話
a_matsuda
11
13k
RubyKaigi 2022 After Talk
a_matsuda
0
470
Coming Soon…💎 / coming soon
a_matsuda
12
8.1k
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.6k
Ginza Rails 1
a_matsuda
6
1.3k
Other Decks in Programming
See All in Programming
CQRS/ESのクラスとシステムフロー ~ RailsでフルスクラッチでCQRSESを組んで みたことから得た学び~
suzukimar
0
200
Doma で目指す ORM 最適解
nakamura_to
1
160
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
10
2.6k
Use Perl as Better Shell Script
karupanerura
0
660
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
110
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
630
技術的負債と戦略的に戦わざるを得ない場合のオブザーバビリティ活用術 / Leveraging Observability When Strategically Dealing with Technical Debt
yoshiyoshifujii
0
160
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
0
260
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.6k
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
180
Interface vs Types ~型推論が過多推論~
hirokiomote
1
240
TypeScript LSP の今までとこれから
quramy
0
140
Featured
See All Featured
Become a Pro
speakerdeck
PRO
28
5.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
Speed Design
sergeychernyshev
30
970
Typedesign – Prime Four
hannesfritz
41
2.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
A Tale of Four Properties
chriscoyier
159
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
Statistics for Hackers
jakevdp
799
220k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
850
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
890
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
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