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
RSpec基礎
Search
ShoheiMitani
September 29, 2020
0
220
RSpec基礎
nikotama.rb #12のLT資料
ShoheiMitani
September 29, 2020
Tweet
Share
More Decks by ShoheiMitani
See All by ShoheiMitani
孤独のCTOグルメという やや奇抜な企画をやった目的と効果
shoheimitani
3
1.1k
VISAカードの裏側と “手が掛かる” 決済システムの育て方
shoheimitani
39
18k
32個のPRでリリースした依存度の高いコアなモデルの安全な弄り方
shoheimitani
8
6k
本番環境のRailsでYJITをONにしてみた結果
shoheimitani
0
110
7つの入金外部サービスと連携して分かった実践的な”状態管理”設計パターン3選
shoheimitani
5
4.7k
監視を通じたサービスの逐次的進化 ~B/43の決済サービスでの取り組み~ / Kaigi on Rails 2021
shoheimitani
1
1.9k
安全なリリースに向けた技術的アプローチ
shoheimitani
1
380
決済システムのトランザクション管理方法
shoheimitani
2
650
RailsとDBのトランザクション処理
shoheimitani
0
220
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
GitHub's CSS Performance
jonrohan
1025
450k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
21
1.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
How to train your dragon (web standard)
notwaldorf
75
5.2k
RailsConf 2023
tenderlove
9
570
Agile that works and the tools we love
rasmusluckow
325
20k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Web Components: a chance to create the future
zenorocha
306
41k
Transcript
݄!OJLPUBNBSC 34QFDجૅ OJLPUBNBSC34QFDγϦʔζୈஈ
ࣗݾհ w 3VCZ3BJMTྺ͘Β͍ w 4*FS'BCMJDָఱ'JOUFDIϕϯνϟʔ w ࠷ۙཧը໘ͰϑϩϯτΤϯυ৮ͬͯΔ ʢ3FBDU 5ZQF4DSJQUʣ
ࡾ୩ণฏ !TIPIFJ
ࠓͷൃද༰ w લճͷʮ࣮ફ34QFD ʯͰΓ্͕ͬͨ༰ͷਂ۷Γ w NPDL͏͖ʁTIBSFE@FYBNQMFT@GPS͏͖ʁTQFDͷதͰ MPPQͬͯྑ͍ʁ w IUUQTTQFBLFSEFDLDPNLJTTIZTIJKJBOSTQFDBUOJLPUBNB
EPUSCOVNCFS TMJEF w ࣗͷߟ͑ w ඞཁҎ্ʹෳࡶԽͤ͞ͳ͍ൣғͰέʔεόΠέʔεͰ͍͚Εྑ͍ IUUQTTQFBLFSEFDLDPNLJTTIZTIJKJBOSTQFDBUOJLPUBNBEPUSCOVNCFS
ࠓͷൃද༰ w ඞཁҎ্ʹෳࡶԽͤ͞ͳ͍ൣғ w ඞཁेͷఆ͕ٛΘ͔Βͳ͍ w ෳࡶԽͷई͕ਓʹΑͬͯ·ͪ·ͪ w έʔεόΠέʔε w
ͬͯྑ͍ѱ͍ͷஅج४͋Δͷ͔ʁ w ࠓͷϝΠϯςʔϚ w 34QFDͷجૅతͳ෦Λ͑ͭͭ w ͕ࣗաڈʹݟ͖ͯͨ34QFDͷ۩ମྫΛհ w ͦΕͧΕͷ1SPT$POTΛσΟεΧογϣϯ͍ͨ͠
34QFDͷલʹςετʹ͍ͭͯͷ
.645 ςετΛॻ͘ϨϏϡʔ͢Δ࣌ʹؾΛ͚Δ͜ͱ w ͕ࣗॻ͍ͨίʔυʹෆ͕҆ͳ͘ͳΔ·ͰςετΛॻ͘ w ݅ذϧʔϓ֎෦Ϋϥεॲཧʜ w ΧόϨοδͳͲͷࢦඪෆ҆ΛऔΓআ͘πʔϧ͕ͩա৴ې w ࠷ݶͷςετίʔυͷϦϑΝΫλϦϯά·Ͱணख
w ॏෳͨ͠ςετͷআෆཁʹͳͬͨςετͷআ w ςετίʔυকདྷͷυΩϡϝϯτʹͳΔͷͰϊΠζΛ࠷ݶͳ͘͢ w ෆ҆ఆͳςετίʔυͷमਖ਼ w UJNFDPQܥ w PSEFSະࢦఆ
#&55&3 ςετΛॻ͘ϨϏϡʔ͢Δ࣌ʹؾΛ͚Δ͜ͱ w ΑΓॲཧ݁Ռʹूதͨ͠ςετΛॻ͘ w NPDLΛۃྗഉআ͢Δ w ՄಡੑΛҙࣝͨ͠ςετίʔυΛॻ͘ w EFTDSJCFDPOUFYUJUTIBSFE@FYBNQMFT@GPSͷ͍ํ
w TVCKFDUΛۃྗഉআ w কདྷͷมߋʢϦϑΝΫλϦϯάʣʹରͯ͠։͔ΕͨςετΛॻ͘ w ෳࡶͳςετέʔείϝϯτΛ͢ w ςετϑΝΠϧͷ໋໊نଇΛઃ͚Δ w ࣮ߦΛҙࣝͨ͠ςετίʔυΛॻ͘ w ॳظσʔλͷ४උํ๏ CFGPSF BMM CFGPSF FBDI MFUMFU w ςετͷׂ୯Ґ DPOUFYU
34QFDͷػೳͱ͍͚ IUUQTSFMJTIBQQDPNSTQFDSTQFDDPSFWEPDT
EFTDSJCFDPOUFYUJU w EFTDSJCF w FYBNQMFHSPVQ ෳͷςετέʔε Λએݴ͢Δ%4- w DPOUFYU w
ذॲཧॲཧલఏͳͲɺςετͷจ຺ Λએݴ͢Δ%4- w JU w ݸผͷςετέʔεΛએݴ͢Δ%4-
DPOUFYUͷ͚ํ Α͋͘Δྫͷհ w ଟ͘ͷέʔεͰςετ͍ͨ͠ذຖʹ DPOUFYUΛ͚ͯॻ͘ਓ͕ଟ͍ͱࢥ͏ w ಉ݁͡ՌͱͳΔՕॴΛςετ͢Δ߹ γϯϓϧʹۉׂͯ͠͠·͏ͱςετ ίʔυ͕͘ͳΓ͕ͪͰɺ TIBSFE@FYBNQMFT@GPSͷΑ͏ͳ%3:
ͳॻ͖ํΛͨ͠Γ͢Δ
DPOUFYUͷ͚ํ TIBSFE@FYBNQMFT@GPSΛΘͣ%3:ʹ
ॲཧॱͱείʔϓΛཧղ͢Δ MFUMFUCFGPSF ͓֮͑ͯ͘͜ͱ ɾجຊMFUΛ༻͠ɺෆཁʹσʔλ͕࡞ΒΕΔ͜ͱΛආ͚Δ ɾࣄલॲཧείʔϓΛҙࣝͯ͠CFGPSFΛ͏ ɾඞཁͳ߹ͷΈMFUΛ͏
MFUMFUCFGPSF #"%$"4&4 w MFUΑΓMFUΛ͏ w ࣄલ࣮ߦ͞Εͯ͠·͏ͷͰɺม͕ෆཁͳJUͰ࣮ߦ ͞Εͯ͠·͏ w CFGPSFదͳείʔϓͰ͏ w
MFUͱಉ༷ͷཧ༝ w ॲཧ༰ʹΑͬͯCFGPSF BMM ͱ͢Δ͜ͱͰݺͼग़͠Λճ ͚ͩʹ͢Δ͜ͱ͕Ͱ͖Δ
TVCKFDU
TVCKFDU w TVCKFDUςετରΛݻఆԽͤ͞Δ্Ͱศར͕ͩʜ w ςετέʔε͕ଟ͘ͳΔʹͭΕɺԿΛςετ͍ͯ͠Δ ͷ͔Θ͔Γʹ͘͘ͳΔ w ߦ͕ଟ͘ͳΔͱɺಉ͡ςετൣғͱೝࣝ͢Δज़͕Π ϯσϯτʹͳͬͯ͘ΔͷͰਏ͍ w
͏߹ʹMFUͷ໋໊نଇDPOUFYUͷઆ໌จΛͬ͠ ͔Γॻ͍ͨํ͕ϨϏϡʔ͍͢͠
TVCKFDU w ͦͷTVCKFDUɺຊʹඞཁʁ w γϯϓϧͳॲཧͳΒTVCKFDU͕ͳ͍ํ͕ݟ͍͢ w ݟ͍͢ϙΠϯτ w ݸʑͷDPOUFYUΛݟΔ͚ͩͰςετରͷϝιου ड͚͍ͯ͠Δม͕ཧղՄೳ
TVCKFDU w ͦͷTVCKFDUɺຊʹඞཁʁ w ୭ͰཧղͰ͖ΔൣғͷϩδοΫͳ ΒɺMPPQॲཧΛςετͰॻ͍ͯྑ ͍ w ˡͷDBTFͷΑ͏ʹɺ34QFDͷग़ྗʹ ۩ମతͳςετέʔεΛॻ͖ɺࣦഊ
ͨ͠߹ͷςετՕॴΛݟ͘͢͢ Δඞཁ w σόοάϙΠϯτΛஔ͍ͯͷσόοά ͕Γʹ͍͘ͷͰɺέʔε͕ଟ͘ ͳͬͨΓॲཧ͕ෳࡶͳ߹ʹΘ ͳ͍Α͏ʹ͢Δ
TIBSFE@FYBNQMFT@GPSͷ׆༻ྫ IUUQTZTLQSPIBUFOBCMPHDPNFOUSZSFQMBDF@DPOTUSVDUPS@XJUI@GBDUPSZ@NFUIPE͔Βഈआ
TIBSFE@FYBNQMFT@GPSͷ׆༻ྫ IUUQTZTLQSPIBUFOBCMPHDPNFOUSZSFQMBDF@DPOTUSVDUPS@XJUI@GBDUPSZ@NFUIPE͔Βഈआ
DIBOHF IUUQTTQFBLFSEFDLDPNLJTTIZTIJKJBOSTQFDBUOJLPUBNBEPUSCOVNCFS TMJEF͔Βഈआ
DIBOHF IUUQTTQFBLFSEFDLDPNLJTTIZTIJKJBOSTQFDBUOJLPUBNBEPUSCOVNCFS TMJEF͔Βഈआ w NPDLศར͕ͩ͏໘Λߟ͑ Δ w جຊతʹςετϝιουͷ݁Ռͷ ݕূʹूத͢Δ w
෦ॲཧΛςετ͢Δͷɺ֎෦α ʔϏεΛར༻͍ͯ͠ΔͰϝιου ͷ݁Ռ͕ݕূͰ͖ͳ͍߹ w QVTI௨ϝʔϧ͕ૹΒΕ͔ͨ
GBDUPSZ@CPU w ςετͷࣄલσʔλΛCFGPSFͰ४උ͢ Δͱ w ςετίʔυ͕͘ͳΓɺϨϏϡʔ͕ ਏ͘ͳΔ w .PEFMͷςετ$POUSPMMFSͷςε τͰಉ͡ςετσʔλΛ४උ͢Δඞཁ
͕͋Γ w TIBSFE@DPOUFYUผϑΝΠϧ͔Βಡ Έ͍ͨͱ͖ʹIFMQFSԽ͢ΔͳͲਏ͍
GBDUPSZ@CPU w ςετͷຊےʹؔͳ͍લॲཧ%3:ʹ͠ ͯߦͬͨํ͕ςετ͕ॻ͖͍͢ಡΈ ͍͢ w TIBSFE@DPOUFYUΑΓผͷςετͰ࠶ར ༻͘͢͠ɺͲ͜ʹॻ͍ͯ͋Δͷ͔ GBDUPSZ@CPUͷൣғͳͷͰཧղ͍͢͠
͓·͚ ଞʹศརͳ34QFDͷ͍ํ w )FMQFSNFUIPET w IUUQTSFMJTIBQQDPNSTQFDSTQFDDPSFWEPDTIFMQFSNFUIPET BSCJUSBSZIFMQFSNFUIPET w 'JMUFST w
IUUQTSFMJTIBQQDPNSTQFDSTQFDDPSFWEPDTIPPLTpMUFST w 7$3 w IUUQTHJUIVCDPNWDSWDS
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠