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
PWAでお絵描きアプリを作った話
Search
kurokky
February 15, 2023
Technology
0
260
PWAでお絵描きアプリを作った話
for PWA night vol.48
kurokky
February 15, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
160
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
130
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
880
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.3k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
330
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
4.9k
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
0
330
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
200
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
270
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
180
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
100
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Designing for Timeless Needs
cassininazir
0
130
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Deep Space Network (abreviated)
tonyrice
0
45
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Believing is Seeing
oripsolob
1
53
Transcript
!"#$ %&'()*+, -./0 1 2 3 4 5 6 7
8 9 : ; < = > ? @ A BC D E FG B HIJ
!"#$%&'()*+,-./0 1234 5678559:;< =>?@AB ଉࢠ ࡀ ɺΠϠΠϠظਅͬΓͷ່ ࡀ ͷࣇͷɻ γϯάϧϘʔυίϯϐϡʔλʔͰαʔόʔߏஙͨ͠ΓGSFFGPOU࡞ɺ࡞ۂɺ
FTQͳͲͰ*P5ɺ%ϓϦϯλʴిࢠ࡞Ͱ͜ͲͷΦϞνϟΛ࡞ͬͨΓ ৭ʑͯ͠·͢ɻ ༮ஓԂͷΠϕϯτͷ߹Ͱ͑ͯ·͕͢ɺීஈࢵ৭ͷϞώΧϯͰ׆ ಈͯ͠·͢ɻ ݄̎ʹͰ͖ͨגࣜձࣾ#SFXVTͰ$50తͳԿ͔Λ͍ͬͯ·͢ɻ !CMBDL@USFF LVSPLLZ !LVSPLLZ
!"#$%&'()*+,-./0 (.12 ࡢͷՆٳΈͷ͜ͱʜ ͷॳຍɺࡀ ࣌ ͷ່͕ੜޙҰभͷ࣮Ոʹؼͬͯͳ͍͜ͱ ͳͲΛ౿·͑߅ݪݕࠪΛ͠ؼল͍ͯ͠ΔඈߦػͷதͰࣄ͓͖݅·ͨ͠ɻ ࡀ ࣌ ͷଉࢠ͕
%&1(3/45678(/4 ͱݴ͍͡Ί·ͨ͠ɻʢଉࢠࣈΛॻ͘ͷʹϋϚͬͯ·ͨ͠ɻʣ ଉࢠ ࣗը૾
ΩλΩλʂଉࢠΑ*5ͪΌΜΛͳΊΔͳʂ !"#$%&'()*+,-./0 123456789%:;;<=>7=?@6<ABCD2E $FG,HIJKLFCMNO$PDQR S-32TUV 7W:XHIYKLFCMZ[3\ ]^_`a
!"#$% ΩλΩλʂଉࢠΑ*5ͪΌΜΛͳΊΔͳʂ &'()*+,-./012345 6789:;<=>*?@@ABC<BDE;AFGHI7J )KL1MNOPQKHRST)UIVW X287YZ[ しかし <\?]MN^PQKHR_`8a
!"#$%&' ()*+,-./0$123456
!"#$%&' ʢࡀࣇʹ༗ྉͷΞϓϦϨΠϠʔͱ͔͋ͬͯ6*తʹߴػೳ͗͢ΔͷͰ͢ʣ ϑϦʔͷΞϓϦʹଟ͍ ΦϑϥΠϯͰਅͬനʹͳΔ ࠂදࣔྖҬʂ ()*+,-./0$123456
!"#$ %&'()*+,-./01234
!"#$ %%&'()*+ ,-"./0 123456789:;<=>?@
!"#$ %%&'()*+ ,-"./0 123/456".78/9 :;<=5>?@ABCDEFGH
!"#$ %%&'()*+ ,-"./0 123/456".78/9 :;<,-"./0 =>?@5AB;CDEFGHIJ
!"#$ %%&'()*+ ,-"./0 123/456".78/9 :;<,-"./0 123/456".78/9 =>?@5AB;CDEFGHIJ
!"#$ %%&'()*+ ,-"./0 123/456".78/9 :;<,-"./0 123/456".78/9 :;<,-=>../0 ?@AB5CD;EFGHIJKL
!"#$%&'()*+,-./012% 3456 77 89:;<= >)4?@A BCD@E(F4?GH@I JKL>)4?@A BCD@E(F4?GH@I JKL>)*M??@A BCD@I
N7,OPQRS?TUDV
!"#$%&'( )*+)*,-./&01234 56789:;<=>?@AB2C ່
!"#$%&'( )*+)*,-./&01234 -.+56$788$-9:;<=>?@AB C01DE3 =FGCHIJKLMNOP92Q ່
!"#$%&'( )*+)*,-./&01234 -.+56$788$-9:;<=>?@AB C01DE3 -9:FGHI$JK+CLD3MJN ;OPQR.SD3B =TUCGVWLOPQXY92Z ່
!"#$%&'( )*+)*,-./&01234 -.+56$788$-9:;<=>?@AB C01DE3 -9:FGHI$JK+CLD3MJN ;OPQR.SD3B TUM =VWCGXYLOPQZ[92\ ່
!"#$%&'( )*+)*,-./&01234 -.+56$788$-9:;<=>?@AB C01DE3 -9:FGHI$JK+CLD3MJN ;OPQR.SD3B TUM )*+)*N =VWCGXYLOPQZ[92\ ່
່
!"#$%&'()*+,-./012% 345,6789 :;<:;=>?@7A%BCD >?<EF,GHH,>IJKLMNOPQR SA%TUC >IJV(WX,YZ<S[TC\Y] K^_`a?bTCR cd\ :;<:;] eYGfUTCG
່ ່
!"#$ %&'()*+,-./012/3 45 67-89:;<=>?@A&BC
!"#$ %&'()*+,-./012/3 45 %&'678&9:;<=>?@A BC-DEFGHIJKLM&NO
!"#$ %&'()*+,-./012/3 45 %&'678&9:;<=>?@A B&CDEFGH CI;BJ=CKD LLGMNJ? OP-QRSTUVWXYM&Z[
!"#$%&'()*+,-./012345678 239: ;</=>?@ABCDEFGDH IJ ;</KLM<NOP1Q7RST U<VWXYZ[ V\PU]QV^W __Z`a]R U]QRTXbcOPAR[
!"#$!% &'()*+,-./01 23456/' 789:;$!<=> ?@A%2345B)C7DEFG
!"#$%&'()*+,-./01 234/56789$:,;<=>
!"#$%&'()*+,-./01 18"ք۾ʹ͍ͳ͍ͱࢥ͍·͕͢ɺϚϧνϓϥοτϑΥʔϜͱฉ͍ͯ 'MVUUFSͩͷ3FBDU/BUJWFͩͷ6OJUZɺ3VTUͳͲ͕಄ʹු͔Μͩํʜ 234/56789$:,;<=>
!"#$%&'()*+,-./01 18"ք۾ʹ͍ͳ͍ͱࢥ͍·͕͢ɺϚϧνϓϥοτϑΥʔϜͱฉ͍ͯ 'MVUUFSͩͷ3FBDU/BUJWFͩͷ6OJUZɺ3VTUͳͲ͕಄ʹු͔Μͩํʜ 23/456789:; <=>?@A/:; BCD/2EFGH$I,JKLM
!"#$%&'()*+,-./ ͜Ͳɺ(PPHMF"QQMFͷ৹ࠪ࣌ؒ·ͯ͠CVJME࣌ؒͳΜͯؔͳ͍Μ Ͱ͢ɺͬͯ͘Ε·ͤΜɻ ʰ΄͍͠ʱͬͯݴͬͨΒεάͳ͍ͱμϝͳΜͰ͢ɻ ͷઢͰ͚͢ͲɺωΠςΟϒͱ͔ඇωΠςΟϒͱ͔ίʔυ͕Ԛ͍ͱ͔ ؔͳ͍ΜͰ͢ɻ 01234567(89:;<=>
!"#$%&'()*+,-./ ͜Ͳɺ(PPHMF"QQMFͷ৹ࠪ࣌ؒ·ͯ͠CVJME࣌ؒͳΜͯؔͳ͍Μ Ͱ͢ɺͬͯ͘Ε·ͤΜɻ ʰ΄͍͠ʱͬͯݴͬͨΒεάͳ͍ͱμϝͳΜͰ͢ɻ ͷઢͰ͚͢ͲɺωΠςΟϒͱ͔ඇωΠςΟϒͱ͔ίʔυ͕Ԛ͍ͱ͔ ؔͳ͍ΜͰ͢ɻ ɾࠂ͕ͳͯ͘ɺ͋Δఔͷ͜ͱ͕Ͱ͖Δɻ ɾ͍͖ͭΔ͔͔Βͳ͍ͷͨΊʹԁग़͢ͷ੯͍͠ʂ ɾλϒϨοτͰεϚϗͰʰϙΠͬʂʱͱεάʹॻ͚Δ͜ͱʂ ɾͰͰɺ੩Իͳۭ͕ؒੜ·ΕΔ͜ͱɻ
超⼤事 01234567(89:;<=>
!"#$%&'()*+,-./0 ฐࣾ #SFXVT શϦϞʔτϫʔΫͷձࣾͰ͢ɻΦϯϥΠϯͷϛʔςΟ ϯάπʔϧͱͯ͠(PPHMF.FFUΛ༻͍ͯ͠·͢ɻ ·ͨखܰʹϥΠϒ৴͕Ͱ͖Δ"MJWFͱ͍͏πʔϧΛ։ൃ͍ͯ͠·͢ɻ ͦͷΦϯϥΠϯϛʔςΟϯάதʰը໘γΣΞதʹϝϞॻ͖͍ͨ͠ͳ͊ʱ ͱࢥ݄ͬͯʹʰΕͥΜͯΜ͠ΐΜʱͱ͍͏(PPHMF$ISPNF ͷ֦ுػೳΛϦϦʔεͨ͠ͷͰ͕͢ɺϩʔΧϧʹͦͷ+BWB4DSJQUͷίʔυ ͕͋ͬͨͷͰͦΕΛྲྀ༻͠·ͨ͠ɻ
123.456789:&;<=>
!"#$%&'()!"*+, લड़͠·͕ͨ͠ɺ͜ͱͷൃඈߦػͷதͳͷͰશΦϑϥΠϯڥͰ͢ɻ 1$Λ৽ௐͨ͠ͷ͋ΓOQN ZBSO UZQFTDSJQU TBTT ͑·ͤΜʜ -./*012+3456789:
!"#$%&'()!"*+, લड़͠·͕ͨ͠ɺ͜ͱͷൃඈߦػͷதͳͷͰશΦϑϥΠϯڥͰ͢ɻ 1$Λ৽ௐͨ͠ͷ͋ΓOQN ZBSO UZQFTDSJQU TBTT ͑·ͤΜʜ ͦΕͰ։ൃͰ͖Δͷ͕ -./*012+3456789:
!"#$%&'()!"*+, લड़͠·͕ͨ͠ɺ͜ͱͷൃඈߦػͷதͳͷͰશΦϑϥΠϯڥͰ͢ɻ 1$Λ৽ௐͨ͠ͷ͋ΓOQN ZBSO UZQFTDSJQU TBTT ͑·ͤΜʜ ͦΕͰ։ൃͰ͖Δͷ͕ -./ 01
*2 -./*345+6789:;<=
!"#$%&'"()* ͰͰ͖ͨͱݴ͑ϓϩτλΠϓɺΫΦϦςΟΛ͋Δఔ·Ͱ্͛Δ ͷʹͦΕͳΓʹۤ࿑͠·͢ɻ ඈߦػͰͷ࡞ޙɺ࣮Ոʹؼলͯ͠վྑ͠·ͨ͠ɻ ݸਓ։ൃͷΑ͍ͣͬͱ։ൃ͠ଓ͚ΒΕΔ͜ͱͰ͕͢ଥڠඞཁͰ͢ɻ ࣍ทΑΓ)5.-ͩͱͳ͔͕ͬͨ18"ʹ͚ͨ࣌ͩ͠ʹى͜Γۤ࿑ͨ͠ ͱଥڠͨ͠Λͭͣͭհ͠·͢ɻ ʢଞʹ5JQT͕͋ΔͷͰ͕࣌ؒ͢ͷ߹͋ΔͷͰৄࡉ2JJUBʹهࡌ͍ͯ͠·͢ɻʣ ༨ஊͰ່͕͕͢Ұ൪ؾʹೖͬͨػೳϝχϡʔදࣔɾඇද͕ࣔΓସΘΔ 6*ͷ෦Ͱͨ͠ɻ
+,-./0123456789:
!"#$%& 18"ʹͳΔͱIUNMDBOWBT͕ಈ͔ͳ͍ ը૾อଘػೳͱͯ͠IUNMDBOWBTΛ͍ͬͯͨΜͰ͕͢ɺ͜Ε͕18"ʹ ͳΔͱਖ਼ৗʹಈ࡞͠·ͤΜͰͨ͠ɻ ௨৴पΓͰ৭ʑ͕͋ΔΜͩΖ͏ͳ͊ͱਪଌ͍ͯ͠·͢ɻ ৄ͘͠ϩδ οΫݟͯ·ͤΜ͕ɺଟҰ୴+4Ͱ֘ͷ63-ͷDTTΒؚΉͷΛ%-͠ ͯͦΕΛݟ͑ͳ͍EPNʹల։ͯ͠DBOWBT͔Βը૾Խͯ͠Δͦͷ௨৴෦ ͕͏·͍͔͘ͳ͍ͷͰʁ Ͱɺ݁ہDBOWBTΛෳ༻ҙͯͦ͠ΕΛNFSHFͱ͍͏͔KPJO
͢ΔΑ͏ͳ ϩδοΫʹ͠·ͨ͠ɻ '()*+,-./01234$5
!"#$%& "OESPJEͷΈ18"Ͱը໘αΠζ͕औಘͰ͖ͳ͍ ͓ֆඳ͖ػೳDBOWBTͱ͍͏ػೳΛ࣮͍ͬͯͯ͠·͕͢ɺDBOWBTͷ ੑ্࣭ɺը໘ҰഋͷඳըྖҬΛ࣋ͭҝʹ)5.-ཁૉͷXJEUIͱIFJHIUͰ ࢦఆ͠ͳ͚ΕͳΓ·ͤΜɻ DTTͰ͓͔͘͠ͳΔ ͜ΕΛ௨ৗͷϒϥβͷΈ༻͢Δ)5.-൛Ͱ+4ͰCPEZͷPOMPBE࣌ʹ มߋ͢ΔΑ͏ʹ͍ͯͨ͠ͷͰ͕͢ɺ"OESPJEͷ18"Ͱىಈ͢Δͱɺඳը ྖҬ͕ ͙Β͍ͳͬͯ͠·͍ͬͯʹͳΓ·ͤΜͰͨ͠ɻ
৭ʑࢼͯ͠ΈͨΜͰ͕͢ɺ໘ͩͬͨͷͰ"OESPJEͷ߹Nඵܦͬ ͔ͯΒऔಘ͢ΔϩδοΫʹมߋ͠·ͨ͠ɻ '()*+,-./01234$5
!"#$%&'()*+,-./0 123/45 3FUJOBରԠ J1IPOFͳͲʹݟΒΕΔ3FUJOBσΟεϓϨΠΛ͡Ί࠷ۙͷλϒϨοτ εϚʔτϑΥϯཧతͳղ૾ͱཧతͳղ૾͕ഒҎ্ҧ͍·͢ɻ ຊདྷͰ͋Εɺ֤ͷEQJʹԠͯ͡DBOWBTͷXJEUIɺIFJHIUΛഒͳͲʹ ͯ͠DTTͰʹ͢Δͷ͕ৗ۟Ͱ͢ɻ ͨͩɺ࣮ࡍʹ։ൃ͍ͯ͠Δ࣌શ͘಄ʹͳ͘ɺ͔ͳΓऴ൫ʹͳͬͯʮ͋ɺ δϟΪͬͯΔΘʜʯͱͳͬͨͷͰ͕͢ɺ͜ͷ࣌Ͱݴ͍ग़ͬ͠ͷଉࢠ͕ ຬ͍ͯͬͯͨ͠ඇྗͳ"OESPJEͩͱΧΫͭ͘༧ײ͕ͨ͠ͷͰݟ
ૹΓ·ͨ͠ɻ
!"#$%& 6OEP3FEP༻ʹσʔλΛQBUIԽ͢Δ ࠓճ6OEP3FEPػೳͷͨΊʹDBOWBTͷόΠφϦใΛUP%BUB63-Խ ͨ͠ͷΛMPDBM4UPSBHFʹྻͰಥͬࠐΉͱ͍͏ແཧཧͳ࣮ʹ͠·͠ ͨɻ ཤྺใ͕ංେԽ͢Δͱॏ͘ͳͬͨΓ͢Δͷ͋ΔͷͰɺ͜Ͳ͕ࣗ༝ؾ ··ʹ͏ͷͱͯ͠ඍົͳ࣮Ͱ͢ɻ ຊདྷͰ͋Ε'BCSJDKTͳͲΛͬͯQBUIԽͨ͠࠲ඪσʔλΛ࣋ͭͷ͕Α ͍ͱࢥ͍·͕͢ɺ։ൃ࣌ඈߦػͷதͰ͑ͳ͔ͬͨͷͰɺͦͷ··ʹ͠ ͪΌ͍·ͨ͠ʜ
'()*+,-./01234$5
!"# 8"4.ͱ͔5ZQF4DSJQUͱ͔5VSCPQBDLͱ͔·͙Δ͍͠8FCGSPOUք۾ Ͱ͕͢ɺࣗͷΞΠσΟΞΛ؆୯ʹɺTBTTNJOJGZؚΊͨCVJMEͳ͠ʹ ࠷ͰϚϧνϓϥοτϑΥʔϜͰܗʹͰ͖Δ18"ϓϩτλΠϓʹݶΒ ͣχʔζ͋Δͱࢥ͍·͢ɻ ͪΖΜۀɾϏδωεͰ༻͢Δ߹ʹ৭ʑͳ͜ͱΛߟྀ͠ͳ͚Ε ͳΒͳ͍ͱࢥ͍·͢͠ϋϚΓॴ͋Γ·͕͢ϋϚΓॴͲΜͳݴޠͰϑ ϨʔϜϫʔΫͰ։ൃʹ͖Ͱ͢ɻ ݸਓతʹ࡞Δָ͠͞ΛΕͣʹ͜Ε͔Β18"Λͭͷબࢶͱͯ͠ ༻͍͖͍ͯͨ͠ͱࢥ͍·͢ɻ
ʢ#SFXVTͰͦΜͳͷͮ͘Γ͕͖ͳํΛืू͍ͯ͠·͢ˡએʣ ࣮ࡍͷ੍࡞େਓ൛ɺ͜Ͳ൛Λ࡞͍ͬͯ·͢ɻ ؾʹͳͬͨํΞΫηεͯ͠Έ͍ͯͩ͘͞ɻ $%&'()*+,-./0123
!"#$%&'() ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ *+),-./012345678