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
we love heroku
Search
Naoto Koshikawa
March 06, 2012
Programming
2
970
we love heroku
About Rails3.2 on heroku and Twitter Driven Development.
Naoto Koshikawa
March 06, 2012
Tweet
Share
More Decks by Naoto Koshikawa
See All by Naoto Koshikawa
esaにJOINしてからやったこと2017(\( ⁰⊖⁰)/) / sendagayarb year‐end party 2017
ppworks
2
2k
許可を得る前にプルリクしよう/matrk08
ppworks
12
5.2k
Rubyエンジニアの採用戦略/recruiting ruby developers
ppworks
8
3.5k
ホネーマワード紀行
ppworks
1
3.3k
情報共有について 考えていたら 人生を振り返っていた 話
ppworks
0
86
WIP in GeeksNight
ppworks
0
55
Qiita meetup for MoneyForward
ppworks
0
62
おれおれWebサービスの開発~運用
ppworks
0
89
pplog
ppworks
0
56
Other Decks in Programming
See All in Programming
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
220
Pulsar2 を雰囲気で使ってみよう
anoken
0
250
バッチを作らなきゃとなったときに考えること
irof
2
490
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
290
Formの複雑さに立ち向かう
bmthd
1
910
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
Jakarta EE meets AI
ivargrimstad
0
200
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
140
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
340
Datadog Workflow Automation で圧倒的価値提供
showwin
1
100
Rails アプリ地図考 Flush Cut
makicamel
1
130
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
It's Worth the Effort
3n
184
28k
Side Projects
sachag
452
42k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
RailsConf 2023
tenderlove
29
1k
Typedesign – Prime Four
hannesfritz
40
2.5k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Adopting Sorbet at Scale
ufuk
74
9.2k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Transcript
IFSPLVͰ&EHF3BJMT !QQXPSLT XFMPWFIFSPLV։ൃࣄྫ 3BJMT 20123݄6Ր༵
2#, 20123݄6Ր༵
͢͜ͱͬ͘͟Γ wࣗݾհ wXFMPWFIFSPLVͱ wIFSPLVͰ3BJMT wXFMPWFIFSPLVͷ͓ w0QFO(SBQIͷ؆୯ͳ͓ 20123݄6Ր༵
୭ʁ 20123݄6Ր༵
ࣗݾհ 20123݄6Ր༵
!QQXPSLT IUUQQQXPSLTIBUFOBCMPHKQ IUUQqBMB 20123݄6Ր༵
ීஈ w,PTIJLBXB/BPUP wιʔγϟϧܥαʔϏεΛࣗࣾ։ൃ ͍ͯ͠ΔձࣾͰΤϯδχΞͯ͠·͢ɻ 20123݄6Ր༵
͖ͬͯͨ͜ͱ OFX 20123݄6Ր༵
3BJMT&EHFͳʹ ࣮࢝Ί͔ͨΓ 20123݄6Ր༵
ࣄͰ͍ͬͯΔԿ͔ w3VCZ0O3BJMT ॳΊͯ৮ͬͨͷ͕ w"84 IFSPLV wOHJOY VOJDPSO 20123݄6Ր༵
XFMPWFIFSPLVͱ 20123݄6Ր༵
ݸਓαΠτ IUUQXFMPWFIFSPLVBQQDPN 20123݄6Ր༵
%&.0 20123݄6Ր༵
IUUQTUXJUUFSDPNIFSPLVKQTUBUVT 20123݄6Ր༵
IUUQTUXJUUFSDPNQQXPSLTTUBUVT 20123݄6Ր༵
IUUQTUXJUUFSDPNIFSPLVKQTUBUVT 20123݄6Ր༵
IFSPLVͰ3BJTM 20123݄6Ր༵
IFSPLVͬͯʁ 1BB4Ͱ͢ IUUQXXXIFSPLVDPN 20123݄6Ր༵
ৄ͘͠ IUUQXXXTMJEFTIBSFOFUBZVNJOCVJMEJOH TDBMBCMFXFCBQQT σϒαϛͰ)FSPLVͷதͷਓ͕ )FSPLV͏རͱ͔Λઆ໌ͯ͘͠Ε͍ͯ·͢ɻ 20123݄6Ր༵
3BJTM͏ͱ͖ͷ ϙΠϯτ wTUBDLDFEBS wSVCZΛࢦఆ wSBJMTࣗମׂΓͱ͢ΜͳΓೖΔײ 20123݄6Ր༵
TUBDLDFEBS IFSPLVDSFBUFBQQ@OBNFTUBDLDFEBS 20123݄6Ր༵
SVCZ w)FSPLV-BCT w36#:@7&34*0/ఆ wࠓ͑ΔͷɺQ 20123݄6Ր༵
IFSPLVQMVHJOTJOTUBMMIUUQHJUIVCDPNIFSPLVIFSPLV MBCTHJU IFSPLVMBCTFOBCMFVTFS@FOW@DPNQJMF IFSPLVDPOpHBEE36#:@7&34*0/SVCZQ 20123݄6Ր༵
SBJMTׂΓͱ ͢ΜͳΓೖΔײ wUIFSVCZSBDFSཁΒͳ͍ wBTTFUTQSFDPNJMF࣌ͷΤϥʔ DPOpHBQQMJDBUJPOSCʹҎԼ DPOpHBTTFUTJOJUJBMJ[F@PO@QSFDPNQJMFGBMTF 20123݄6Ր༵
ৄ͘͠ NBDΛങͬͯɺࠓ͙͢IFSPLVͰSVCZ SBJMT͠Α͏ʂ IUUQQQXPSLTIBUFOBCMPHKQFOUSZ ͱ͍͏هࣄΛॻ͍ͨͷͰ͝ཡԼ͍͞ɻ 20123݄6Ր༵
XFMPWFIFSPLV ͷ͓ 20123݄6Ր༵
͜ͷͱ͖ͬͨ͜ͱ 20123݄6Ր༵
༷ʁ 20123݄6Ր༵
IUUQTUXJUUFSDPNIFSPLVKQTUBUVT 20123݄6Ր༵
༷ʁ w୭͔͕)FSPLVͰ࡞ͬͨαʔϏεΛొ ͯ͠ wʮΠΠͶʂʯͬͯͰ͖Δ wαʔϏεͱ͔ wΛ࡞ͬͯ͘ΕͨΒ͏Ε͍͠Ͱ͢ 20123݄6Ր༵
ͬͨ͜ͱ wTDB⒎PME wUXJUUFSCPPUTUSBQ IUUQTHJUIVCDPNQQXPSLTXF@MPWF@IFSPLV W͕࣌ͷͷ 20123݄6Ր༵
୭͔͕)FSPLVͰ࡞ͬͨ αʔϏεΛొ SBJMTHTDB⒎PMETJUFTa OBNFTUSJOHa VSMTUSJOHa EFTDSJQUJPOUFYUa DSFBUPSTUSJOHa IBTI@UBHTUSJOH ͜ΕͰɺొग़དྷΔΜ͡ΌͶʁ 20123݄6Ր༵
ਐ w୭͔͕)FSPLVͰ࡞ͬͨαʔϏεΛొ ͯ͠ wʮΠΠͶʂʯͬͯͰ͖Δ wαʔϏεͱ͔ wΛ࡞ͬͯ͘ΕͨΒ͏Ε͍͠Ͱ͢ 20123݄6Ր༵
ʮΠΠͶʂʯͬͯ ग़དྷΔ ͜Εɺஔ͚͍͍Μ͡ΌͶʁ 20123݄6Ր༵
IUUQTEFWFMPQFSTGBDFCPPLDPNEPDT SFGFSFODFQMVHJOTMJLF 20123݄6Ր༵
ਐ w୭͔͕)FSPLVͰ࡞ͬͨαʔϏεΛొ ͯ͠ wʮΠΠͶʂʯͬͯͰ͖Δ wαʔϏεͱ͔ wΛ࡞ͬͯ͘ΕͨΒ͏Ε͍͠Ͱ͢ 20123݄6Ր༵
αʔϏεͱ͔ TDB⒎PMEͷ··͡Όɺͪΐͬͱ αʔϏεײͰͳ͍ 20123݄6Ր༵
ͦ͜Ͱ UXJUUFSCPPUTUSBQ 20123݄6Ր༵
IUUQUXJUUFSHJUIVCDPNCPPUTUSBQ 20123݄6Ր༵
UXJUUFSCPPUTUSBQ ΛSBJMTͰ؆୯ʹʂ HFNUXJUUFSCPPUTUSBQSBJMT 20123݄6Ր༵
KTͱ͔DTTͱ͔ ͷஔ SBJMTHCPPUTUSBQJOTUBMM 20123݄6Ր༵
ϨΠΞτͷ༻ҙ SBJMTHCPPUTUSBQMBZPVU BQQMJDBUJPOqVJE 20123݄6Ր༵
͜ͷลͷखॱ UXJUUFSCPPUTUSBQSBJMTΛͬͨΒ৬͕ݟ͔ͭΓ൴ঁ ग़དྷͯഎηϯν৳ͼ·ͨ͠ɻ IUUQQQXPSLTIBUFOBCMPHKQFOUSZ 20123݄6Ր༵
ਐ w୭͔͕)FSPLVͰ࡞ͬͨαʔϏεΛొ ͯ͠ wʮΠΠͶʂʯͬͯͰ͖Δ wαʔϏεͱ͔ wΛ࡞ͬͯ͘ΕͨΒ͏Ε͍͠Ͱ͢ 20123݄6Ր༵
Λ࡞ͬͯ͘ΕͨΒ ͏Ε͍͠Ͱ͢ ใࠂ͢Ε͍͍ͷͰʁ 20123݄6Ր༵
IUUQTUXJUUFSDPNQQXPSLTTUBUVT 20123݄6Ր༵
IUUQTUXJUUFSDPNIFSPLVKQTUBUVT 20123݄6Ր༵
ਐ w୭͔͕)FSPLVͰ࡞ͬͨαʔϏεΛొ ͯ͠ wʮΠΠͶʂʯͬͯͰ͖Δ wαʔϏεͱ͔ wΛ࡞ͬͯ͘ΕͨΒ͏Ε͍͠Ͱ͢ 20123݄6Ր༵
UXJUUFSۦಈ։ൃ Ͱ͖ͨʔʂ 20123݄6Ր༵
IFSPLVͰԿ͔Λ࡞ͬ ͨΒͪ͜Β IUUQXFMPWFIFSPLVBQQDPN 20123݄6Ր༵
0QFO(SBQI ͷ؆୯ͳ͓ 20123݄6Ր༵
0QFO(SBQI Ҿ༻ݩɿIUUQTEFWFMPQFSTGBDFCPPLDPN EPDTPQFOHSBQI 20123݄6Ր༵
"$5*0/-*,& Ͱಉ͡ࣄ 20123݄6Ր༵
20123݄6Ր༵
0#+&$5ϖʔδ 20123݄6Ր༵
0#+&$5ͷଐੑ IFBEλάʹॻ͘ 20123݄6Ր༵
ͪΐͬͱͨ͠ QBSUJBMͰ༻ҙ͓ͯ͘͠ 20123݄6Ր༵
ϨΠΞτͰZJFMEIFBEͯ͠ ͖ͳॴ͔ΒDPOUFOU@GPSIFBE ͰQBSUJBMΛSFOEFS͢Δ 20123݄6Ր༵
ϙΠϯτ GCBENJOT 20123݄6Ր༵
20123݄6Ր༵
͍͍Ͷʂ͞ΕΔͱ ཧऀʹ௨͞ΕΔ 20123݄6Ր༵
ϖʔδཧऀ༻ͷ 'BDFCPPLϖʔδ͕ग़དྷ্͕Δ 20123݄6Ր༵
͔͜͜Βߘ͢Δͱ 20123݄6Ր༵
ϑΝϯʹγΣΞ 20123݄6Ր༵
͍͍Ͷʂͯ͘͠Εͨ ϑΝϯʹใఏڙ͕ ग़དྷΔ 20123݄6Ր༵
UXJUUFS࿈ܞ ͓ͯ͘͠ͱߋʹ 20123݄6Ր༵
ศརͰ͢Ͷ 20123݄6Ր༵
Ҏ্ 20123݄6Ր༵
Ͱ୭ͳΜ͚ͩͬʁ 20123݄6Ր༵
!QQXPSLT IUUQQQXPSLTIBUFOBCMPHKQ IUUQqBMB 20123݄6Ր༵
͋Γ͕ͱ͏͍͟͝·ͨ͠ 20123݄6Ր༵