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
770
SkiaとImpellerについて
Taichi Moriya
November 21, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
マウントとるやつ、リリースするやつ
otsuki
1
120
AIと共に開発する時代の組織、プロセス設計 freeeでの実践から見えてきたこと
freee
3
590
決済システムの信頼性を支える技術と運用の実践
ykagano
0
480
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
17
5.3k
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
470
仕様駆動 x Codex で 超効率開発
ismk
2
1.4k
Data & AIの未来とLakeHouse
ishikawa_satoru
0
720
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
1.3k
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
0
170
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
42
12k
クレジットカードの不正を防止する技術
yutadayo
14
6.6k
[mercari GEARS 2025] Keynote
mercari
PRO
0
170
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Building Applications with DynamoDB
mza
96
6.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.1k
Code Reviewing Like a Champion
maltzj
527
40k
Done Done
chrislema
186
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
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͕͋ΕԿͰϨϯμϦϯάͰ͖Δ