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
クラシルのwebサイトをちょっとした改善で100倍速にした話
Search
Takuya Okuhara
June 24, 2017
Programming
5
3.2k
クラシルのwebサイトをちょっとした改善で100倍速にした話
2017-06-22 Rails Developers Meetup #2
Takuya Okuhara
June 24, 2017
Tweet
Share
More Decks by Takuya Okuhara
See All by Takuya Okuhara
プロダクトマネージャーの時代はもう始まっている
okutaku0507
5
19k
実践!リーンなプロダクト開発
okutaku0507
26
60k
クラシルの地味な裏側
okutaku0507
0
2.5k
思いつきでgemを作ると後悔する話
okutaku0507
0
250
急激に成長するクラシルと組織を Ruby on Railsでどう支えるか
okutaku0507
2
800
Railsを使って最短1日でAMPに対応する
okutaku0507
0
1.4k
Railsでキャッシュをいい感じに分散して期限切れを軽減する
okutaku0507
0
1.1k
Other Decks in Programming
See All in Programming
The Shape of a Service Object
inem
0
520
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
290
RAGの回答精度評価用のQAデータセットを生成AIに作らせた話
kurahara
0
250
Go1.23で入った errorsパッケージの小さなアプデ
kuro_kurorrr
2
390
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
140
REXML改善のその後
naitoh
0
190
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
490
Prolog入門
qnighy
4
1k
Pythonで改めて考える「クラス(class)」の使いどころ
os1ma
1
470
The Sequel to a Dream of Ruby Parser's Grammar
ydah
1
220
XStateでReactに秩序を与えたい
gizm000
0
730
Featured
See All Featured
Optimizing for Happiness
mojombo
375
69k
Debugging Ruby Performance
tmm1
72
12k
Principles of Awesome APIs and How to Build Them.
keavy
125
16k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Code Review Best Practice
trishagee
62
16k
Teambox: Starting and Learning
jrom
131
8.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
47
48k
It's Worth the Effort
3n
182
27k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
401
65k
In The Pink: A Labor of Love
frogandcode
139
22k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Transcript
ΫϥγϧͷXFCαΠτΛͪΐͬͱͨ͠ վળͰഒʹͨ͠ Ԟݪ
⿏ΞδΣϯμ ɾࣗݾհ ɾEFMZͱʁΫϥγϧͱʁ ɾΫϥγϧʹ͓͚Δදࣔվળ ɾ࠷ޙʹ
⿏ࣗݾհ Α͘͏ΞΠίϯ ɾPLVUBLV ɾ3BJMTྺఔ େֶੜ͔Β ɾେֶӃͰੜԽֶઐ߈ தୀ ɾEFMZࡢʹδϣΠϯ
ɾ͖ͳྉཧ͏ͲΜ ɾٳΞΠεΧϑΣϥς୳͠ ɾೣ
⿏ϓϩάϥϛϯάΛ࢝Ί͖͔͚ͨͬ ͜͜ͰΞϧόΠτͯ͠·ͨ͠ʂ
⿏ϓϩάϥϛϯάΛ࢝Ί͖͔͚ͨͬ
⿏ֶੜ࣌ ɾϑοταϧͷίϛϡχςΟɾϚονϯάαʔϏε ɾϩʔϯν͔Βप ɾొϢʔβʔ ໊ಥഁ Πϯλʔωοτָ͍͠
⿏EFMZͱ ɾϏδϣϯʮ#&5)&46/ʯ ɾࣾһ໊ ɾϨγϐಈըαʔϏεLVSBTIJSV ɾ͝൧৯์
⿏LVSBTIJSVͱ ɾ4/4ϑΝϯສਓ ɾ݄ؒ࠶ੜԯճ ɾJ04ΞϓϦϨϏϡʔ ɹ⭐⭐⭐⭐⭐ ݅ ɾ"OESPJEΞϓϦϨϏϡʔ ɹ⭐⭐⭐⭐⭐
݅
ʮΫϥγϧΞϓϦ͕͍͢͝Ͱ͢Ͷʯ
ͪΐͬɺɺɺ
ΫϥγϧͷXFCؤுͬͯ·͢
⿏XFCͷදࣔվળ݁Ռ ɾදࣔͷվળ ɹTFDTFD ഒ λΠτϧ͔ͳΓͬͯɺ͢Έ·ͤΜ' ɾ1BHF4QFFE*OTJHIUT ˞ը૾දࣔྃ࣌ʹܭଌ
⿏ࣄͷൃ ʢAʣŇP0ᄾݺ
⿏औΓΜͩࣄ ɾΩϟογϡͷಋೖ ɾը૾ͷ࠷దԽ ɾෆཁͳDTTKBWBTDSJQUͷഉআ ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹͨΓલͳ͜ͱ͕Ͱ͖ͯͳ͔ͬͨɹʻ ʉ:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:ʉ
⿏Ωϟογϡͷಋೖ ɾϘτϧωοΫͲ͜ʹ͋Δͷ͔ʁ XFCʹϩάΠϯػೳ͕ͳ͍ શͯͷϢʔβʔ͕ಉ͡ϖʔδΛӾཡ ߋ৽සগͳ͍ ͦͷʹಉ͡42-͕Δ
⿏Ωϟογϡͷಋೖ ɾ3BJMTͰͷΩϟογϡ ɹ⿏ϖʔδΩϟογϡഇࢭ ɹ⿏ΞΫγϣϯΩϟογϡഇࢭ ɹ⿏ϑϥάϝϯτΩϟογϡ ɾίϯϙʔωϯτ͝ͱʹظݶΛࢦఆͯ͠ΩϟογϡͰ͖Δ ɾϏϡʔͷϩδοΫͷϑϥάϝϯτΛΩϟογϡϒϩοΫ ɹͰϥοϓ͢Δ͚ͩͰ͑Δ
⿏Ωϟογϡͷಋೖ ɾར༻ྫ #FGPSFNT 7JFXTNTc"DUJWF3FDPSENT "GUFSNT 7JFXTNTc"DUJWF3FDPSENT 7JFXͰͷ"DUJWF3FDPSEԆධՁͳͷͰɺ͜ΕͰ0,
⿏Ωϟογϡͷಋೖ ɾίʔυΛಡΜͰΈΑ͏ʂ ཁɺLFZWBMVF͕͋ͬͨΒಡΈɺͳ͔ͬͨΒॻ͘
⿏Ωϟογϡͷಋೖ ɾதʁ 4USJOHͷΦϒδΣΫτ͕֨ೲ͞Ε͍ͯΔ
⿏Ωϟογϡͷಋೖ ɾߋ৽͍ͨ͠߹ʁ Ͱ͖Δ͚ͩ͘Ωϟογϡ͍͚ͤͨ͞Ͳɺߋ৽͍ͨ͠ ಛఆͷϑϥά͕͋ΔͱΩϟογϡΛߋ৽͢ΔΈ όονͰճ͢
⿏ը૾ͷѹॖ ɾ5JOZ1/(͕͓͢͢Ί
⿏ը૾ͷѹॖ ɾσβΠφʔ͔ΒόφʔΛ͕͋ͬͯ͘Δɺɺɺɺ Ͳ͕ͬͪը࣭͕͍͍ͱࢥ͍·͔͢ʁ)
⿏ը૾ͷѹॖ ɾύϯμͷҖྗ ,# ,# ͷѹॖʹޭʂ
⿏ը૾ͷѹॖ ɾࣗલͰѹॖ ɾ༻ྫ QOHRVBOUTQFFERVBMJUZCBDLHSPVOEQOH ɾRVBMJUZΛࢦఆͰ͖ΔͷͰศར ɾ͜ΕΛTZTUFNͱ͔Ͱୟ͚͍͍͔ CSFXJOTUBMMKQFHPQUJN CSFXJOTUBMMQOHRVBOU
⿏ը૾ͷ࠷దԽ ɾσόΠεʹ࠷దͳαΠζΛબ΅͏ খ ,# த ,# େ ,# શ෦Ұ൪େ͖͍αΠζΛݺΜͰͨ
⿏ը૾ͷ࠷దԽ ɾσόΠεʹ࠷దͳαΠζΛબ΅͏ খ ,# த ,# େ ,# 1$ .PCJMF
ߴ͔Ζ͏ɺΑ͔Ζ͏Ͱͳ͍ ͨΓલ
⿏ෆཁͳ֎෦ϑΝΠϧΛഉআ ɾද֨ ͜Εͱ͔ ؔऀ͍Βͬ͠ΌͬͨΒ͢Έ·ͤΜɺɺɺ ͜ΕΛΊͬͪΌSFOEFS͢Δͱ͔Γ͕ͪɺɺɺ
⿏XFCͷදࣔվળ݁Ռ ɾදࣔͷվળ ɹTFDTFD ഒ ɾ1BHF4QFFE*OTJHIUT
⿏XFCαʔόʔͷνϡʔχϯά ɾςοΫϒϩάߋ৽ʂ IUUQUFDIEFMZKQFOUSZ ΩϟογϡΛಋೖ͢Δ͜ͱͰ%#ͷෛՙ͕ݮ ΑΓଟ͘ͷϦΫΤετΛࡹ͚ΔΑ͏ʹ ͋ͨΓɺສਓಉ࣌ଓ༨༟
⿏ΩϟογϡΛ͍͍ײ͡ʹ͢ΔHFN ɾNJMMBT ϛϠε IUUQRJJUBDPNPLVUBLVJUFNTBCBF ྑ͍ײ͡ʹΩϟογϡΛࢄ͍͚ͤͨ͞ͲɺΩϟογϡ Ε͍͗ͨ͠ɺͰ͖Δָ͚ͩΛ͍ͨ͠ ৄࡉ2JJUBͰʂ
8FSFIJSJOH
͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ