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
650
SkiaとImpellerについて
Taichi Moriya
November 21, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
手動からの解放!!Strands Agents で実現する総合テスト自動化
ideaws
3
390
Recoil脱却の現状と挑戦
kirik
3
460
OpenTelemetry の Log を使いこなそう
biwashi
5
1.1k
Jitera Company Deck / JP
jitera
0
250
Wasmで社内ツールを作って配布しよう
askua
0
150
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
210
怖くない!GritQLでBiomeプラグインを作ろうよ
pal4de
1
140
ObsidianをLLM時代のナレッジベースに! クリッピング→Markdown→CLI連携の実践
srvhat09
7
9.7k
データエンジニアがクラシルでやりたいことの現在地
gappy50
3
660
MCPに潜むセキュリティリスクを考えてみる
milix_m
1
870
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.8k
Kiroから考える AIコーディングツールの潮流
s4yuba
1
290
Featured
See All Featured
Done Done
chrislema
184
16k
Visualization
eitanlees
146
16k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Side Projects
sachag
455
43k
Practical Orchestrator
shlominoach
189
11k
Making Projects Easy
brettharned
117
6.3k
Producing Creativity
orderedlist
PRO
346
40k
Rails Girls Zürich Keynote
gr2m
95
14k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
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͕͋ΕԿͰϨϯμϦϯάͰ͖Δ