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
Web development without QA tester
Search
Koichi ITO
May 12, 2018
Technology
2
960
Web development without QA tester
とちぎテストの会議05
https://toruby.doorkeeper.jp/events/70679
Koichi ITO
May 12, 2018
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
Carving the Way to Ruby Engineering
koic
3
800
Beyond the RuboCop Defaults
koic
3
3.6k
Minify Ruby Code
koic
2
2.2k
Permanent Agility
koic
37
8k
RuboCop: LSP and Prism
koic
3
4.4k
Organizational Pattern Hatching
koic
0
1.5k
A Practitioner's Journey from Ruby 1.8 to Present
koic
1
2k
A Story Featuring Right Hand Archetype
koic
0
1.1k
Without Practice, No Emergence
koic
4
2.5k
Other Decks in Technology
See All in Technology
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
810
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
300
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
140
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
150
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
130
コンテナサプライチェーンセキュリティ
kyohmizu
1
120
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
3
480
表現を育てる
kiyou77
1
230
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
290
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
430
AI エージェント開発を支える MaaS としての Azure AI Foundry
ryohtaka
6
650
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
A better future with KSS
kneath
238
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Practical Orchestrator
shlominoach
186
10k
Facilitating Awesome Meetings
lara
52
6.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
GitHub's CSS Performance
jonrohan
1030
460k
Transcript
8FCEFWFMPQNFOUXJUIPVU2"UFTUFS 4BU 2"ςελʔͷ͍ͳ͍ 8FCαʔϏε։ൃʹ͓͚Δ ςετͱ։ൃϞσϧ ҏ౻ߒҰ !LPJD FTN ͱͪ͗ςετͷձٞ
ಹਢ͕ݪϋʔϞχʔϗʔϧ
None
w044ϓϩάϥϚʔͷࢲ w3VCZ3BJMTϦʔςΟ ϯάϕϯμʔࣾһͷࢲ αϥϦʔϚϯ ࢲ
w044ϓϩάϥϚʔͷࢲ w3VCZ3BJMTϦʔςΟ ϯάϕϯμʔࣾһͷࢲ αϥϦʔϚϯ ࢲ
wίϛϡχςΟͰͷ։ൃϓϨΠϠʔ w8SJUF -JHIU $PEF&WFSZ%BZ w3VCZ3BJMTΞοϓάϨʔυͷ044 ϦϙδτϦͷద༻ wίʔυϨϏϡʔ͔Βͷ੩తղੳπʔϧ ͷࣗಈԽ 044ϓϩάϥϚʔͱͯ͠ͷࢲ
None
3VCZ,BJHJ%BZ
3VCZ,BJHJ%BZ N@TFLJ
3VCZ,BJHJ%BZ *U`TNF
w044ϓϩάϥϚʔͷࢲ w3VCZ3BJMTϦʔςΟ ϯάϕϯμʔࣾһͷࢲ αϥϦʔϚϯ ࢲ
w044ϓϩάϥϚʔͷࢲ w3VCZ3BJMTϦʔςΟ ϯάϕϯμʔࣾһͷࢲ αϥϦʔϚϯ ࢲ
None
wνʔϜͰͷαʔϏε։ൃͷಜ w৽ଔҭ ࠓ͓ٳΈ w3VCZ3BJMTΞοϓάϨʔυͷϓϩ δΣΫτΦϐχΦϯ wଧͪ߹ΘͤͰϚδοΫϋϯυΛૂ͏ ϚΠϒʔϜ%))ͬ͜͝ αϥϦʔϚϯͱͯ͠ͷࢲ
ࠓͷ
ςετͱ։ൃ ମ੍ͷ͍·ͷ ࣗͷଊ͑ํ
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
όσΟςετ
wઐͷςελʔ͕εϙοτͰ͍Δ͕࣌͋ ΔΑ͏ͳʁ w৽ن্ཱͪ͛ϓϩδΣΫτͷऴ൫͘Β͍ ʹ͍Δ͔ l2"zςελʔͳͷ͔ෆ ໌ wͦΕͰ໓ଟʹ͍ͳ͍ wઆ্ͷଘࡏʁ 2"ςελʔͷ͍ͳ͍ϓϩδΣΫτ
w2"ͱҟͳΔઐςελʔ wηΩϡϦςΟςεςΟϯά wαʔϏεʹΑͬͯ͋ͬͨΓͳ ͔ͬͨΓ wઐۀऀͷҕୗ ֎෦ൃͷ༗ແ
w࣮ΛΒͳ͍ཁٻऀˠ اըɺཁٻ࡞Γɺड͚ೖΕ ςετ w࣮ΛΔ։ൃऀˠ࣮ɺ ୯ମςετɺػೳςετ ৗࡏ͢Δେϩʔϧ
w࣮ΤϥʔͱཁٻΤϥʔͷ ୲อΛͲ͏͢Δ͔ʁ ओ
ཁٻऀडೖςελʔ ཁٻऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ डೖ ςετ
ϒϥοΫϘοΫε ςελʔ ։ൃऀ
ཁٻऀडೖςελʔ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ ݪଇಉҰਓ͕ݟ͍ͯ͘
wཁٻऀ͕Ұ൪ɺϒϥοΫϘοΫεͱ ͯ͠ͷγεςϜͷظ͢ΔৼΔ ͍Λ͍ͬͯΔ wཁٻऀ͕ड͚ೖΕςελʔΛ݉ͶΔ wͪΖΜٳՋͳͲͰςετͷΈҾ͖ ܧ͙͜ͱ͋ΔɻਓͳͷͰ@П ŋ@ŋ ཁٻऀडೖςελʔ
ϗϫΠτϘοΫε ςελʔ όσΟ ૬ ཁٻऀ ։ൃऀ ϒϥοΫϘοΫε ςελʔ
wཁٻऀͱ։ൃऀͷϖΞجຊతʹϦϦʔε ·Ͱݻఆ͞ΕΔ wόσΟಉ͕࢜࠷γεςϜ֦ுʹର͢Δ؍ Λਂ͕࣋ͭ͋͘Δ wίϛϡχέʔγϣϯίετͷݮগ w*54ఆྫͳͲͰଞϝϯόʔ͔Βποί ϛͷͰ͖Δ༨Λ࡞Δ✍ όσΟ ૬
όσΟͰड͚ೖΕςετΛਐΊΔ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ
डೖ·ͰϑΟʔυόοΫΛ܁Γฦ͢ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ 3FKFDU "DDFQU PS
डೖ·ͰϑΟʔυόοΫΛ܁Γฦ͢ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ 3FKFDU
डೖ·ͰϑΟʔυόοΫΛ܁Γฦ͢ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ 3FKFDU 3FKFDU
डೖ·ͰϑΟʔυόοΫΛ܁Γฦ͢ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ "DDFQU 3FKFDU 3FKFDU
None
wཁٻऀͱ։ൃऀ ૬ ͷϚοϐϯά w։ൃऀෳͷϑΟʔνϟʔΛ୲ ͢Δ͜ͱ͕͋Δ جຊ֤ݸܸഁ wཁٻऀෳͷϑΟʔνϟʔΛ୲ ͢Δ͜ͱ͕͋Δ ॱ࣍ड͚ೖΕ
wόσΟ ૬ ͷΈ߹Θͤ ϚϧνϥΠϯ։ൃ
ϚϧνϥΠϯ։ൃ ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ
ϚϧνϥΠϯ։ൃ ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ
ϚϧνϥΠϯ։ൃ ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ͓͔ΘΓ 1VMMܕ
ϚϧνϥΠϯ։ൃ ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ
ϚϧνϥΠϯ։ൃ O ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ
ϚϧνϥΠϯ։ൃ O ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ 'FBUVSF PQJOJPO
wେֻ͔Γ wʙΠςϨʔγϣϯͱ͍͏ൣғͰܭ ը͞ΕΔͷͰͳ͍ ϲ݄Ϩϕϧ wཁٻऀɺ։ൃऀͰ૯ग़ͷςετͩͬͨ Γɺͦ͏Ͱͳ͔ͬͨΓେֻ͔Γ w ຊτʔΫͰׂѪ ϚϧνϥΠϯ։ൃ
ON
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
ख़࿅ͱΧϯ
w3BJMTίϛϡχςΟϞσϧ wಹਢͷνʔϜͷΑ͏ʹҎ্ ଓ͍͍ͯΔ w2"ςελʔͱ͍͏ϩʔϧ͕͍ͳ͍ ʹ͍ͭͯಉ͡ w044ࢀরϞσϧ /PU04* ཪଆʹ͋ΔػೳͷϑΥϩʔ
IUUQSVCZPOSBJMTPSH
IUUQSVCZPOSBJMTPSHDPNNVOJUZ
IUUQSVCZPOSBJMTPSHDPNNVOJUZ
None
*U`TNF
wઈରਆ wίΞϝϯόʔɺίϛολʔ wίϯτϦϏϡʔλ ೃછ wίϯτϦϏϡʔλ ॳճ 3BJMTίϛϡχςΟϞσϧ
wઈରਆ wίΞϝϯόʔɺίϛολʔ wίϯτϦϏϡʔλ ೃછ wίϯτϦϏϡʔλ ॳճ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wίΞϝϯόʔɺίϛολʔ wίϯτϦϏϡʔλ ೃછ wίϯτϦϏϡʔλ ॳճ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wίϯτϦϏϡʔλ ೃછ wίϯτϦϏϡʔλ ॳճ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wεϙοτͷϔϧϓϝϯόʔ wίϯτϦϏϡʔλ ॳճ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wεϙοτͷϔϧϓϝϯόʔ w৽ଔࢯ ζ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wεϙοτͷϔϧϓϝϯόʔ w৽ଔࢯ ζ 8FCαʔϏε։ൃϞσϧ ͜͜ʹ ӽ͑ΒΕͳ͍น
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wεϙοτͷϔϧϓϝϯόʔ w৽ଔࢯ ζ 8FCαʔϏε։ൃϞσϧ τϐοΫͷൣғ
wཧͷςετϨϏϡʔ ͕ͩख़࿅Ϩϕϧ·ͪ ·ͪ wख़࿅ͷߴ͍ϝϯόʔ͕εϙο τͷϔϧϓϝϯόʔ৽ଔࢯ ζ ΛϨϏϡʔ͍ͯ͘͠ ख़࿅͕ߴ͍ཪଆͷΧϯ͕ڧ͍
wཁٻͷग़͠ํɺཁٻʹର͢ Δ࡞Γํ wςετͷʮΧϯʯ͕ಇ͘ϝ ϯόʔࣄલόά௵͠ό άग़্͕͠ख͍ ਓͩΜͩΜ্ख͘ͳΔ
91& OE $IBQSE IUUQXXXBNB[PODPKQEQ
l ી༵େΛ͠ ͍ͯͯઐՈͰͳ͔ͬ ͕ͨɺॅΈ͍͢Ոͷ ࡞ΓํΛ͍ͬͯͨɻ ʵࢲͷ৺ͷϊʔτΑΓ
ຊτϐοΫͷख़࿅ϝϯόʔ 2"ςελʔͰͳ͍ ͕ɺγεςϜͱͯ͠Ͳ͏ͳ Δͱྑͯ͘ɺͲ͏ͳΔͱμ ϝ͔͍ͬͯΔ ख़࿅ϝϯόʔͷຏ͔ΕͨlΧϯzͷӶ͞
wख़࿅ͷߴ͍ϝϯόʔͷʮΧϯʯͷӶ͞ w৽ػೳΛ࡞Δͱ͖ͷཪଆͷػೳӨڹʮΧ ϯʯͷಇ͘ϝϯόʔʹґଘ͢Δ wاۀϧʔϧ͔Βͷߟྀɺ࣮໘͔Βͷ ߟྀ wաڈͷܦҢͰʮԿނͦͷػೳ͕ࠓͳ͍ͷ ͔ʯͷੜ͖ূਓ ੵΈॏͶͷͷಇ͖ ख़࿅ϝϯόʔͷຏ͔ΕͨlΧϯzͷӶ͞
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
͓ΘΓʹ
wखॱҾ͖ܧ͛Δ͕ɺεΩϧ Ҿ͖ܧ͛ͳ͍ CZLBXBHVUJ wཁٻऀɺ։ൃऀͷख़࿅্͕͕ ΔͱνʔϜͷख़࿅্͕͕Δ wख़࿅ͷ্ৗʹ՝ ૯ྔͰͷΧόʔ
w͓ۚ ͕ΜΓ·͠ΐ͏ wؔऀͷϓϩδΣΫτͷΔؾ wϢʔβʔ͕҆৺ͯ͑͠Δγες ϜΛఏڙ͢ΔͨΊͷςετ w5IF3BJMT%PDUSJOF ख़࿅ϓϩδΣΫτͷಓ
w͓ۚ ͕ΜΓ·͠ΐ͏ wϢʔβʔ͕҆৺ͯ͑͠Δγες ϜΛఏڙ͢ΔͨΊͷςετ wؔऀͷϓϩδΣΫτͷΔؾ w5IF3BJMT%PDUSJOF ख़࿅ϓϩδΣΫτͷಓ
IUUQSVCZPOSBJMTPSHEPDUSJOF
wϓϩηεਓ CZN@TFLJ wਓʹΑΔςετͷ؍ͷॏෳͱ૬ҧ wखॱࣗಈԽͰ͖ͯεΩϧࣗಈ ԽͰ͖ͳ͍ wγεςϜͷlΧϯzlεΩϧzͱ ಉ͡ͰϨϕϧΞοϓͰ͖Δ ςϯτΛԡ্͛͠Δ४උΛ͢Δ
FOE