Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[初心者向け]RSpecで武者修行
Search
kaede_kuroda
November 26, 2017
Programming
0
59
[初心者向け]RSpecで武者修行
RSpecを業務の中で沢山書いて得た知見を共有します。
書き始めのコツや、頻繁に利用するパターンなどを纏めました。
初心者〜中級者向けの内容となっております。
kaede_kuroda
November 26, 2017
Tweet
Share
More Decks by kaede_kuroda
See All by kaede_kuroda
ActiveRecordのスコープ調整に試行錯誤した
kaede
0
1.5k
mail_viewの一覧表示をハックして使いやすくする
kaede
1
740
Other Decks in Programming
See All in Programming
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
120
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
320
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
630
配送計画の均等化機能を提供する取り組みについて(⽩⾦鉱業 Meetup Vol.21@六本⽊(数理最適化編))
izu_nori
0
150
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
200
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
100
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
310
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
430
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Agile that works and the tools we love
rasmusluckow
331
21k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Side Projects
sachag
455
43k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
What's in a price? How to price your products and services
michaelherold
246
12k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Transcript
34QFDͰऀमߦ
2 Fablic, inc. Software Engineer ࠇాɹ෨ kaede-kuroda ࣗݾհ ओʹαʔόʔαΠυͷ։ൃΛ୲ ্݄०ʹδϣΠϯ
3 ϑϦϧ '3*- ʮཉ͍͠ʯ͕Έ͔ͭΔϑϦϚΞϓϦ
4 ࠓͷ͓ͳ͠ 34QFDΛࢁॻ͍ͯಘͨݟ ✖
5 ࠓͷ͓ͳ͠ ݩʑ34QFDʹۤखҙ͕ࣝ͋ͬͨ ɹɾΑ͔͘Βͳ͍͔͔࣌ؒΔ ɹɾػೳ࣮͕༏ઌʹͳΓ͕ͪ ɹɹʢͰͨ·ʹॻ͘ͱԸܙΛड͚Δ͜ͱʣ
6 ࠓͷ͓ͳ͠ ݩʑ34QFDʹۤखҙ͕ࣝ͋ͬͨ ɹʻςετࢁॻ͖·͠ΐ͏ʂ ্࢘
7 ࠓͷ͓ͳ͠ ॻͧ͘Υʂ Ͳ͏ͬͯʁʁ
8 ࠓͷ͓ͳ͠ '3*-Ͱ࣮ࡍʹಈ͍͍ͯΔػೳͷ ςετΧόϨοδΛʹ͢Δʂ ɾͱʹ͔͘ࢁςετΛॻ͍ͨ ɾ͍͠෦ͲΜͲΜڭ͑ͯΒͬͨ ͦΜͳ͜ΜͳͰ̍िؒޙɾɾɾ
9 ࠓͷ͓ͳ͠ ͋Δఔॻ͚Δ༷ʹͳͬͨʂ ɾύλʔϯ͕Θ͔Δ༷ʹͳͬͨ ɾॻ͕࣌ؒ͘େ෯ʹॖ͞Εͨ ɾ಄๊͑Δࣄ͕ݮͬͨ ۤखҙ͍ࣝͩͿݮͬͨʂ ֪ΛଧͪഁΔͻΑ͜ͷਤ
ͦͷதͰಘͨ5JQT͔Β ར༻ස͕ߴ͍ͷΛڞ༗ 10
11 ຊͷ͓ॻ͖ ɾ֮͑ͯศརͳ5JQTू ɾٙʹࢥͬͯௐͨࣄ ɾྫ֎ͷςετ ɾΞΫηε͠ʹ͍͘ϝιουͷςετ
֮͑ͯศརͳ5JQTू 12
13 ֮͑ͯศརͳ5JQTू 34QFDͰಛఆͷߦ͚ͩΛςετ͢Δ ςετͷमਖ਼ͯ͠Δ࣌ͳͲ શ෦࣮ߦ͢Δͱ͔͔࣌ؒΔ࣌ʹศར CVOEMFFYFDSTQFDQBUIUPUFTU@TQFDSC
14 ֮͑ͯศརͳ5JQTू ΦϒδΣΫτͷଐੑΛవΊͯνΣοΫ͢Δ FYQFDU DPOUBDU UPIBWF@BUUSJCVUFT GJSTUOBNFb+BOF ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹMBTUOBNFb4NJUI
ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹOBNF+BOF4NJUI FYQFDU DPOUBDUGJSTUOBNF UPFRb+BOF FYQFDU DPOUBDUMBTUOBNF UPFR`4NJUI` FYQFDU DPOUBDUOBNF UPFR`+BOF4NJUI
15 ֮͑ͯศརͳ5JQTू ςετΛαΫαΫॻ͖࢝ΊΔํ๏ EFTDSJCFbςετͷର`EP ɹDPOUFYUb݅ʢೖྗ͕̋ͳͱ͖ʣ`EP ɹɹJUb݁ՌʢUSVF͕ฦΔʣ`EP ɹɹFOE ɹFOE FOE தΛॻ͔ͳ͍Ͱςετ͍ͨ͠༰ΛฒΔ
ʢ಄͕ർΕͳָͯ͘ʣ
16 ֮͑ͯศརͳ5JQTू ςετΛαΫαΫॻ͖࢝ΊΔํ๏ EFTDSJCFbςετͷର`EP ɹDPOUFYUb݅ʢೖྗ͕̋ͳͱ͖ʣ`EP ɹɹJUb݁ՌʢUSVF͕ฦΔʣ`EP ɹɹFOE ɹFOE ɹDPOUFYUb݅ʢೖྗ͕ʷͳͱ͖ʣ`EP ɹɹJUb݁ՌʢGBMTF͕ฦΔʣ`EP
ɹɹFOE ɹFOE FOE
17 ֮͑ͯศརͳ5JQTू ͦͦԿΛςετͯ͠ྑ͍͔͔Βͳ͍߹ Ϟσϧͷςετ ֤ϝιου͕ظ௨ΓͷΛฦ͔͢ ֤ϝιου͕ʢ%#֎෦ग़ྗʹରͯ͠ʣظ௨Γͷಈ࡞Λ͍ͯ͠Δ͔ όϦσʔγϣϯ͕ਖ਼͘͠ઃఆ͞Ε͍ͯΔ͔ ίϯτϩʔϥʔͷςετ ֤ΞΫγϣϯ͕Ϗϡʔʹ͕͢ਖ਼͍͔͠ ΞΫγϣϯ͕ظ௨ΓͷεςʔλείʔυΛฦ͔͢
ΞΫγϣϯ͕ظ௨ΓͷςϯϓϨʔτΛબ͍ͯ͠Δ͔ Ϗϡʔͷςετ ༩͑ΒΕͨ݅ʹԠͨ͡ද͕ࣔ͞Ε͍ͯΔ͔ʢϩάΠϯঢ়ଶୀձͳͲʣ ɹɹɹɹɹɹɹɹɹɹɹɹɹ<ࢀߟɿύʔϑΣΫτ3VCZPO3BJMT>
18 ֮͑ͯศརͳ5JQTू ॻ͍ͨޙʹߟ͑Δࣄ ɾ4VCKFDUͰవΊΒΕΔॴ͕ແ͍͔ʁ ɾJT@FYQFDUFEͰίϯύΫτʹͰ͖ͳ͍͔ʁ ʢແཧʹ͏ඞཁͳ͍ʣ
19 ֮͑ͯศརͳ5JQTू ॻ͍ͨޙʹߟ͑Δࣄ ɹTVCKFDU\)PHFJT@OVNCFS OVNCFS ^ DPOUFYUOVNCFS͕ͷจࣈྻͷͱ͖EP MFU OVNCFS \^
JU\JT@FYQFDUFEUPFR^ FOE ɹDPOUFYUOVNCFS͕จࣈྻͷͱ͖EP MFU OVNCFS \bB`^ JU\JT@FYQFDUFEUPCF@OJM^ FOE
ٙʹࢥͬͯௐͨࣄ 20
21 ֮͑ͯศརͳ5JQTू UPCFʙUPFRʙɹϚονϟͷ͍͚ CFΠϯελϯεΛൺֱ FRΛൺֱ
22 ֮͑ͯศརͳ5JQTू UPCFʙUPFRʙɹϚονϟͷ͍͚ CFΛ͏߹ ɹશʹಉ͡ΠϯελϯεΛൺֱ ɹUSVFGBMTFͳͲΛൺֱ FRΛ͏߹ ɹͦΕҎ֎
23 ֮͑ͯศརͳ5JQTू JT@FYQFDUFE4VCKFDUɹͷҧ͍ ௐͨΒதJT@FYQFDUFEͷத TVCKFDUͩͬͨ EFGJT@FYQFDUFE FYQFDU TVCKFDU FOE
ྫ֎ͷςετ 24
25 ֮͑ͯศརͳ5JQTू ྫ֎ͷςετ ɾϝιου͕ྫ֎Λग़͢͜ͱΛݕূ ɾϝιουͰྫ֎͕ൃੜͨ͠߹ͷڍಈΛݕূ
26 ֮͑ͯศརͳ5JQTू ϝιου͕ྫ֎Λग़͢͜ͱΛݕূ FYQFDU\TVCKFDU^UPSBJTF@FSSPS 3VOUJNF&SSPS SBJTF͢Δͱجຊతʹ3VOUJNF&SSPS͔ͩΒ ͍ͭ͜ΕͬͯΔ
27 ֮͑ͯศརͳ5JQTू ϝιουͰྫ֎͕ൃੜͨ͠߹ͷڍಈΛݕূ DPOUFYUྫ֎͕ൃੜͨ͠߹EP CFGPSFEP BMMPX 6TFS UPSFDFJWF GJOE BOE@SBJTF
3VOUJNF&SSPS FOE JUGBMTF͕ฦ٫͞ΕΔEP FYQFDU ςετ UPCFGBMTF FOE FOE ϞοΫΛ͓͏ʂ
28 ֮͑ͯศརͳ5JQTू Ͳ͜ͰϑοΫ͢Δ͔దʹߟ͑Δ ͍͍ײ͡ͷॴ͕ͳ͔ͬͨ߹ GJOEͷݕࡧ෦ͰҾֻͬΔࣄ͕ଟ͍ ͦͷ߹Τϥʔ3VOUJNF&SSPSͰͳ͘ "DUJWF3FDPSE3FDPSE/PU'PVOEΛࢦఆ͢Δ
ΞΫηε͠ʹ͍͘ ϝιουͷςετ 29
30 ֮͑ͯศརͳ5JQTू 1SJWBUFϝιουΛςετ͢Δํ๏ TFOEϝιουΛ͏ʂ FYQFDU )PHFTFOE GVHB@NFUIPE UPFR
31 ֮͑ͯศརͳ5JQTू NPEVMFͷςετ τοϓϨϕϧͰJODMVEF͢Δͷμϝʂ 3VCZ্Ͱଘࡏ͢Δͯ͢ͷΦϒδΣΫτ ͱ͔zBzͱ͔ ʹϝιουΛੜ͢͜ͱʹͳΔ SFRVJSFSBJMT@IFMQFS JODMVEF)PHFGVHBμϝͳྫ
32 ֮͑ͯศརͳ5JQTू NPEVMFͷςετ EFTDSJCFGVHBGVHBEP MFU IPHF \4USVDUOFX IPHF \JODMVEFIPHFIPHF^^ dলུd
IPHFNFUIPE bUFTU ࢀߟ 3BJMTͷDPODFSOTͳNPEVMFͷςετΛSTQFDͰॻ͘ํ๏ IUUQTRJJUBDPNUR@KBQQZJUFNTFECGB
33 ֮͑ͯศརͳ5JQTू NPEVMFͷςετ ɺ͢ͰʹରͷNPEVMFΛݺͼग़͍ͯ͠Δ Ϋϥε͕͋ΕͦΕΛ͏ DMBTT)PHF"DUJWF3FDPSE#BTF JODMVEF'VHB FOE 3TQFD
)PHF.FUIPE@JO@'VHB
·ͱΊ 34
35 ·ͱΊ ςετॻ͘ͱ͖ʹΜͩ͜ͱ େମύλʔϯΛ֮͑ͯղܾͰ͖ͨ ͋ͱԿΛςετ͢Δ͔Λҙࣝͨ͠
36 ·ͱΊ ໎͏࣌ؒΛݮΒ͢ίπ ɹҙਤ͞Ε͍ͨํΛ͢Δ ɹʢԿΛςετ͢Δ͖ͳͷ͔ҙࣝ͢Δʣ ɹύλʔϯΛ֮͑Εා͘ͳ͍ ɹʢେମಉ͡ύλʔϯͰ͍͚Δɻكʹมͳͷ͕͋Δʣ ɹಓےΛཱͯͯਂ͘ߟ͑ͣαΫαΫॻ͖ग़͢ ɹʢ༨༟͕͋Ε%3:ʹ͢Ε͍͍ͱࢥ͏ʣ
ࢀߟʹͳΕ͍Ͱ͢ʂ 37
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠