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
380
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
22
4.1k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
95
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.2k
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
JavaにおけるNull非許容性
skrb
2
2.6k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
590
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
210
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
310
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
130
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
81k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
300
Share my, our lessons from the road to re:Invent
naospon
0
140
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
8
2.1k
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
2
270
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Practical Orchestrator
shlominoach
186
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
A designer walks into a library…
pauljervisheath
205
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Scaling GitHub
holman
459
140k
Agile that works and the tools we love
rasmusluckow
328
21k
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 ࢥ͏ʢͳ͔ͳ͔ͷ͓ஈ͚ͨ͠Ͳʣɻ