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
私と Nature Remo E / Nature Remo E
Search
Kuniwak
PRO
March 24, 2023
Technology
0
26k
私と Nature Remo E / Nature Remo E
Kuniwak
PRO
March 24, 2023
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
450
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.2k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
110
HOME VR
orgachem
PRO
1
800
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.4k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.4k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1.1k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
1.1k
睡眠する技術 / Technology to Sleep
orgachem
PRO
15
14k
Other Decks in Technology
See All in Technology
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
5
1.3k
Part1 GitHubってなんだろう?その2
tomokusaba
2
790
猫でもわかるS3 Tables【Apache Iceberg編】
kentapapa
2
210
テストコードにはテストの意図を込めよう(2025年版) #retechtalk / Put the intent of the test 2025
nihonbuson
PRO
9
1.7k
Amplifyとゼロからはじめた AIコーディング。失敗と気づき
mkdev10
1
110
Global Azure2025(GitHub Copilot ハンズオン)
tomokusaba
2
790
ソフトウェアテスト 最初の一歩 〜テスト設計技法をワークで体験しながら学ぶ〜 #JaSSTTokyo / SoftwareTestingFirstStep
nihonbuson
PRO
2
160
Coding Agentに値札を付けろ
watany
3
530
dbtとリバースETLでデータ連携の複雑さに立ち向かう
morookacube
0
870
kernelvm-brain-net
raspython3
0
600
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
5
350
事業と組織から目を逸らずに技術でリードする
ogugu9
11
1.8k
Featured
See All Featured
BBQ
matthewcrist
88
9.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Code Review Best Practice
trishagee
68
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
It's Worth the Effort
3n
184
28k
Code Reviewing Like a Champion
maltzj
523
40k
For a Future-Friendly Web
brad_frost
177
9.7k
A better future with KSS
kneath
239
17k
The World Runs on Bad Software
bkeepers
PRO
68
11k
The Invisible Side of Design
smashingmag
299
50k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Transcript
ࢲͱ/BUVSF3FNP& /BUVSF.FFUVQ,VOJXBL
,VOJXBL /BUVSFࣾͷϏδϣϯʹڞײͨ͠Ұਓɻ ΤωϧΪʔͳΜͱ͔͠ͳ͍ͱ͍͚ͳ͍ɻ 3FNPྺɺ3FNP&ྺϲ݄ɻ 2
None
None
None
None
ࣗͷઃඋ 7
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 8
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 9
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 10 ͕ڱ͍ͷͰൃిྔখ͍͞
ຊͬͱൃిྔ͕΄͍͠
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 11
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 12 ࣨʹஔ͔͘໎ͬͯ݁ہ֎ʹͨ͠
ՈͰҰ൪ߴֹͳͷۭؒͳͷͰʜ
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 13 ༰ྔN"IͷϞόΠϧ
όοςϦʔݸͩͱݴΘΕΔͱ গͳ͘ײ͡Δ͕ʜ
3FNP&Ͱͷ؍݁Ռ 14 ΑΓ্ͷͷόʔిʹΑΔ څిɻҙ֎ͱ"IͰ͍ͬͯΔ ே৯४උͷ*)ɾిࢠϨϯδͰ ྗਚ͖͕ͨͦΕ·Ͱ͍͑ͯͨ
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 15
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 16 ຊԻΛݴ͏ͱεϚʔτి൫ʹ͢Δ
ͭΓͳ͔͕ͬͨɺ͏͔ͬΓ εϚʔτి൫ʹͳ͍ͬͯͨ ࠓͰେਖ਼ղͩͱࢥ͍ͬͯΔʢޙड़ʣ
εϚʔτి൫ 17 -"/έʔϒϧ͕ ͍ͬͯ͞Δ
ίϯηϯτ͝ͱͷిྗ༻ྔ͕Θ͔Δʂ 18
ޙͰઆ໌͢Δ͕ిྗ༻ྔΛ͘͢Δʹ ిྗ༻ྔͷଟ͍ՈిΛಛఆ͢Δ͜ͱ͕ॏཁɻ ίϯηϯτ͝ͱͷిྗ༻ྔ͕Θ͔Βͳ͍ͱ Ոిͷ0/0''ΛΓସ͑ͯτʔλϧͷ ిྗ༻ྔͷมԽΛ؍͠ͳ͍ͱ͍͚ͳ͍ɻ ͜ͷ࡞ۀ͋·Γʹେมʜ 19
ίϯηϯτ͝ͱͷిྗ༻ྔ͕Θ͔Δʂ 20 εϚʔτి൫ ਆͱ͍͏͜ͱ
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 21
ଠཅޫύωϧ ژηϥΤίϊϧʔπλΠϓ-L8I ి 1BOBTPOJD-+#L8I"I εϚʔτి൫ 1BOBTPOJD#).;$ ΤίΩϡʔτ )*5"$)*#)15"%6 22 &$)0/&5-JUFରԠػछ͕ͩઢͱ
ՃϞδϡʔϧ͕ඞཁɻඞཁͳ͍ͱ ࢥ͍ͬͯͨͷͰจ͍ͯ͠ͳ͔ͬͨʜ
ͳ͓εϚʔτి൫͔Β ΤίΩϡʔτΛ؍Ͱ͖Δ 23 εϚʔτి൫ ਆͱ͍͏͜ͱ
ΤωϧΪʔʢͱࡒʣͷ ͨΊʹ࣮ફ͍ͯ͠Δ͜ͱ 24
࣮ફ͍ͯ͠Δ͜ͱ wൃిྔͷ૿Ճ w༻ྔͷݮ w༻λΠϛϯάͷมߋ 25
࣮ફ͍ͯ͠Δ͜ͱ wൃిྔͷ૿Ճ w༻ྔͷݮ w༻λΠϛϯάͷมߋ 26
ޤ͍ʢӍޤ͍ͷٯʣ 27 ո͛͠ͳّࣜӕͰ͕͢ ຖΕͯ΄͍͠ͱ ࢥ͍ͬͯΔͷຊͰ͢
࣮ફ͍ͯ͠Δ͜ͱ wൃిྔͷ૿Ճ w༻ྔͷݮ w༻λΠϛϯάͷมߋ 28
༻ྔͷݮ w ిྗ༻ྔͷଟ͍Ոి͔ΒݮΒ͍͔ͯ͠ͳ͍ͱ τʔλϧͷిྗ༻ྔ͕ݮΒͳ͍ w Λ੍ޚ͢ΔՈిͲΕిྗ༻ྔ͕ ଟ͍ͷͰ͜ΕΒͷՈిͷઃఆΛݟ͢ͱΑ͍ 29
ઃఆΛݟͨ͠ͷ w ిɿӡసϞʔυΛܦࡁϞʔυ͔ΒڥϞʔυʹͨ͠ w ΤίΩϡʔτɿΤίϞʔυͷઃఆΛͯ͢Φϯʹͨ͠ w ΤΞίϯɿ3FNPͰࣗಈͰਂʹӡసఀࢭ͢ΔΑ͏ʹͨ͠ w Թஆศ࠲ɿઃఆԹΛͨ͘͠ 30
ઃఆΛݟͨ͠ͷ 31 w ిɿӡసϞʔυΛܦࡁϞʔυ͔ΒڥϞʔυʹͨ͠ w ΤίΩϡʔτɿΤίϞʔυͷઃఆΛͯ͢Φϯʹͨ͠ w ΤΞίϯɿ3FNPͰࣗಈͰਂʹӡసఀࢭ͢ΔΑ͏ʹͨ͠ w Թஆศ࠲ɿઃఆԹΛͨ͘͠
ࢲͷ'*5ͷങऔՁ֨=L8Iɻ౦ژిྗͷਂͷిؾྉۚΑΓ ങऔՁ͕͍֨҆ͷͰࣗՈফඅͨ͠ํ͕ܦࡁతͰ͋Δ ిͷӡసϞʔυʹܦࡁ༏ઌϞʔυͱڥ༏ઌϞʔυ͕͋Γɺ ͜ͷঢ়گͰࣗՈফඅॏࢹͷڥϞʔυͷํ͕ܦࡁతʹͳΔ
ิɿܦࡁ༏ઌϞʔυͱڥ༏ઌϞʔυ 32 ܦࡁ༏ઌϞʔυ ڥ༏ઌϞʔυ ॆిʹ͏ిྗ ਂͷ҆Ձͳిྗ ଠཅޫൃిͷ ༨ిྗ ଠཅޫൃిͷ ༨ిྗ
ͯ͢ചి ॆిʹͬͨ ༨ΓΛചి
ઃఆΛݟͨ͠ͷ 33 w ిɿӡసϞʔυΛܦࡁϞʔυ͔ΒڥϞʔυʹͨ͠ w ΤίΩϡʔτɿΤίϞʔυͷઃఆΛͯ͢Φϯʹͨ͠ w ΤΞίϯɿ3FNPͰࣗಈͰਂʹӡసఀࢭ͢ΔΑ͏ʹͨ͠ w Թஆศ࠲ɿઃఆԹΛͨ͘͠
ిྗফඅྔ͔ͳΓେ͖͍ͱ༧͍͕ͯͨ͠ ࣮ࡍʹେ͖͍ɻΤίϞʔυͷઃఆΛશ෦ Φϯʹͨ͠Β͍ͩͿେਓ͘͠ͳͬͨ
ઃఆΛݟͨ͠ͷ 34 w ిɿӡసϞʔυΛܦࡁϞʔυ͔ΒڥϞʔυʹͨ͠ w ΤίΩϡʔτɿΤίϞʔυͷઃఆΛͯ͢Φϯʹͨ͠ w ΤΞίϯɿ3FNPͰࣗಈͰਂʹӡసఀࢭ͢ΔΑ͏ʹͨ͠ w Թஆศ࠲ɿઃఆԹΛͨ͘͠
ӡసఀࢭ͠ͳ͍ํ͕ిྗΛফඅ͠ͳ͍ͱ͢Δઆ͋Δ͕ɺ ࣮ࡍʹ3FNP&Ͱܭଌͨ͠ͱ͜Ζఀࢭͨ͠ํͷ༻ྔ͕ গͳ͍ͱΘ͔ͬͨʢߴஅؾີͷॅ͔ͩΒ͔ʁʣ
ઃఆΛݟͨ͠ͷ 35 w ిɿӡసϞʔυΛܦࡁϞʔυ͔ΒڥϞʔυʹͨ͠ w ΤίΩϡʔτɿΤίϞʔυͷઃఆΛͯ͢Φϯʹͨ͠ w ΤΞίϯɿ3FNPͰࣗಈͰਂʹӡసఀࢭ͢ΔΑ͏ʹͨ͠ w Թஆศ࠲ɿઃఆԹΛͨ͘͠
3FNP&Λݟ͍ͯͨΒɺτΠϨͰిྗফඅ͕େ͖͍͜ͱ͕ Θ͔ΓԹஆศ࠲ΛΦϑ·ͨऑͨ͘͠Βେਓ͘͠ͳͬͨ
࣮ફ͍ͯ͠Δ͜ͱ wൃిྔͷ૿Ճ w༻ྔͷݮ w༻λΠϛϯάͷมߋ 36
༻λΠϛϯάͷมߋ '*5ͷՁ֨Լམ͢ΔҰํͰɺ'*5ظؒͰ ͋ͬͯిྗΛചͬͯେͨ͠ऩೖʹͳΒͳ͍ɻ ଠཅޫൃిˠిͷมޮఔͰ ిΛܦ༝͢Δͱͷϩε͕͋Δɻ ͜ͷ͔ΒͳΔ͘ଠཅޫͰൃిͨ͠ిؾ ൃిͨͦ͠ͷ࣌ʹ༻͍ͨ͠ɻ 37
༻λΠϛϯάͷมߋ w ચ୕ס૩ػɾཋࣨס૩ػɿΕͷதʹ༻͢Δ w ϗοτΫοΫʢ࡞Γஔ͖ʣɿΕͷதʹ༻͢Δ w ΤίΩϡʔτɿΕͷதʹ༻͢Δ 38 ࣌ؒΛ͏ͷͰిྗ༻ྔ͕͔ͳΓେ͖͘ɺҰ൪ ൃిྔͷଟ͍ਖ਼ޕͷൃిྔΛ͍Δ΄Ͳʹ༻͢Δɻ
ͳΔ͘ਖ਼ޕΛ·͙ͨΑ͏ʹͯ͠ચ୕ס૩Λ͢ΔͱΑ͍ɻ Ұपճͬͯఱؾͷྑ͍͕ચ୕ʹͳͬͨ
༻λΠϛϯάͷมߋ w ચ୕ס૩ػɾཋࣨס૩ػɿΕͷதʹ༻͢Δ w ϗοτΫοΫʢ࡞Γஔ͖ʣɿΕͷதʹ༻͢Δ w ΤίΩϡʔτɿΕͷதʹ༻͢Δ 39 ࣌ؒΛ͏ͷͰిྗ༻ྔ͕ͦͦ͜͜େ͖͍ɻ ࡞Γஔ͖ͳΒΕΛͯΔͷͰΕͨλΠϛϯάͰ
Ұؾʹௐཧͯ͠͠·͏ͱΑ͍
༻λΠϛϯάͷมߋ w ચ୕ס૩ػɾཋࣨס૩ػɿΕͷதʹ༻͢Δ w ϗοτΫοΫʢ࡞Γஔ͖ʣɿΕͷதʹ༻͢Δ w ΤίΩϡʔτɿΕͷதʹ༻͢Δ 40 ޙͰ͕ͬͨɺ͜ͷػछ͔࣌ؒ͢Λେͯ͠มߋͰ͖ͳ͍ɻ தʹফඅ͕͋ΕଠཅޫͰ͔ͯ͘͠ΕΔ͕ɺ౬ͷফඅ͕Ұ൪
େ͖͍ͷೖཋͰզ͕ՈͷೖཋͳͷͰਂʹ͔͞Εͯ͠·͏ɻ &$)0/&5-JUFϞδϡʔϧΛ͚ͭͯ/BUVSF͕ఱؾ༧ใΛ τϦΨʹͰ͖ΔΑ͏ʹͳΕͳΜͱ͔ͳΔ͔͠Εͳ͍͕ʜ ଠཅޫൃిར༻ػೳ͋Δ͕લͷखಈૢ࡞͕ඞཁɻແཧήʔͰʁ
3FNP&͔ΒΤΫεϙʔτ ͨ͠σʔλʹΑΔޮՌଌఆ 41
3FNP&͔ΒͷσʔλΤΫεϙʔτ 42 ༻ిྗྔͳͲΛ $47ܗࣜͰ ΤΫεϙʔτͰ͖Δ
ޮՌଌఆͷҙࣄ߲ ͦΕͧΕͷରࡦΛ࢝ΊͨλΠϛϯάͱقઅͷҠΓมΘΓ ʢౙˠय़ʣ͕ඃ͍ͬͯΔͷͰࠩ͠Ҿ͍ͯΈͯ΄͍͠ɻ ͨͱ͑ؾԹ͕มΘΔ͚ͩͰΤΞίϯͷফඅిྗྔ͕ มΘͬͯ͠·͍ެฏͳൺֱʹͳΒͳ͍ɻ 43
3FNP&͔ΒΤΫεϙʔτͨ͠σʔλʹΑΔൺֱ 44 ʢରࡦલʣ ʢରࡦޙʣ
3FNP&͔ΒΤΫεϙʔτͨ͠σʔλʹΑΔൺֱ 45 ༻λΠϛϯάͷ มߋʹΑΓങిྔݮ ઃఆมߋʹΑΓফඅ ిྗྔݮ ଠཅޫൃిྔ݄ˠ ݄Ͱ૿ͳͷͰ ചిྔඍݮ ʢରࡦલʣ
ʢରࡦޙʣ
࣮ࡍͷσʔλ͜Μͳײ͡ 46 ݄ ݄
·ͱΊ 47
3FNP&͔ͳΓ͍͍ 48 ܭଌͰ͖Δͱؔ৺Λ࣋ͯΔ͠ରࡦ ଧͯΔɻͦͷܭଌΛॿ͚ͯ͘ΕΔ 3FNP&͍͍͘͢͝ͱ,VOJXBL ࢥ͏ʢͳ͔ͳ͔ͷ͓ஈ͚ͨ͠Ͳʣɻ