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
shiraki hirotomo
September 14, 2018
Programming
0
760
RSpec概論
RSpecを触る前に僕が知っておきたかったこと
shiraki hirotomo
September 14, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
Basic Architectures
denyspoltorak
0
670
2026年 エンジニアリング自己学習法
yumechi
0
130
ぼくの開発環境2026
yuzneri
0
230
Architectural Extensions
denyspoltorak
0
290
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
240
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
570
Package Management Learnings from Homebrew
mikemcquaid
0
220
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.2k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
280
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
54
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
92
Accessibility Awareness
sabderemane
0
51
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
So, you think you're a good person
axbom
PRO
2
1.9k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Done Done
chrislema
186
16k
Automating Front-end Workflow
addyosmani
1371
200k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
270
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
360
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
Transcript
34QFD֓ कΓ͍͢ςετίʔυͷϧʔϧ5*14
ΞδΣϯμ ࣗݾհ 34QFD֓ཁ جຊػೳ ޙʑࠔΓ͕ͪͳΞϯνϚφʔ
ςετ࣌ؒΛ͘͢Δ ·ͱΊʙ͜ͷ͚̎ͭͩकΕ͖ͬͱʙ
͡Ίʹ ʮςετॻ͍ͨ͜ͱͳ͍ʂʯ ʮςετௐ͚ͨͲɺͬͨ͜ͱͳ͍ʂʯ ʮςετॻ͍ͯΈ͚ͨͲͬ͘͠Γ͖ͯͳ͍ʂʯ Λ͛ͨͷͰɺίʔυΑΓ͕ଟΊͰ͢ɻ
ࣗݾհ ໊લɿന๎ ձࣾɿגࣜձࣾϕʔγοΫʢ৽ଔ̏ʣ ͞ΘͬͯΔ͜ͱɿ3BJMT "84 RJJUBͱ͔UXJUUFSͱ͔ͷ*%ɿOBNJUPQ झຯɿϑΥʔτφΠτ
ࣗݾհ ࣗͷࣝͷཧͱ 34QFDʹ͍ͭͯΒͳ͍ൃݟ͕͋Εͱࢥ͍ ࠓճͷษڧձͷ༰ʹ͠·ͨ͠ɻ
͜Ε͔Βઆ໌͢Δ͜ͱɺ ͜Μͳײ͡ͷڥͷਓ͕͖ͬͯͨ3TQFDͳͷͰ ͔ͨ͠͠Βઌೖ؍͕͋Δ͔͠Εͳ͍ͷͰɺ ͲΜͳαʔϏεʹؔΘ͖͔ͬͯͨͷઆ໌
ձࣾͰ͖ͬͯͨ͜ͱ &$αΠτͷཧαΠτʢ෦ʣ࡞Γม͑ ϝσΟΞαΠτอकӡ༻ ࢿྉٻαΠτ৽ن ӳձڭࣨݕࡧαΠτ৽ن ࢿྉٻαΠτอकӡ༻
ձࣾͰ͖ͬͯͨ͜ͱ ͲΕ
ձࣾͰ͖ͬͯͨ͜ͱ ̍ඵͰམͪͨΒαʔϏε͕Γཱͨͳ͍ɾɾɾ
ձࣾͰ͖ͬͯͨ͜ͱ ͱ͔Ͱͳ͍ɻ
ձࣾͰ͖ͬͯͨ͜ͱ ͲΜͲΜػೳͷՃɾमਖ਼ͱ͔͍͢͠ڥ
ձࣾͰ͖ͬͯͨ͜ͱ ͦΜͳڥͰςετίʔυΛॻ͍͖ͯ·ͨ͠
ҙ ԿΛςετ͢Ε͍͍ͷ͔ ͲΕ͘Β͍ςετ͢Ε͍͍ͷ͔ͱ͔ʹ ʮઈର͜ΕʯΈ͍ͨͳͷ͕ͳ͍
ҙ 34QFDͷϧʔϧʹ͍ͭͯߟ͑ͨ͜ͱΛ આ໌͍͖ͯ͠·͕͢ Ұ൪ྑ͍ϧʔϧ نͱ͔αʔϏεՔಇͱ͔Λ౿·͑ͯ νʔϜϝϯόʔͱ૬ஊܾͯ͠ΊΔͷ͕ϕετ
34QFD֓ཁ " lςετzͷछྨ # ̎େςετϑϨʔϜϫʔΫ
"lςετzͷछྨ 2"ςετ σΟϨΫλʔςετ ։ൃςετ
ͦΕͧΕׂ͕ҧ͏
ʮͲΕ͙Β͍ςετ͢Ε͍͍ͷʁʯ
͜ΕΛߟ͑ΔͨΊʹ͓͓͑ͯ͘͞
2"ςετ 2VBMJUZ"TTVSBODFʢ࣭อূʣ αʔϏε࣭Λอূʢόάɺૢ࡞ײʣ ˎ࡞ۀޮԽͷͨΊɺ͜͜Ͱ34QFDͬͯΔձࣾ ͋ΔΒ͍͠
σΟϨΫλʔςετ JTTVF௨Γʹ࣮͞Ε͍ͯΔ͔νΣοΫ ˎόάΛཏతʹνΣοΫ͢ΔΑ͏ͳׂͰͳ͍
։ൃςετ ։ൃऀ͕։ൃ͍ͨ͢͠Ίʹߦ͏ςετ ˎࣗ͜ͷύʔτͰΑ͘34QFD͖ͬͯ·ͨ͠
̏ͭͷςετ ͜ΕΒ̏ͭͷςετͷॅΈ͚͕େࣄ ԿΛ34QFDͰ୲อ͢Δͷ͔
։ൃςετʹ͓͚Δ34QFD ୲อ͢Δͷ શϖʔδɺਖ਼ৗʹΞΫηεͰ͖Δ͔ શϝιουɺશΞΫγϣϯʹςετΛߦ͏ ى͜Γ͑ͳ͍ೖྗΛ༧ͯ͠ςετ
։ൃςετʹ͓͚Δ34QFD ୲อ͢Δͷ શϖʔδɺਖ਼ৗʹΞΫηεͰ͖Δ͔ શϝιουɺશΞΫγϣϯʹςετΛߦ͏ ى͜Γ͑ͳ͍ೖྗΛ༧ͯ͠ςετ ͠·ͤΜ
։ൃςετʹ͓͚Δ34QFD ओʹҎԼೋͭΛ୲อ͢Δ ϛε͕ى͜Γ͕ͪͳϩδοΫ ϏδωεతʹಛʹॏཁͳϩδοΫ
։ൃςετʹ͓͚Δ34QFD ϛε͕ى͜Γ͕ͪͳϩδοΫ ෳࡶͳϩδοΫ αʔϏεͷ͍ൣғͰΘΕ͍ͯΔϩδοΫ
։ൃςετʹ͓͚Δ34QFD ϏδωεతʹಛʹॏཁͳϩδοΫ ٻؔ $7ϑϩʔ
։ൃςετʹ͓͚Δ34QFD 5*14୲อ͢ΔͷΛߜΔ
#̎େςετϑϨʔϜϫʔΫ NJOJUFTU 34QFD
γϯϓϧ ϐϡΞ3VCZ ଟػೳ υΩϡϝϯτ෩ NJOJUFTU 3TQFD
NJOJUFTU 3TQFD
NJOJUFTUͱ34QFD NJOJUFTUγϯϓϧ͕͞ਓؾ 34QFDߴػೳͳͷͰਓؾ ϑϨʔϜϫʔΫʹΑΔͷҧ͍ߟ͑ͳ͍͍ͯ͘ 3TQFDͷ΄͏͕ຊޠͷهࣄ͕ଟ͍ͷͰ͓͢͢Ί
جຊػೳ ̏ͭͷTQFDͷׂʢNPEFM DPOUSPMMFS SFRVFTUʣ JUͱFYQFDU EFTDSJCFͱDPOUFYU GBDUPSZ USBJU TUVC
ͪͳΈʹ υΩϡϝϯτ͜͜ IUUQSTQFDJOGPEPDVNFOUBUJPOSTQFDSBJMT
"̏ͭͷTQFDͷׂ NPEFMTQFD Ϟσϧͷϝιου୯ҐͰͷςετ ϞσϧͷόϦσʔγϣϯςετ DPOUSPMMFSTQFD ඇਪ BDUJPOͷΠϯελϯεมͷΛςετ ࢦఆͷVSMɺҙਤ͢ΔSFTQPOTFʹͳ͍ͬͯΔ͔ςετ SFRVFTUTQFD
ࢦఆͷVSMɺҙਤ͢ΔSFTQPOTFʹͳ͍ͬͯΔ͔ςετ
DPOUSPMMFSTQFDඇਪ IUUQSTQFDJOGPCMPHSTQFDIBTCFFOSFMFBTFE SBJMTTVQQPSUGPSSBJMT SFRVFTUTQFDͰɺίϯτϩʔϥͷͭͷΞΫγϣϯʹूதͰ͖· ͕͢ɺίϯτϩʔϥςετͱҟͳΓɺϧʔλɺϛυϧΣΞελο ΫɺϥοΫͷϦΫΤετͱϨεϙϯεͷ྆ํ͕ඞཁͰ͢ɻ͜Εɺ ͋ͳ͕ͨॻ͍͍ͯΔςετʹݱ࣮ײΛ༩͑ɺDPOUSPMMFSTQFDʹڞ ௨͢Δଟ͘ͷΛճආ͢Δͷʹཱͪ·͢ɻ ެࣜ༁
NPEFMTQFDͱSFRVFTUTQFD ͍͚ NPEFMTQFDσʔλΛςετ͢Δ SFRVFTUTQFDݟͨΛςετ͢Δ
FYZBNBEBͰදࣔͯ͠Δ͔ςετ
NPEFMTQFDσʔλΛ ਖ਼͍͠ͰΦϒδΣΫτੜͰ͖Δ͔ IFMMPϝιου͕ػೳ͍ͯ͠Δ͔ʁ ͳͲ
SFRVFTUTQFDݟͨΛ ZBNBEBʹΞΫηεͰ͖Δ͔ ϖʔδཁૉʹzZBNBEBͰ͢ɻzͱ͍͏ ςΩετ͕ଘࡏ͢Δ͔ ͳͲ
TQFDΛॻ͘લͷԼ४උ ςετ͍͢͠.7$ʹ͢Δ ϝιουͷҾฦΓͷܕΛἧ͑Δ WJFXͰมͷఆٛͨ͠Γ࠶ೖͨ͠Γ͠ͳ͍ ΊͬͪΌWJFXʹذ͕ॻ͍ͯ͋ΔͷΛΊΔ
"̏ͭͷTQFDͷׂ 5*14DPOUSPMMFSTQFDΘͳ͍ 5*14NPEFMTQFDͰσʔλͷऔಘɾܗΛςετ 5*14SFRVFTUTQFDͰσʔλͷදࣔΛςετ
#JUͱFYQFDU
None
None
None
None
$DPOUFYUͱEFTDSJCF
None
None
None
None
EFTDSJCF DPOUFYU JU EFTDSJCFɿϝιου୯ҐͳͲͷ·ͱ·ΓͰғΉ DPOUFYUɿ߹͚ͰғΉ JUɿ࠷খ୯ҐͰғΉ
EFTDSJCF DPOUFYU JU 5*14 EFTDSJCF DPOUFYU JUΛͬͯυΩϡϝϯτ෩ʹॻ͘
ͪͳΈʹ
ͲͬͪͰPL ˎ͜ͷ߹DPOUFYUͷ΄͏͕͍͍͚ͲΤϥʔͱ͔ʹͳΒͳ͍
ߦࢦఆ࣮ͯ͠ߦ ASTQFDϑΝΠϧ໊ߦ൪߸AͰ࣮ߦ
%CFGPSFͱMFU
None
JUΛ؆ܿʹ͢ΔͨΊʹ
None
None
MFUͱMFU
MFUͱMFU w MFUԆධՁɻʢJUͰݺͳ͍ͱ࣮ߦ͞Εͳ͍ʣ w MFU֤JU͝ͱͷ࣮ߦલʹධՁɻCFGPSFͱҰॹ
None
None
MFUͱCFGPSFͷ͍͚ JUͰࢀর͢Δ͔Ͳ͏͔ MFUͷ߹ɺJUͰࢀর͢Δ CFGPSFͷ߹ɺJUͰࢀর͠ͳ͍
%CFGPSFͱMFU 5*14CFGPSF MFUͰJUΛγϯϓϧʹ 5*14CFGPSFͰࢀর͠ͳ͍Ϩίʔυͱ͔Λࣄલ४උ 5*14MFUͰJUͰࢀর͢ΔΛࣄલ४උ
%GBDUPSZ
%GBDUPSZ 6TFS OBNFඞਢ CJSUIQMBDFඞਢ CJSUIEBZඞਢ UFMඞਢ KPCඞਢ
None
σϑΥϧτͷΛ༻ҙ͢Δ
None
JUͰҙࣝ͢Δ͜ͱΛߜΕΔ 6TFSΦϒδΣΫτ࡞͢Δ 6TFSIFMMP͕ਖ਼͘͠ಈ࡞͍ͯ͠Δ͔
%GBDUPSZ 5*14ΦϒδΣΫτΛ࡞ΔͨΊͷهड़ΛݮΒ͢
%TUVC ϞσϧͷϝιουΛ্ॻ͖͠ɺฦΓΛݻఆͰ͖Δ
%TUVC
ྫ Ϋϥεɿ1SFG ϝιουɿEJTUBODF QSFG QSFG "1*ɿ(PPHMF.BQ"1*
None
͜ͷςετͷԿ͕ʁ
̎ͭͷϝιουΛςετͯ͠Δ ͜ͷςετͰ ʮݝͷڑΛࢉग़͢Δʯ ʮ(PPHMF.BQ"1*͕ݝͷҐஔใΛࢉग़͢Δʯ
ͭ·Γɾɾɾ ʮ(PPHMF.BQ"1*ʯ͕͚͜Δͱ 1SFGEJTUBODFͷܭࢉ͕ਖ਼͚ͯ͘͜͠Δ
ςετରͷϝιου͚ͩͰ ⭕ʮݝͷڑΛࢉग़͢Δʯ ❌ʮ(PPHMF.BQ"1*͕ݝͷҐஔใΛࢉग़͢Δʯ
͜͏ͩͱ͢Δͱɾɾɾ (PPHMF.BQ"1*TFBSDI ҾͷݝͷҐஔใΛऔಘ͢Δ
BMMPX PCK UPSFDFJWF NFUIPE XJUI BSH BOE@SFUVSO WBMVF BMMPX
PCK UPSFDFJWF NFUIPE BOE@SFUVSO WBMVF
ରͷΈͷςετʹͳΔ 1SFGEJTUBODFͷΈͷςετ ͠(PPHMF.BQ"1*ଆͰ͚ͯͯ͜ςετ͕௨Δ ͳ͚͔ͥͨ͜ͷௐࠪͷ͕࣌ؒল͚Δ
%TUVC 5*14ςετରʹͳΔϝιουΛߜΔ
TUVCͱNPDL εΩοϓ ࢀߟɿ IUUQKBOHBKBODPNCMPHFYQFDU BOEBMMPXJOSTQFD
ΞϯνϚφʔ " EFTDSJCFɺDPOUFYUɺJUͷ͍ํ # MFU CFGPSFͷҐஔʢEFTDSJCFͷ֎ʹग़͞ͳ͍ʣ $ ్தͰVQEBUF % ฒͼॱܥϝιουͰΓ͕ͪͳςετ
"EFTDSJCFɾDPOUFYUɾJU Ͳ͏͍͏෩ʹͰॻ͚Δ
None
͜ΕͰΤϥʔ͕ى͖Δͱ AFYQFDU UPFRAʹͯ͠ΈΔ
None
w AAҎ͕߱FYQFDUͰ͖͍ͯͳ͍
"EFTDSJCFɾDPOUFYUɾJU JUͰԿݸFYQFDU͠ͳ͍ ్தͰ͚͜Δͱςετ͕தஅͯ͠͠·͏ FYQFDU͕ଟ͍ͱԿ͕ਖ਼ৗ͔͔ΓͮΒ͍
࠷খ୯ҐΛJUͰғΉ
None
ͬͱ͔Γ͘͢
l·ͱ·ΓzΛEFTDSJCFͰ l߹͚zΛDPOUFYUͰ
None
Կ͕͍͍ͷʁ Τϥʔى͖ͨ࣌ͷείʔϓΛখ͘͞Ͱ͖Δ ྫ͑ɺAAʹͳΓ͚ͨ͜ͱ͖ ෦తʹࣺ͍ͯ͢ ྫ͑ɺՃ๏ϝιουΛશআͨ͠ͱ͖
"EFTDSJCFɾDPOUFYUɾJU 5*14EFTDSJCFͰz·ͱ·ΓzΛғΉ 5*14DPOUFYUͰz߹͚zΛғΉ 5*14JUͰz࠷খ୯ҐzΛғΉ
#MFU CFGPSFͷҐஔ
None
l࢛ଇԋࢉzԼʹMFU ՃݮআͦΕͧΕͷςετ͕େ͖͘ͳΔͱ
None
ͭΒ͍
EFTDSJCFͷ֎ʹMFUΛग़͢ͱ ୯७ʹίʔυ͕ಡΈͮΒ͍ είʔϓ͕͕ͬͯ͠·͏ ͪͳΈʹɺաͳڞ௨ԽΛͨ࣌͠ʹى͖͍͢ɻ
#MFU CFGPSFͷҐஔ 5*14EFTDSJCFͷ֎ʹMFUΛग़͞ͳ͍
$్தͰVQEBUF
None
ྫ͑ɺԿΒ͔ͷมߋ͕͋Γ MFU OVNCFS \^ʹ͢Δ͜ͱʹͳΓ·ͨ͠
None
lQPJOUz͚͚ͩͯ͘͜Εͳ͍ ଞͱҰ༷ʹมߋ͞Εͳ͍ͷͰݟམͱͯ͠͠·͏
$్தͰVQEBUF 5*14JUͱ͔ͰVQEBUF͠ͳ͍
%ฒͼॱܥϝιουͷςετ ͜Εʹ͍ͭͯRJJUB IUUQTRJJUBDPNOBNJUPQJUFNT CGG⒎FEG
ςετ࣌ؒΛ͘ " ςετͷΛݮΒ͢ # ແବͳϨίʔυΛ࡞Βͳ͍ $ DSFBUFΑΓCVJME % UFTURVFVFΛ͏
"ςετͷΛݮΒ͢ ΧόϨοδΛ͏ඞཁ͕͋Δ͔ʁ SFRVFTUTQFDΛNPEFMTQFDʹஔ͖͑Εͳ͍ ͔
#ແବͳΠϯελϯε MFUɺCFGPSFͳͲͰ࡞͍ͬͯͳ͍͔ GBDUPSZͰඥ͚͕ଟ͘ͳͬͯͳ͍͔
$DSFBUFΑΓCVJME DSFBUFϞσϧΦϒδΣΫτ͕ੜͯ͠อଘ͢Δ CVJMEϞσϧΦϒδΣΫτΛੜ͢Δ
% UFTURVFVF HFNIUUQTHJUIVCDPNUNNUFTURVFVF ςετΛฒྻ࣮ߦͰ͖Δ σϑΥϧτͷಉ࣮࣌ߦ$16ͷίΞ
·ͱΊ
34QFDશવΒͳͯ͘
αʔϏε͝ͱʹ34QFDͷϧʔϧ͕ಛʹͳͯ͘
؆୯ʹ࣮ݱՄೳͳ ࠷ݶͷ
ϝϯςφϯε͍͢͠ ςετίʔυʹ͢ΔͨΊͷ৺͕͚
ͨͬͨ̎ͭ
EFTDSJCF DPOUFYU JUΛਖ਼͘͠͏ EFTDSJCFͷ֎ʹMFUΛग़͞ͳ͍
͜ͷೋ͕ͭ࠷༏ઌ
͜ΕΛϕʔεʹ
։ൃςετͱͯ͠Ͳ͜·Ͱςετ͢Δ͔ NPEFMTQFDͱSFRVFTUTQFDͷॅΈ͚ JUͰԿݸFYQFDU͠ͳ͍ ్தͰVQEBUF͠ͳ͍
جૅ͔Β34QFDΛΓ͍ͨ 3TQFDʹΑΔ3BJMTςετೖ ిࢠॻ੶ͷΈ ҏ౻३Ұ͞ΜͷRJJUB #FUUFS4QFDT ͜ΕಡΈͳ͕Β͕͍͍͔ʮαϤφϥ#FUUFS4QFDT ʯ ެࣜυΩϡϝϯτ
ͬͱϝϯςφϯε͘͢͠ Մಡੑͷߴ͍ςετίʔυΛॻͨ͘Ίͷ͓࡞๏ू IUUQTHJUIVCDPNXJMMOFUSTQFDTUZMFHVJEF