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
38
18k
32個のPRでリリースした依存度の高いコアなモデルの安全な弄り方
shoheimitani
8
5.9k
本番環境の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
640
RailsとDBのトランザクション処理
shoheimitani
0
220
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
Faster Mobile Websites
deanohume
296
30k
StorybookのUI Testing Handbookを読んだ
zakiyama
10
4.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
29
6k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Happy Clients
brianwarren
91
6.4k
Optimizing for Happiness
mojombo
369
69k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
Building Applications with DynamoDB
mza
88
5.6k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠