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
980
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
RuboCop: Modularity and AST Insights
koic
3
3.5k
Carving the Way to Ruby Engineering
koic
3
860
Beyond the RuboCop Defaults
koic
3
4.1k
Minify Ruby Code
koic
2
2.3k
Permanent Agility
koic
37
9k
RuboCop: LSP and Prism
koic
3
5k
Organizational Pattern Hatching
koic
0
1.5k
A Practitioner's Journey from Ruby 1.8 to Present
koic
1
2.1k
A Story Featuring Right Hand Archetype
koic
0
1.1k
Other Decks in Technology
See All in Technology
技術書典18結果報告
mutsumix
1
160
AIのための オンボーディングドキュメントを整備する - hirotea
hirotea
9
2.1k
Microsoft Season of Agent AI エージェントの使用開始
takas0522
0
120
それでもぼくらは貢献をつづけるのだ(たぶん) @FOSS4GLT会#002
furukawayasuto
1
260
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
narihara
1
200
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
17
13k
AIオンボーディングとAIプロセスマイニング
nrryuya
5
1.2k
会社員しながら本を書いてきた知見の共有
sat
PRO
3
670
スプリントゴールで価値を駆動しよう
takufujii
3
1.6k
カンファレンスのつくりかた / The Conference Code: What Makes It All Work
tomzoh
7
860
シンプルな設定ファイルで実現する AWS IAM Identity Center のユーザー管理と開発チームへの委譲 / Delegating AWS IAM Identity Center User Management with a Simple DSL
yamaguchitk333
3
510
ローカル環境でAIを動かそう!
falken
PRO
1
140
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Navigating Team Friction
lara
185
15k
Faster Mobile Websites
deanohume
307
31k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
How GitHub (no longer) Works
holman
314
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
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