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
61k
クラシルの地味な裏側
okutaku0507
0
2.6k
思いつきでgemを作ると後悔する話
okutaku0507
0
250
急激に成長するクラシルと組織を Ruby on Railsでどう支えるか
okutaku0507
2
820
Railsを使って最短1日でAMPに対応する
okutaku0507
0
1.4k
Railsでキャッシュをいい感じに分散して期限切れを軽減する
okutaku0507
0
1.2k
Other Decks in Programming
See All in Programming
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
みんなでプロポーザルを書いてみた
yuriko1211
0
280
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
970
受け取る人から提供する人になるということ
little_rubyist
0
250
Arm移行タイムアタック
qnighy
0
330
Jakarta EE meets AI
ivargrimstad
0
600
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
Quine, Polyglot, 良いコード
qnighy
4
650
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
Ethereum_.pdf
nekomatu
0
460
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Speed Design
sergeychernyshev
25
620
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Optimizing for Happiness
mojombo
376
70k
Side Projects
sachag
452
42k
Thoughts on Productivity
jonyablonski
67
4.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Code Reviewing Like a Champion
maltzj
520
39k
Embracing the Ebb and Flow
colly
84
4.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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
͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ