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
27k
私と Nature Remo E / Nature Remo E
Kuniwak
PRO
March 24, 2023
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
DeNA での思い出 / Memories at DeNA
orgachem
PRO
6
2.6k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.2k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
480
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
630
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.7k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
190
HOME VR
orgachem
PRO
1
820
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.5k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.5k
Other Decks in Technology
See All in Technology
Playwrightで始めるUI自動テスト入門
devops_vtj
0
100
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
250
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
360
DSPy入門
tomehirata
6
880
MCP サーバーの基礎から実践レベルの知識まで
azukiazusa1
5
470
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
1
720
abema-trace-sampling-observability-cost-optimization
tetsuya28
0
460
어떤 개발자가 되고 싶은가?
arawn
1
420
AI連携の新常識! 話題のMCPをはじめて学ぶ!
makoakiba
0
180
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
240
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
390
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
300
Featured
See All Featured
Speed Design
sergeychernyshev
32
1.2k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
How to Ace a Technical Interview
jacobian
280
24k
It's Worth the Effort
3n
187
28k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
640
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
240
Writing Fast Ruby
sferik
630
62k
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 ࢥ͏ʢͳ͔ͳ͔ͷ͓ஈ͚ͨ͠Ͳʣɻ