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
XP, Testing and ninja testing
Search
seki at druby.org
June 27, 2025
Programming
2
110
XP, Testing and ninja testing
Rubyセミナー大阪 2025で話したスライドのXPとテストのPartだよ!
忍者式テストはSQiP2023やSS2023を探してみるか、m_sekiに問い合わせてね
seki at druby.org
June 27, 2025
Tweet
Share
More Decks by seki at druby.org
See All by seki at druby.org
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
440
ERB, ancient and future
m_seki
3
890
ERB Hacks
m_seki
1
1.5k
わりこまれるはなし
m_seki
0
830
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
2
1.2k
Learn Ractor
m_seki
1
2.7k
How many copies did you buy the first print?
m_seki
1
740
Create my own search engine.
m_seki
1
5.3k
Rinda in the real-world embedded systems.
m_seki
0
440
Other Decks in Programming
See All in Programming
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
340
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
2
620
TypeScript LSP の今までとこれから
quramy
1
510
Effect の双対、Coeffect
yukikurage
5
1.4k
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
760
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
2
160
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
610
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
820
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
320
エラーって何種類あるの?
kajitack
5
270
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
320
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
11
1.9k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Code Review Best Practice
trishagee
68
18k
Music & Morning Musume
bryan
46
6.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Building Adaptive Systems
keathley
43
2.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
660
Transcript
OJOKBUFTUJOHDPN 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
91Λհͨ͠ɻ࣍ςετ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
͔͜͜Βຊฤɻ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
ࣗݾհ ͋ͷʢҩྍػثιϑτΣΞ։ൃͷF9USFNFͳʣνʔϜʹॴଐ͢Δ։ൃऀ ؔকढ़ϓϩάϥϚ ਂ୩ඒςελʔ ͜ͷ9ઢ$5ը૾ࢲͨͪͷ։ൃͨ͠ஔͰࡱӨͨ͠ࢲͨͪͷதʢਓؒυοΫͷ࠶ݕࠪͰࡱͬͯΒͬͨΑʂʣ
91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
F9USFNF1SPHSBNNJOH 91 ΞδϟΠϧϓϥΫςΟεϚοϓ"HJMF4UVEJPIUUQTXXXBHJMFTUVEJPKQBHJMFQSBDUJDFNBQ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ΞδϟΠϧϓϥΫςΟεϚοϓ"HJMF4UVEJPIUUQTXXXBHJMFTUVEJPKQBHJMFQSBDUJDFNBQ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ੈلͷऴΘΓͷιϑτΣΞֶΛ্ॻ͖͠ʹ͖ͨʂʢͷ࡞Γํͩͬͨͷͷ͕ঃʑʹ࡞ΒͤํʹͳͬͨɻͦΕΛ࠶ͼ࡞Γํʹͨ͠ײ͢͡Δʣ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ϏδωεͳͷͰɺͦͦ͜͜ʹෳࡶͰɺਓࢿۚʹ੍͕͋ΓɺϦϦʔε͢Δ͕ܾ·͍ͬͯΔɻͦ͏͍͏ϓϩδΣΫτʹ͍͍ͯΔɻʢখ͍͞ͱ͖ʹཱͨͳ͍ʣ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ͍͍͘͢͝ϓϥΫςΟεΛۃʹΔʂۃྲྀϓϩάϥϛϯάͷ༝དྷɻʢ㲈ͪΐͬͱ͍͍ͭΛ·ΜΜͳͬͨ͘Γ͠ͳ͍ʣ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ૉૣ͘ɺʢͱ͔ૣ͘ͱ͔εϐʔυͱ͔ʣͪΐͬͱΘ͔Γʹ͍͘
F9USFNF1SPHSBNNJOH ✦ ૉૣ͘ٸ͍ͰΔ͜ͱͰͳ͍ ✦ λΠϜϘοΫε ✤ ظؒͱඪʢͷ֬ೝํ๏ʣ ✦ ֬ೝ͢Δͱ͍͏͜ͱɺͦͷํ๏ɺ࣌ ظΛλΠϜϘοΫεͷ࢝Ίʹߟ͑Δ
͜ͱ͕ૉૣ͞Λৢ͢ ✦ ਓϛε͢Δɺ͕ࠜఈʹ͋Δ ✤ ૣ͘ϛε͕όϨΔΑ͏ʹ ϛε͠ͳ͍Α͏ʹͯ͠ϛε͢Δ 91 ͍ΖΜͳλΠϜϘοΫε͕͋ͬͯɺͦΕΛར༻ͯ͠Λ໌ΔΈʹग़͢ɻʢۃʹͨ͠Β࣌ؒཧͷςΫχοΫͰͳ͘ͳͬͨʣ
F9USFNF1SPHSBNNJOH ✦ ෮։ൃͷ͍͍ͭ͘͢͝ʹͨ͠ʂ ✤ ϢʔβʔετʔϦʔ ͣͬͱΔʗຖݟ͢ʗೖΕࢠ͕ͳ͍ ✤ ड͚ೖΕςετ
શһΔʗͣͬͱΔʗຖݟ͢ʗ৽ ͨͳΛΈ͚ͭΔςετʹ͢Δ ✤ ςετۦಈ։ൃ ͋ΒΏΔΞΫςΟϏςΟʹൣғΛ͛Δ ✦ ͦ͏͍͏ͭΓͰຊฤΛฉ͜͏ ऀࣜςετͰ
͜Εͨͩͷ91Ͱ͋Δ F9USFNF1SPHSBNNJOH ✦ 91ࣗମʹۃ͞Λ͞Βʹ্͛Δ͜ͱΛଅ͢Έ͕ࡏ͞Ε͍ͯΔʢͱࢥ͏ ✤ 91ͷຊʹॻ͍ͯ͋Δఔͷۃ͞ɺग़ൃͰ͋ͬͯͦΕ͕ਖ਼͍͠91ͱ͍͏Θ͚ ͡Όͳ͍ ✤ ͦͷۃ͞ʹཹ·Δͷຊʹۃྲྀ͔ʁ ͷ91ࡇΓͷ࣌ͰͦΕʹؾ͍͍ͮͯ·ͤΜͰͨ͠
91Λհͨ͠ɻ࣍ςετ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
ాਓ͞Μᐌ͘
ాਓ͞Μᐌ͘ ͍ͭҾ༻ͯ͘͠Εͯ͋Γ͕ͱ͏͍͟͝·͢
UXBEB͞Μᐌ͘
ղઆ͠·͢ ද໘తʹฉ͘ͱؾ͕͍͍͕ ✦ ςετΛͯ͠ϞϊΑ͘ͳΒͳ͍ ✤ Α͘͢ΔͷϓϩάϥϛϯάͩͧʂʢͦΕͦ͏ʣ ͬͺϓϩάϥϛϯάॏཁͩͳʔ
ςετͰΛݟ͚ͭͯͳ͓͢ ✦ ؾʹೖΒͳ͍͜ͱΛ୳ͯ͠ɺͬͱྑ͘͢ΔͨΊʹςετ͢Δ ✤ ͏·͍ͬͨ͘ςετɺͱ͍͏ͷ৽͍͠Λݟ͚ͭΒΕͨςετ ✤ ࣦഊͨ͠ςετɺͱ͍͏ͷͳʹ͕ݟ͔ͭΒͳ͔ͬͨςετ ͜ͷλʔϯຊฤͷཧղΛॿ͚ΔલઆͰ͢Α ΤϥʔΛൃݟ͢ΔతͰϓϩάϥϜΛ࣮ߦ͢Δաఔ͕
ςετͰ͋Δɽ ιϑτΣΞͷ৴པੑQ
ࣗಈԽ͍ͨ͠ͷʁ ͳ͓ऀࣜςετͷςετखಈςετͰ͢ ✦ ճάϦʔϯʹͳͬͯCJUΑ͘ͳΒͳ͍͚Ͳ ✤ ͔ͩΒࣗಈԽͰ͢ΑʂແବͳΜͰʂʢΘ͔Δʣ ✤ Ͱ͔ͯ͠͠࡞Γյ͕͋͠Δ͔͠Εͳ͍͔Β ͦΜͳʹ৺ੑͷਓ͕ࣗಈԽͰ͖ͨͱ͜Ζʹ͔͕͠ͳ͍ͬͯࢥ͏͕ͣͳ͍Αͳ
✤ ςετͷࣗಈԽ࣮ߦΑΓɺࣗಈԽ͢ΔաఔͰͷ࣮ͷચ࿅ʢϓϩάϥϛϯάʣ ͷ΄͏ʹՁ͕͋Δ ʮ࣭Λ୲อ͢Δʯͱ͍͏ϑϨʔζ͕ӕ͗͘͢͞ΔͷͰ᪳ͳ͘͏ਓͱڑஔ͘Α͏ʹͯ͠Δɻอͱ͍͍͍͑ͷʹ ͜ Ε Ϩ τ ϩ χ Ϝ ʁ
ऀࣜςετͷςετ͜͏͍͏ςετ ͍ΘΏΔςετٕ๏ͷతͱ͍ͩͿ͕ͪ͏ ✦ Βͳ͍Λ୳ͨ͢Ίͷςετ ✤ ͳ͓ͨ͢ΊʹΔ ✤ ޙΓͤ͞ΔͨΊʹΔ ✦ άϦʔϯͷΛ૿͍ͨ͠Θ͚͡Όͳ͍
✦ खΛݮΒͨ͢ΊͷςετͰͳ͍ ✦ Կݴ͏͚ͲखಈͰͬͯΔΑʂ ͜ͷλʔϯऀࣜςετͷཧղΛॿ͚ΔલઆͰ͢Α
͔͜͜Βຊฤɻ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
ݴ͍ͨ͜͠ͱ͕͋Δ Γ
ظ͕ؒ͋Δͱߟ͍͑͢ ✦ ͋ͱिؒʢɾ࣌ؒʣͳΒ ✤ ͳʹΛ͢Δͷ͕͓ಘ͔ʁ ✤ ͲͷػೳΛ࡞Δ͔ ✤ ͲͷΛͳ͓͔͢ ✤
ͲΜͳςετΛ͢Δ͔ ✤ ͲΜͳจॻΛ͔͢ ✦ ظ͕ؒ͋Δ͜ͱͰબͰ͖ΔɾܾΊ ΒΕΔ ✦ ʮͷ͘͢͝Α͍͜ͱʯ͚ͩʹͳΔ λΠϜϘοΫεԾઆ ظ͕ؒఆ·Βͳ͍ͱʮΑ͍͜ͱʯΛશͯΛΓͨ͘ͳΔɻϏδωεͳͷͰ੍͕࣌ؒ͋ΔΜͩͧʂ
ͲΜͳจॻ͕ͬͨͷ͔ ݶΒΕͨظؒͰॻ͚ΔɾಡΊΔɾϝϯςφεͰ͖ΔͷͳΜͩʂʁ ✦ ͲΜͳͱ͖ʹಡΉʁ ✤ Εͨ͜Ζʹ͍߹Θ͕ͤ͋ͬͨΓɺվͨ͘͠ͳͬͨΓ͢Δͱ͖ ✦ ͳʹ͕΄͍͠ʁ ✤ ͍ํɻͦͷͱ͖ظ͍ͯͨ͠ͷಈ͖͕ॻ͍ͯ͋Δͱ͏Ε͍͠
͍·ͷಈ࡞͕ਖ਼͍͠ͷ͔յΕ͍ͯΔͷ͔ɺޙੈʹΘ͔Βͳ͍ ͦͷڍಈΛબΜͩҙਤʢ༷ͷૉΒ͠͞ɾٽ͘ٽ͘બΜͩʣͱ͔ ✦ ऀࣜςετͷνέοτͦͷͷ ✤ ͍ํɾ΄͍͠ͷ͕ςετهͰॻ͔Ε͍ͯΔ ✤ ͜ͷςετྫࣔʹΑΔ༷ʹۙ͘ɺΛ୳͢ͱ͖ͷग़ൃͱͳΔ ✤ ʢνέοτ໋ྩॻͱ͔ථͱ͔͡Όͳ͍Μͩͧʂʣ ؒຖબ͖ͯͨ݁͠Ռɺͬͨจॻड͚ೖΕςετͩͬͨ
ࠓ91ͱςετͱऀࣜςετͷ͓Λ͠·ͨ͠🥷 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~