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
990
Optional(2018)年...その後
Hideaki Tamai
July 26, 2018
Tweet
Share
More Decks by Hideaki Tamai
See All by Hideaki Tamai
iOS版KyashにMock Frameworkを導入した話 / Introducing Kyash iOS Test Cases 2020
tamadon
1
2.1k
クロスグレードの実装とつらみの話
tamadon
3
1.1k
子育てエンジニアを支える技術
tamadon
3
5.9k
自作育児サポートアプリのその後
tamadon
1
2.1k
子育てエンジニアの家庭内生存戦略
tamadon
5
2.5k
ジモティー紹介
tamadon
0
1.2k
ジモティーのSEO
tamadon
0
1.4k
Other Decks in Technology
See All in Technology
フェンリルの SwiftUI の研修を覗いてみる / Fenrir SwiftUI Training
studio_rookery
0
170
Automated Tests Now and Future @ SQiP Workshop Special Lecture 2024
teyamagu
PRO
2
530
Oracle Cloud Infrastructure:2024年10月度サービス・アップデート
oracle4engineer
PRO
0
290
LLMOps : ΔMLOps
shuntaito
13
2.5k
最新のWasm事情
askua
5
2.6k
Reality is not an End-to-End Prediction Problem: Applied NLP in the Age of Generative AI
inesmontani
PRO
0
230
さくっと実践!Postmanを活用した高品質で持続可能なAPI管理
yokawasa
5
370
RSGT Walk Through
kawaguti
PRO
2
420
AWS CDK を活用した 大量 AWS アカウントへのプロビジョニング例 〜 SaaSus Platform の場合 〜 於 JAWS-UG CDK支部 #17
yaggy
1
180
Covariance, Contravariance & Diamond
alexdaubois
1
120
生成AI、LLMの いまさら聞けないキホンのキ!/ Generative AI and LLM 101
gakumura
1
170
Delta Commit…の最近...
akuwano
2
140
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9k
The Cost Of JavaScript in 2023
addyosmani
44
5.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
Making Projects Easy
brettharned
115
5.9k
Adopting Sorbet at Scale
ufuk
73
9k
Optimizing for Happiness
mojombo
376
69k
Done Done
chrislema
181
16k
Agile that works and the tools we love
rasmusluckow
327
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
26
730
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
40
2.1k
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ΛݮΒͯ͠ຬ͢ΔͷͰͳ͘ɺ૿͞ͳ͍Έͷߏங͕େࣄ
͝ਗ਼ௌ͋Γ͕ͱ͏͟͝ ͍·ͨ͠