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
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.6k
mail_viewの一覧表示をハックして使いやすくする
kaede
1
740
Other Decks in Programming
See All in Programming
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
150
CSC307 Lecture 08
javiergs
PRO
0
670
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
300
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
CSC307 Lecture 07
javiergs
PRO
1
560
ぼくの開発環境2026
yuzneri
0
250
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Apache Iceberg V3 and migration to V3
tomtanaka
0
170
atmaCup #23でAIコーディングを活用した話
ml_bear
1
110
Package Management Learnings from Homebrew
mikemcquaid
0
230
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
440
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Amusing Abliteration
ianozsvald
0
110
New Earth Scene 8
popppiees
1
1.5k
The Invisible Side of Design
smashingmag
302
51k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
56
Why Our Code Smells
bkeepers
PRO
340
58k
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠