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
Dartにおける静的解析 / FlutterKaigi 2022
Search
hisaichi5518
November 17, 2022
Technology
2.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dartにおける静的解析 / FlutterKaigi 2022
hisaichi5518
November 17, 2022
More Decks by hisaichi5518
See All by hisaichi5518
技術力あげたい
hisaichi5518
4
4.9k
ソフトウェアエンジニアが品質保証を学んでわかったこと / What software engineers have learned about quality assurance
hisaichi5518
6
12k
10X と Flutter / 10X with Flutter
hisaichi5518
0
2.4k
ひさいちとの1on1
hisaichi5518
0
2.6k
しあわせ推進委員会 / Shiawase Promotion Committee
hisaichi5518
0
1.3k
2017-03-23
hisaichi5518
0
3.8k
Pepabo Tech Conference 7
hisaichi5518
1
1.2k
かんばんやりたい
hisaichi5518
0
1.1k
エンジニアの立ち居振る舞い
hisaichi5518
2
1.6k
Other Decks in Technology
See All in Technology
Claude Code 珍プレー好プレー
shinyasaita
0
330
AI Driven AI Governance
pict3
0
340
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
210
シンガポールで登壇してきます
yama3133
0
120
Kaggleで成長するために意識したこと
prgckwb
2
320
Zoom2Youtube.Claude
kawaguti
PRO
3
490
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
2
270
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
160
世界、断片、モデル。そして理解
ardbeg1958
1
110
ゼロをイチにする仕事が終わったあと
smasato
0
340
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
110
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
1
380
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
A Modern Web Designer's Workflow
chriscoyier
698
190k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
190
YesSQL, Process and Tooling at Scale
rocio
174
15k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Why Our Code Smells
bkeepers
PRO
340
58k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
310
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Mind Mapping
helmedeiros
PRO
1
280
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.9k
Transcript
©︎ 2022 10X, Inc. %BSUʹ͓͚Δ੩తղੳ 1
2 ࣗݾհ ©︎ 2022 10X, Inc. !IJTBJDIJ גࣜձࣾ9ιϑτΣΞΤϯδχΞ 'MVUUFS💙 OBUJWF@XFCWJFXMJOUJOH
©︎ 2022 10X, Inc. 3 ੩తղੳͬͯͳΜͩʁ
4 ੩తղੳͬͯͳΜͩʁ ©︎ 2022 10X, Inc. l੩తίʔυղੳ ͍͖ͤͯίʔυ͔͍͖ͤɺTUBUJDDPEFBOBMZTJT ·ͨ੩తϓϩ άϥϜղੳ
TUBUJDQSPHSBNBOBMZTJT ͱɺίϯϐϡʔλͷιϑτΣΞͷղੳख ๏ͷҰछͰ͋Γɺ࣮ߦϑΝΠϧΛ࣮ߦ͢Δ͜ͱͳ͘ղੳΛߦ͏͜ͱɻz Ҿ༻ݩIUUQTKBXJLJQFEJBPSHXJLJ੩తίʔυղੳ
5 ղੳͬͯͳʹ͢Δͷʁ ©︎ 2022 10X, Inc. ίʔυͷՄಡੑΛԼ͛ͨΓόάΛੜΈ͘͢͢ΔͳͲͰආ͚Δ͖ίʔυͷॻ͖ํΛ ϧʔϧͱͯ࣋ͪ͠ɺϧʔϧʹ͢ΔίʔυͷൃݟͱܯࠂΛߦ͏ɻͦͯͦ͠ͷϧʔϧʹ ߹͏Α͏ʹࣗಈͰमਖ਼Ͱ͖ΔͳΒमਖ਼͢Δ ˞ࠓճͷεϥΠυͰͷఆٛ
6 ۩ମྫEBSUBOBMZ[F ©︎ 2022 10X, Inc.
7 ۩ମྫEBSU fi Y ©︎ 2022 10X, Inc.
©︎ 2022 10X, Inc. 8 9Ͱ ੩తղੳΛͲ͏׆༻͍ͯ͠Δʁ
9 େલఏ fl VUUFSBOBMZ[FEBSUBOBMZ[FͬͯΔ ©︎ 2022 10X, Inc. ɾBOBMZTJT@PQUJPOTZBNMͰར༻͢ΔϧʔϧΛઃఆͰ͖Δ ɾݸͣͭϧʔϧΛࢦఆͰ͖Δ͕ɺϕετϓϥΫςΟεʹΔͷ͕͍͍
ɾ࠷ۙɺެࣜͰ fl VUUFS@MJOUT MJOUT͕͋Δ ɾ9ͰQFEBOUJDΛ͍ͬͯΔɻ(PPHMF෦͚Ͱࠓඇਪ
©︎ 2022 10X, Inc. 10 ϧʔϧʹ͢Δίʔυͷൃݟͱܯࠂ Ͱಠࣗʹ͍ͬͯΔ͜ͱ
11 ϧʔϧʹ͢ΔίʔυͷൃݟͱܯࠂͰಠࣗʹ͍ͬͯΔ͜ͱ Ұ෦ ©︎ 2022 10X, Inc. ɾ 'MVUUFS ಛఆͷॴҎ֎Ͱ*NQPSUͯ͠΄͘͠ͳ͍ϑΝΠϧΛJNQPSU͍ͯ͠Δ߹ʹΤϥʔ
ɾ 'MVUUFS ࣗલͰఆ͍ٛͯ͠Δ5FYU4UZMFҎ֎Λར༻͢ΔͱΤϥʔ ɾ αʔό 'JSFTUPSFͷ*/ΫΤϦʹมΛࢦఆͨ͠ΒΤϥʔ ɾ αʔό ςετ࣌ʹFYQFDU-BUFS͕ඞཁͳ࣌ʹFYQFDUΛར༻͍ͯ͠ΔͱΤϥʔ ˞9αʔόαΠυ%BSUͰ͢
12 ಛఆͷॴҎ֎Ͱ*NQPSUͯ͠΄͘͠ͳ͍ϑΝΠϧΛJNQPSU͍ͯ͠Δ߹ʹΤϥʔ ©︎ 2022 10X, Inc. ɾ9ఏڙΞϓϦɺ8FCͱϞόΠϧΞϓϦʹରԠ͍ͯ͠Δ ɾ8FCͰϏϧυ͢Δ࣌ͱϞόΠϧΞϓϦͰϏϧυ͢Δ࣌ͰಡΈࠐΈ͍ͨϑΝΠϧ͕ҧ͏ͷͰ BQQEBSUΛܦ༝ͯ͠JNQPSU͢ΔΑ͏ʹ͍ͯ͠Δ ɾXFC@BQQEBSU
NPCJMF@BQQEBSUΛJNQPSU͞ΕΔͷආ͚͍ͨ
13 ࣗલͰఆ͍ٛͯ͠Δ5FYU4UZMFҎ֎Λར༻͢ΔͱΤϥʔ ©︎ 2022 10X, Inc. ɾ9Ͱɺར༻͢Δ5FYU4UZMFΛ5FYU4UZMFTͱ͍͏Ϋϥεʹ·ͱΊͯఆ͍ٛͯ͠Δ ɾ։ൃऀ͕ࣗલͰ5FYU4UZMFΛఆٛͯ͠ར༻͢Δͷආ͚͍ͨ
14 'JSFTUPSFͷ*/ΫΤϦʹมΛࢦఆͨ͠ΒΤϥʔ ©︎ 2022 10X, Inc. ɾ'JSFTUPSF*/ΫΤϦʹΛ࠷େݸ͔͠ࢦఆͰ͖ͳ੍͍ݶ͕͋Δɻݸࢦఆ͢Δͱ࣮ߦ࣌ ʹΤϥʔʹͳΔ ɾมΛ͍ͯ͠Δͱ։ൃڥͰؾ͚ͣຊ൪ͰΤϥʔʹͳΔ͜ͱ͕͋ΔͷͰආ͚͍ͨ
15 'JSFTUPSFͷ*/ΫΤϦʹมΛࢦఆͨ͠ΒΤϥʔ ©︎ 2022 10X, Inc. ɾྻΛͦͷ··ͤΤϥʔʹͳΒͳ͍Α͏ʹ͍ͯ͠Δ ɾݸ·Ͱ͑ͯͳ͍
16 ςετ࣌ʹFYQFDU-BUFS͕ඞཁͳ࣌ʹFYQFDUΛར༻͍ͯ͠ΔͱΤϥʔ ©︎ 2022 10X, Inc. ɾςετ࣌ʹFYQFDUʹ'VUVSFʜΛ͢ͱBXBJU͞Εͣɺ࣍ͷߦͷॲཧʹҠͬͯ͠·͏ͷͰආ ͚͍ͨ
©︎ 2022 10X, Inc. 17 ͲͷΑ͏ʹ࣮͔ͨ͠ʁ
18 લఏEBSUBOBMZ[FͱEBSU fi Yͷ՝ ©︎ 2022 10X, Inc. ɾ%BSUʹɺEBSUBOBMZ[FͱEBSU fi
Y͕͋Δ ɾ͔͠͠EBSUBOBMZ[FEBSU fi Yʹ։ൃऀ͕ಠࣗϧʔϧΛఆٛ͢ΔΈ͕·ͩͳ͍ ɾͳͷͰɺಠࣗϧʔϧΛ࡞͍ͨ͠߹։ൃऀ͕EBSUBOBMZ[FͱEBSU fi Yͱಉ͡Α͏ͳ࣮Λ ࣗલͰ࣮͢Δඞཁ͕͋Δ IUUQTHJUIVCDPNEBSUMBOHMJOUFSJTTVFT
19 $-*ίϚϯυฤ ©︎ 2022 10X, Inc. ɾ%BSU4%,ʹؚ·ΕΔMJOUFSQBDLBHFΛ͙࣮͑͢Ͱ͖Δ ɾϧʔϧͷॻ͖ํMJOUFSʹ͋Δϧʔϧͷ࣮ΛಡΊ0, ɾIUUQTHJUIVCDPNEBSUMBOHMJOUFS ϝϦοτ
w*%&্ʹࢦఠ༰Λදࣔ͢Δ͜ͱ͕Ͱ͖ͳ͍ wར༻͢ΔͷMJOUFSͷެ։͞Εͨ"1*Ͱͳ͍ͷͰյΕΔ͔͠Εͳ͍ σϝϦοτ
20 $-*ίϚϯυ࣮ྫ ©︎ 2022 10X, Inc.
21 $-*ίϚϯυ࣮ߦྫ ©︎ 2022 10X, Inc.
22 ࣮ࡍ࡞ͬͯΈͯ ©︎ 2022 10X, Inc. ɾ͙͢࡞Εͯศརʂ ɾίϚϯυ͕͋Δͬͯ͜ͱ(JUIVC"DUJPOTͳͲ$*্Ͱಈ͔ͤΔͷͰศར ɾ͚Ͳ։ൃͯ͠Δͱ͖ʹ*%&্Ͱࢦఠ͞Εͳ͍ͱؾͮ͘ͷʹΕͯ։ൃମݧ͕ྑ͍ͱݴ͑ͳ͍
23 BOBMZ[FSQMVHJOฤ ©︎ 2022 10X, Inc. w*%&্ʹࢦఠ༰Λදࣔ͢Δ͜ͱ͕Ͱ͖Δ ϝϦοτ w࣮͢Δྔ͕ଟ͍͠σόοά͕େม $-*ίϚϯυࣗલͰ࡞Δඞཁ͋Γ
wϧʔϧͷఆٛࣗલ࣮ͳͷͰɺ͋·ΓࢀߟʹͳΒͳ͍͔ σϝϦοτ
24 BOBMZ[FSQMVHJOͰ࣮͢Δඞཁ͕͋Δͷ ©︎ 2022 10X, Inc. ɾϧʔϧʹҧ͢Δ͔ݕূ͢Δ "OBMZ[FS ɾҧͨ͠ίʔυͷܯࠂ͢Δ
3FQPSUFS ɾ"OBMZ[FSͱ3FQPSUFSΛ·ͱΊΔ "OBMZ[F$PNNBOE ɾBOBMZ[FSQMVHJO͔Βݺͼग़͞Εͯ"OBMZ[F$PNNBOEΛ࣮ߦ͢Δ "OBMZ[FS1MVHJO ɾ$-*ίϚϯυ͔Βݺͼग़͞Εͯ"OBMZ[F$PNNBOEΛ࣮ߦ͢Δ $MJ3VOOFS
25 BOBMZ[FSQMVHJOฤ࣮ྫ ©︎ 2022 10X, Inc. -JOUJOHͦΕΒͷ࣮Λ༻ҙ͍ͯ͠ΔͷͰݺͼग़͚ͩ͢ IUUQTQVCEFWQBDLBHFTMJOUJOH
26 ࣮ࡍ࡞ͬͯΈͯ ©︎ 2022 10X, Inc. ɾ*%&্ʹࢦఠ༰͕දࣔ͞ΕΔͷͰ͙͢ؾ͚ͮͯศར ɾ࣮ͨͩͱ"OBMZ[FS1MVHJOͷσόοά͕େม ɾͱΓ͋͑ͣಈ͘ܗʹ͢ΔͷͰिؒɺϦϑΝΫλϦϯάͯ͠ʴिؒ͘Β͍
27 BOBMZ[FSQMVHJO͕ಈ͍͍ͯͳ͍͔͠Εͳ͍࣌ͷσόοάςΫ ©︎ 2022 10X, Inc. ɾFYFDVUJPOQBUIͷதɺఆ͍ͯͨ͠༰ʹͳ͍ͬͯΔ͔ ɾ)0.&EBSU4FSWFSQMVHJO@NBOBHFSͷQMVHJOEBSUΛ࣮ߦͯ͠ΈͯΤϥʔʹͳΔ͔֬ ೝ ɾ"OBMZ[FSQMVHJOͰ%FCVHHFSΛ͏
Γํ͕ਖ਼͍͔͠ඍົ
28 ·ͣɺجຊ ©︎ 2022 10X, Inc. ɾ*OUFMJ+Λ͍·͢ ɾ%BSU"OBMZUJDTλϒʹҠಈͯ͠ࣃंΛΫϦοΫ͢Δ ͱl7JFXBOBMZ[FSEJBHOPTUJDTzͱ͍͏ͷ͕ग़ΔͷͰ ΫϦοΫ
ɾ"OBMZTJT4FSWFS%JBHOPTUJDT্ཱ͕͕ͪΔͷͰɺ 1MVHJOTλϒʹҠಈ ɾࠨͷঢ়ଶͩͬͨΒਖ਼͘͠ಈ͍͍ͯΔ
29 FYFDVUJPOQBUIͷதɺఆ͍ͯͨ͠༰ʹͳ͍ͬͯΔ͔ ©︎ 2022 10X, Inc. ͓͔͍࣌͠ϑΝΠϧΛফ͢ͱΔ
30 )0.&EBSU4FSWFSQMVHJO@NBOBHFSͷQMVHJOEBSUΛ࣮ߦͯ͠ΈͯΤϥʔʹͳΔ͔֬ೝ ©︎ 2022 10X, Inc. ΤϥʔʹͳͬͯΔ࣌ͳ͓͢
31 "OBMZ[FSQMVHJOͰ%FCVHHFSΛ͏ ©︎ 2022 10X, Inc. ͜ͷυΩϡϝϯτ͕ৄ͍͠ʂ IUUQTHJUIVCDPN8PSLJWBPWFS@SFBDUUSFF NBTUFSUPPMTBOBMZ[FS@QMVHJOEFCVHHJOHUIF QMVHJO
32 ݱঢ়ͱࠓޙ ©︎ 2022 10X, Inc. ɾ-JOUJOHͱ͍͏ύοέʔδΛ࡞ͬͯ9Ͱར༻͍ͯ͠Δ ɾJOWFSUBTF͔ΒDVTUPN@MJOUͱ͍͏ύοέʔδ͕݄ʹग़ͨ ɾ͜ΕMJOUJOHಉ༷؆୯ʹBOBMZ[FSQMVHJOΛ࡞ΕΔ ɾ9ͰMJOUJOHΛΊͯDVTUPN@MJOUʹҠߦ͢Δ༧ఆ
ɾͳͷͰMJOUJOHͰͳ͘DVTUPN@MJOUΛͬͯͶ
©︎ 2022 10X, Inc. 33 ίʔυͷॻ͖͑
34 1SPWJEFS͔Β3JWFSQPEͷஔ͖͑ ©︎ 2022 10X, Inc. ɾ݄ࠒɺ1SPWJEFS͔Β3JWFSQPEʹҠߦ͍ͨ͠ ɾͪ·ͪ·มߋ͢ΔͷେมͳͷͰҰؾʹஔ͖͍͑ͨ ɾ੩తղੳͰ1SPWJEFS͔Β3JWFSQPEʹҰؾʹஔ͖͑Δͧʂ
©︎ 2022 10X, Inc. 35 ͲͷΑ͏ʹ࣮͔ͨ͠ʁ
36 EBSU@DPEFNPE ©︎ 2022 10X, Inc. ɾϧʔϧʹϚον͢Δίʔυͷॻ͖͕͑ग़དྷΔศརύοέʔδ ɾ"45ɺਖ਼نදݱΛॻ͖͑ͷ݅ʹग़དྷΔ ɾIUUQTQVCEFWQBDLBHFTDPEFNPE ɾSJWFSQPEͰ3JWFSQPEYܥ͔ΒYܥͷஔ͖͑DPEFNPEΛ࣮ͬͯ͞Ε͍ͯΔ
37 EBSU@DPEFNPEͷ࣮ྫ ©︎ 2022 10X, Inc.
38 ࣮ࡍ࡞ͬͯΈͯ ©︎ 2022 10X, Inc. ɾDPEFNPEͰίʔυΛॻ͖͑Δͷ؆୯ʹͰ͖ͯศར ɾϏϧυ͕ग़དྷΔͱ͜Ζ·Ͱग़དྷ͚ͨͲɺಈ͖͕ෆԺͩͬͨͷͰϚʔδ͠ͳ͔ͬͨ ɾҰؾʹஔ͖͑Δʹɺ࡞ΓࠐΉඞཁ͕͋Δ ɾͪΌΜͱΔͳΒখ࣮ͯ͘͞͠খ࣮͘͞ߦ͍ͯ͘͠ͷ͕Α͔ͬͨ
ɾࠓۀҕୗͷਓʹखͬͯΒͬͯखಈͰઈࢍҠߦத
©︎ 2022 10X, Inc. 39 ·ͱΊ
40 ·ͱΊ ©︎ 2022 10X, Inc. ɾ੩తղੳΛ͑ίʔυͷϧʔϧҧΛݟ͚ͭͨΓमਖ਼ग़དྷͯศརʂϦ ϑΝΫλϦϯάʹ͑Δ ɾEBSUBOBMZ[FͱEBSU fi
YΧελϜϧʔϧ͕ར༻Ͱ͖ͳ͍ͷͰಠࣗϧʔϧ Λఆ͍ٛͨ͠ͳΒࣗલͰ࣮͢Δඞཁ͕͋Δ ɾϧʔϧҧΛݟ͚ͭΔͨΊͷ࣮DVTUPN@MJOUΛָ͑ʹ࣮Ͱ͖Δ ɾBOBMZ[FSQMVHJOMJOUJOH͕ࢀߟʹͳΔ͔ ɾίʔυͷॻ͖͑ͷ࣮DPEFNPEΛָ͑ʹ࣮Ͱ͖Δ ɾҰؾʹΔͷେมͳͷͰখ࣮͘͞ɺ࣮ߦɺվળ͍ͯ͘͠ͷ͕ྑͦ͞ ͏
41 ͋Γ͕ͱ͏͍͟͝·ͨ͠ ©︎ 2022 10X, Inc.