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
Optional(2018)年...その後
Search
Hideaki Tamai
July 26, 2018
Technology
3
1.1k
Optional(2018)年...その後
Hideaki Tamai
July 26, 2018
Tweet
Share
More Decks by Hideaki Tamai
See All by Hideaki Tamai
スタブを活用したデバッグメニュー / Debug Menu Using Stubs
tamadon
0
99
iOS版KyashにMock Frameworkを導入した話 / Introducing Kyash iOS Test Cases 2020
tamadon
1
2.3k
クロスグレードの実装とつらみの話
tamadon
3
1.1k
子育てエンジニアを支える技術
tamadon
3
6.3k
自作育児サポートアプリのその後
tamadon
1
2.2k
子育てエンジニアの家庭内生存戦略
tamadon
5
2.7k
ジモティー紹介
tamadon
0
1.3k
ジモティーのSEO
tamadon
0
1.5k
Other Decks in Technology
See All in Technology
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
3
240
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
310
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
8
1.1k
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
1
210
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
0
190
リセラー企業のテクサポ担当が考える、生成 AI 時代のトラブルシュート 2025
kazzpapa3
1
370
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
250
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.8k
事業開発におけるDify活用事例
kentarofujii
2
630
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
300
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
360
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Being A Developer After 40
akosma
91
590k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Visualization
eitanlees
149
16k
Into the Great Unknown - MozCon
thekraken
40
2.1k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Bash Introduction
62gerente
615
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Designing for Performance
lara
610
69k
Six Lessons from altMBA
skipperchong
29
4k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Transcript
0QUJPOBM ͦͷޙ )JEFBLJ5BNBJ 1PUBUPUJQT+VMZ
ࣗݾհ )JEFBLJ5BNBJ ɾ.POFZ'PSXBSE *OD ɾJ04ΞϓϦΤϯδχΞ ɾ͘͘͢͢ʂࢠҭͯΤϯδχΞ.FFUVQ UBNBEPO !UBNBEPO
IUUQTNPOFZGPSXBSEDPNFOHJOFFST@CMPHPQUJPOBM 0QUJPOBM ͚͋·͓ͯ͠ΊͰͱ͏͍͟͝·͢
͜ΕΛػʹXBSOJOHΛ໓͘͢ ࣾJ04ΤϯδχΞ͕ ෦ॺΛӽ͑ͯऔΓΈ·ͨ͠ ௨ৗͷػೳ։ൃͱฒߦͯ͠ϲ݄
Before
ͬͨ͜ͱͦͷ̍ 4XJGU-JOU "VUPDPSSFDU
Πϯσϯτͷௐ͚͔ͩͱࢥͬͯͨΒɺ ؆୯ͳwarningमਖ਼ͯ͘͠Εͨ func validate(_ input :(hoge: Fuga)) throws -> Void
{ func validate(_ input :(hoge: Fuga)) throws {
None
ͬͨ͜ͱͦͷ̎ γϡοͱͤͦ͏ͳXBSOJOHΛফ͢
- public final class Hoge: Fuga { + public class
Hoge: Fuga { - network.request(request) { _ in } + _ = network.request(request) { _ in } ྫʣ͜͏͍͏ͭ
None
͋ͱͪͪ͘͘ಓʹ XBSOJOHΛͭͿ͍ͯͬͨ͠
ਏ͔ͬͨͭ
Ұ෦ͷϥΠϒϥϦ͕$PDPB1PET ܦ༝͡Όͳ͍ํ๏Ͱಋೖͯ͋͠Δ ʢେ$PDPB1PETܦ༝ʣ wͲͷόʔδϣϯΛͬͯΔ͔͔Βͳ͍ͷͰ࠷৽ʹΞο ϓσʔτͨ࣌͠ͷӨڹൣғ͕ݟ͑ͣɺΞοϓσʔτ͠ ͯྑ͍ͷ͔ෆ໌ w͔͠Ұ෦ಠ࣮ࣗΛՃͯͬͯ͠Δͭ͋Δ
ಠ࣮ࣗΛՃͯ͠ͳ͍ ϥΠϒϥϦ wϥΠϒϥϦͷόʔδϣϯΛίϛοτϩά͔Βਪଌ ͠ӨڹൣғΛௐࠪ w$PDPB1PETʹҠߦ
ಠ࣮ࣗΛՃͯ͠Δ ϥΠϒϥϦ w൚༻తͳػೳՃͩͬͨͷͰɺϥΠϒϥϦΛGPSL͠ ͯຊՈʹQVMMSFRVFTUΛग़ͨ͠ wऔΓࠐ·Εͳ͔ͬͨϥΠϒϥϦGPSLFESFQPTJUPSZ ͷϥΠϒϥϦΛ$PDPB1PETͰΠϯετʔϧ
After
Before
After Ϗϧυʹ͔͔Δ͕࣌ؒϝνϟॖ͞Εͨ XBSOJOHআ͚ͩͰͳ͘ɺ4XJGUରԠ ίϯύΠϧΦϓγϣϯͷมߋޮՌ͕͋ͬͨͱࢥΘΕΔ
࠷ޙͷXBSOJOH ՝ۚͷϨγʔτ͕J04ܗࣜ ˠݱࡏରԠத
XBSOJOHΛ૿͞ͳ͍ औΓΈ
Ұྫ ɾϏϧυ࣌ʹ4XJGU-JOU"VUPDPSSFDU࣮ߦ ɾϏϧυʹNTҎ্͔͔͍ͬͯΔॲཧͰXBSOJOH ɾ4JEFSʢNJTTQFMMʣಋೖ ɾ%BOHFSಋೖ
·ͱΊ w ݹ͔͘Βӡ༻͞Ε͍ͯΔϓϩμΫτͰؤுͬͯऔΓΊɺXBSOJOHΛ ΄΅̌ʹग़དྷΔ w ϏϧυॖͷऔΓΈग़དྷͯϏϧυ͕࣌ؒ·Ͱॖग़དྷͨ w ෦ॺΛ·͍ͨͰXBSOJOH໓ʹऔΓΜͩͷͰɺࣾͷJ04ΤϯδχΞͰ XBSOJOHϦϑΝΫλϦϯάʹର͢Δҙ͕ࣝߴ·ͬͨ w
XBSOJOHΛݮΒͯ͠ຬ͢ΔͷͰͳ͘ɺ૿͞ͳ͍Έͷߏங͕େࣄ
͝ਗ਼ௌ͋Γ͕ͱ͏͟͝ ͍·ͨ͠