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
SkiaとImpellerについて
Search
Taichi Moriya
November 21, 2024
Technology
0
640
SkiaとImpellerについて
Taichi Moriya
November 21, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
Amplify Gen2から知るAWS CDK Toolkit Libraryの使い方/How to use the AWS CDK Toolkit Library as known from Amplify Gen2
fossamagna
1
350
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
550
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.3k
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
3k
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
470
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.3k
AIでテストプロセス自動化に挑戦する
sakatakazunori
1
520
An introduction to Claude Code SDK
choplin
2
920
shake-upを科学する
rsakata
7
1k
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
190
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
5
1.5k
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
670
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
We Have a Design System, Now What?
morganepeng
53
7.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Scaling GitHub
holman
460
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Transcript
क୩!גࣜձࣾ%F/" 4LJBͱJNQFMMFSʹ͍ͭͯ
ࣗݾհ w J04ͱ͔'MVUUFSͱ͔8FCϑϩϯ τͱ͔ͬͯ·͢ w έόϒ͕͖Ͱ͢
ಥવͰ͕͢
Ͳ͏ͬͯ6*͕දࣔ͞ΕΔͷ͔ ؾʹͳΓ·ͤΜ͔ʁ
͜ͷؒʹԿ͕ى͍ͬͯ͜Δͷ͔
6*͕දࣔ͞ΕΔ·Ͱ w (16Λհͯ͠ը໘ʹදࣔ w (16Λಈ͔͢ʹ0QFO(-ͳͲ ͷ(SBQIJDT"1*Λ༻ w 'MVUUFSʹݶΒͣͲͷϑϨʔϜϫ ʔΫͰมΘΒͳ͍ (SBQIJD"1*
0QFO(- 7VMLBO .FUBM "QQMJDBUJPO$PEF (16 σΟεϓϨΠ
'MVUUFSͰʁ w 8JEHFU 'SBNFXPSL Λ௨ͯ͠ &OHJOFͷ4LJBJNQFMMFS w 4LJBJNQFMMFS͔Β4VSGBDF͕ ଘࡏ͢Δ&NCFEEFSΛ௨ͯ͠ඳը &NCFEEFS
&OHJOF 4LJBJNQFMMFS 'MVUUFS'SBNFXPSL (SBQIJD"1* 0QFO(- 7VMLBO .FUBM
'MVUUFSͷΞʔΩςΫνϟ w ࡾߏ w 'SBNFXPSL w ΞϓϦͰ͏8JEHFUͳͲ w &OHJOF w
ϨϯμϦϯάϨΠΞτܭࢉɺJTPMBUF ͳͲ w 4LJBͱJNQFMMFS͜͜ʹҐஔ͢Δ w &NCFEEFS w ֤ϓϥοτϑΥʔϜʹରԠͨ͠ॲཧ 'MVUUFSBSDIJUFDUVSBMPWFSWJFX IUUQTEPDT fl VUUFSEFWSFTPVSDFTBSDIJUFDUVSBMPWFSWJFX
ͦͦ4LJBͬͯʁ w l%zઐ༻ͷϨϯμϦϯάΤϯδ ϯ w (PPHMF͕ओಋͯ͠։ൃ w 'MVUUFSҎ֎Ͱ"OESPJE $ISPNFͰ࠾༻͞Ε͍ͯΔ 4LJB
IUUQTTLJBPSH
JNQFMMFSͱʁ w 'MVUUFSઐ༻ͷϨϯμϦϯάΤϯ δϯ w (PPHMF͕ओಋͯ͠։ൃ w 'MVUUFS͔ΒQSFWJFX͕ ελʔτ JNQFMMFS
IUUQTHJUIVCDPN fl VUUFSFOHJOFUSFFNBJOJNQFMMFS
ϨϯμϦϯάΤϯδϯʁ w 0QFO(-ͷॻ͖Ͱ ӈͷΑ͏ʹඳըͰ͖Δ͕ʜ Θͳ͍߹
ϨϯμϦϯάΤϯδϯʁ 4LJBΛͬͯΈΔ w ઌ΄Ͳͷॲཧͱಉ͡ w ΑΓ͔Γ͍͢هड़ w ඳըॲཧΛநԽ w J04"OESPJEΛ͡Ίͱͨ͠
ϓϥοτϑΥʔϜͷରԠ w ඳըॲཧͳͲΛӅṭͨ͠ ϥΠϒϥϦ
'MVUUFSͰͷඳըϑϩʔʹ͍ͭͯ
શମ૾ 8JEHFU &MFNFOU 3FOEFS0CKFDU -BZFS %JTQMBZ-JTU 0Q *NQFMMFS4LJB
ࠓճ͢Δͷ͜͜ 8JEHFU &MFNFOU 3FOEFS0CKFDU -BZFS %JTQMBZ-JTU 0Q *NQFMMFS4LJB
͜͜ΒΜʁ 8JEHFU &MFNFOU 3FOEFS0CKFDU -BZFS 'MVUUFS,BJHJ3FOEFS0CKFDUΑΓԼͷੈքͷ'MVUUFSCZGBTUSJWFSͰৄ͘͠ղઆ͞Εͯ·͢ ͓͢͢ΊͰ͢ɺݟ·͠ΐ͏ʂʂʂʂʂ
8JEHFU w ීஈ৮Δ6*ͷཁૉ w ੜͱഁغ͕සൟʹى͜Δ w ࢠͷใΛͭ w ࣮ଶͱͯ͠8JEHFUΛܧঝͨ͠ 4JOHMF$IJME3FOEFS0CKFDU8JEHFU
ͳͲ
&MFNFOU w 8JEHFUΫϥε͕࣋ͭ DSFBUF&MFNFOU Ͱ࡞ w ϥΠϑαΠΫϧͷཧ w Ϛϯτߋ৽ɺΞϯϚϯ τͳͲ
w 3FOEFS0CKFDUͷཧ $FOUFS 4JOHMF$IJME3FOEFS 0CKFDU&MFNFOU %FDPSBUFE#PY 1BEEJOH 5FYU 4JOHMF$IJME3FOEFS 0CKFDU&MFNFOU 4JOHMF$IJME3FOEFS 0CKFDU&MFNFOU 4UBUFMFTT&MFNFOU
3FOEFS0CKFDU w ϨΠΞτܭࢉϖΠϯτΛߦ ͏ΦϒδΣΫτ w ώοτςετߦ͏ w 3FOEFS0CKFDU8JEHFUͷ࣋ͭ DSFBUF3FOEFS0CKFDU Ͱ࡞
4JOHMF$IJME3FOEFS 0CKFDU&MFNFOU 4JOHMF$IJME3FOEFS 0CKFDU&MFNFOU 4JOHMF$IJME3FOEFS 0CKFDU&MFNFOU 4UBUFMFTT&MFNFOU 3FOEFS1PTJUJPOFE #PY 3FOEFS%FDPSBUFE #PY 3FOEFS1BEEJOH 3FOEFS1BSBHSBQI
-BZFS 'SBNFXPSL w 3FOEFS0CKFDUQBJOU Λ௨ͯ͠࡞ w 1BJOUJOH$POUFYU w ࢠͷ3FOEFS0CKFDUͷQBJOUΛ ࠶ىతʹݺͼग़͢
w -BZFSΛૠೖPS$BOWBTͷ ॻ͖ࠐΈ w ࠓճͷ3FOEFS0CKFDUͰऴͷ 1JDUVSF-BZFSͷΈ࡞͞ΕΔ 1JDUVSF-BZFS 3FOEFS1PTJUJPOFE #PY 3FOEFS%FDPSBUFE #PY 3FOEFS1BEEJOH 3FOEFS1BSBHSBQI 1BJOUJOH$POUFYU
-BZFS &OHJOF w ͔͜͜Β$ ʹมΘΔ w &OHJOFଆͰ-BZFSߏΛѻ͑Δ Α͏ʹͨ͠ΦϒδΣΫτ w 4DFOF#VJMEFSʹΑͬͯ࡞
w 1JDUVSFΛ%JTQMBZ-JTUʹม w 1JDUVSF1BJOUJOH$POUFYUΛ ௨ͨ͠$BOWBTͷॻ͖ࠐΈ 1JDUVSF-BZFS %JTQMBZ-JTU-BZFS
%JTQMBZ-JTU w %JTQMBZ-JTU-BZFS͕࣋ͭ ඳը໋ྩΛ·ͱΊͨσʔλߏ w 1JDUVSF-BZFS͕͍࣋ͬͯͨ 1JDUVSF͔Βม w %JTQMBZ-JTU#VJMEFS#VJME Ͱ࡞
͞ΕΔ %JTQMBZ-JTU#VJMEFS %JTQMBZ-JTU %JTQMBZ-JTU-BZFS
0Q w %JTQMBZ-JTUʹ֨ೲ͞ΕΔඳը໋ ྩͷϞσϧ w ৭ృΓɺจࣈྻͷඳըɺը૾ͷ දࣔͱ͍༷ͬͨʑͳ໋ྩ͕͋Δ w %JTQMBZ-JTU#VJMEFSͷ 1VTI5FYU#MPC$MJQ1BUIͳͲͰ
࡞ %JTQMBZ-JTU %SBX5FYU#MPC0Q 4FU4USPLF8JEUI0Q %SBX$PMPS0Q
Α͏͘*NQFMMFS4LJB 8JEHFU &MFNFOU 3FOEFS0CKFDU -BZFS %JTQMBZ-JTU 0Q *NQFMMFS4LJB
͜͜Ͱগ͠ωΠςΟϒͷΛ
ωΠςΟϒͰͷϨϯμϦϯά w %FWJDF w நԽ͞Εͨ(16 w $PNNBOE#V ff FS w
ඳը͢ΔίϚϯυΛ̍·ͱΊʹͨ͠ͷ w 2VFVF w $PNNBOE#V ff FSͷ2VFVF w *NQFMMFS.FUBM7VMLBOΛ׆༻ w $PNNBOE#V ff FSͷੜ͕࠷ऴతͳඪ .5-$PNNBOE#V ff FS .5-%FWJDF .5-$PNNBOE2VFVF 7L$PNNBOE#V ff FS 7L%FWJDF 7L(SBQIJDT2VFVF (16
*NQFMMFSTLJBͰͷॲཧ w ͜͜·ͰͷྲྀΕͰ࡞ͨ͠0Q͕ %M0Q3FDFJWFSͰॲཧ͞ΕΔ w %M0Q3FDFJWFS0QΛड͚औͬ ͯॲཧ w %M0Q3FDFJWFSBCTUSBDUͰ࣮ମ 4LJB*NQFMMFSʹଘࡏ
%M0Q3FDFJWFS %M%JTQBUDIFS %M4L%JTQBUDIFS 0QT *NQFMMFS 4LJB
*NQFMMFSTLJBͰͷॲཧ 4LJBͷ߹ w %M4L%JTQBUDIFS w 4L$BOWBTΛอ࣋ w 4LJBͰఆٛ͞Εͨ$BOWBT w ֤0QΛ4LJBͷೖྗʹม
w $BOWBTॻ͖ࠐΈ w ͜ΕҎ߱4LJBͷॲཧ %M4L%JTQBUDIFS %M0Q 4L$BOWBT 4LJB 'MVUUFS
*NQFMMFSTLJBͰͷॲཧ *NQFMMFSͷ߹ w %M%JTQBUDIFS w $BOWBTΛอ࣋ w *NQFMMFSͰఆٛ w $BOWBTॻ͖ࠐΈ
w &OUJUZ1BTTม w ࠶ͼߏΛੜ %M%JTQBUDIFS %M0Q *NQFMMFS$BOWBT &OUJUZ1BTT &OUJUZ1BTT &OUJUZ1BTT %SBX1BJOU%SBX1BUI%SBX33FDU
*NQFMMFSTLJBͰͷॲཧ *NQFMMFSͷ߹ w &OUJUZ1BTTͱ w ෳͷ&OUJUZΛอ࣋ͯ࣍͠ͷ&OUJUZ ͷࢀরΛ࣋ͭ w -BZFSͱࣅͨ w
&OUJUZͱʁ w $POUFOUTͷอ࣋ w ࠷ऴతʹ༻͢Δ4IBEFSͳͲ ͷใΛ࣋ͭ &OUJUZ &OUJUZ1BTT &OUJUZ &OUJUZ &OUJUZ1BTT $POUFOUT &OUJUZ1BTT
*NQFMMFSTLJBͰͷॲཧ w $POUFOUTΛ3FOEFS1BTTՃ w 3FOEFS1BTT w 'MVUUFSଆͷ࠷ऴతͳϞσϧ w ֤άϥϑΟοΫε"1*ͷίϚϯ υม͢Δׂ
w .FUBM7VMLBO(-&4ͦΕͧΕ ͷ࣮ମ͕ଘࡏ 3FOEFS1BTT 3FOEFS1BTT.5- 3FOEFS1BTT7, &OUJUZ &OUJUZ1BTT &OUJUZ &OUJUZ $POUFOUT *NQFMMFSͷ߹
*NQFMMFSTLJBͰͷॲཧ w 3FOEFS1BTT͔Β֤ϓϥοτϑΥʔϜ ͷίϚϯυม w $PNNBOE#V ff FS͕2VFVFʹੵ·ΕΔ w (16ૹ৴͞ΕΔ
w ϨϯμϦϯά͞ΕΔʂʂʂ 3FOEFS1BTT.5- 3FOEFS1BTT7, .5-$PNNBOE#V ff FS 7,$PNNBOE#V ff FS .5-$PNNBOE2VFVF (16 7,(SBQIJDT2VFVF *NQFMMFSͷ߹
ϨϯμϦϯάϑϩʔʹ͍ͭͯ
w 1BUI(FOFSBUJPO w ඳըରΛύεʹม w 3BTUFSJ[F w ύε͔ΒඳըྖҬΛࡦఆ w 4IBEJOH
w ඳըྖҬͷ৭Λੜ w #MFOEJOH w 3BTUFSJ[Fͱ4IBEJOHͷ݁ՌΛ߹ 1BUI(FOFSBUJPO 4IBEJOH 3BTUFSJ[F #MFOEJOH 4L$BOWBT %SBX5FYU#MPC%SBX1BUIʜ 4LJBͷϨϯμϦϯάϑϩʔ
w 'MVUUFSͰ4IBEJOH͕ʹ w ૢ࡞࣌ʹಈతʹγΣʔμʔΛ ίϯύΠϧ͢Δ w 4L4-͔Β.4-(-4-ม w ͜ΕΛͨͳ͍ͱ͍͚ͳ͍ w
ΧΫπΩ͕ൃੜʜ 1BUI(FOFSBUJPO 4IBEJOH 3BTUFSJ[F #MFOEJOH 4L$BOWBT %SBX5FYU#MPC%SBX1BUIʜ 4LJBͷϨϯμϦϯάϑϩʔ
*NQFMMFSͷϨϯμϦϯάϑϩʔ w 4LJBͱҧ͍%·Ͱఆ w Ұൠతͳ(16ύΠϓϥΠϯͱ͍ۙ w .FUBM7VMLBOͱ΄΅ಉ͡ߏ w ΑΓࡉ͔͘(16Λѻ͑ΔΑ͏ʹ 3BTUFSJ[BUJPO
7FSUFY4IBEFS 4UFODJM5FTU 'SBHNFOU4IBEFS #MFOEJOH (FPNFUSZ4IBEFS 7FSUFY4IBEFS 'SBHNFOU4IBEFS 3BTUFSJ[BUJPO #MFOEJOH 'MVUUFS 7VMLBO
*NQFMMFSͷϨϯμϦϯάϑϩʔ w γΣʔμʔʹ͍ͭͯʁ w ࣄલίϯύΠϧ͞ΕΔΑ͏ʹ w *NQFMMFSDʹΑͬͯϏϧυ͞ΕΔ w γΣʔμʔͷݴޠ4L4-͔Β (-4-มߋ
(-4- 4IBEFS *NQFMMFSD 41*37 .FUBM4IBEFS -BOHVBHF 3F fl FDUPS $ #JOEFS .FUBM-JCSBSJFT
͜͜·Ͱઆ໌͖ͯ͠·͕ͨ͠
8JEHFU &MFNFOU 3FOEFS0CKFDU -BZFS %JTQMBZ-JTU 0Q *NQFMMFS4LJB
ͳͥ͜Μͳʹ͍ͷ͔ʁ
JNQFMMFSͷٙ w 8JEHFU͔Β*NFQMMFS4LJB·Ͱ͔ͳΓଟߏʹͳ͍ͬͯΔ͚Ͳඞཁʁ w ࣮%JTQMBZ-JTU4LJB෦ͱࣅͨΑ͏ͳσʔλߏ w 4LJBνʔϜͰͳ͘'MVUUFSνʔϜͱͯ͠ϝϯςͰ͖Δ w ΩϟογϡͷՃͳͲ͕ߦΘΕ͍ͯΔ w
4LJB*NQFMMFSͱʹγʔϜϨεʹҠߦͰ͖Δ
*NQFMMFSͰԿ͕มΘ͔ͬͨ ·ͱΊ w γΣʔμʔͷࣄલίϯύΠϧʹΑΓૢ࡞࣌ͷੑೳͷ্ w 'MVUUFSνʔϜओಋͰͷվળ w ΑΓ(16ʹ͍ۙϨϯμϦϯάύΠϓϥΠϯͷఏڙ w 'MVUUFS(16Λ͡Ίͱͨ͠ϨϕϧͳάϥϑΟοΫεૢ࡞ͷఏڙ͕Մೳʹ
w ݪཧతʹରԠ͢Δ0Q&OUJUZ͕͋ΕԿͰϨϯμϦϯάͰ͖Δ