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
20181226.pdf
Search
ozaki25
December 26, 2018
Technology
0
87
20181226.pdf
ozaki25
December 26, 2018
Tweet
Share
More Decks by ozaki25
See All by ozaki25
20210526_a11y.pdf
ozaki25
0
140
20210525_react_next.pdf
ozaki25
0
100
Webフロントエンドはなぜ複雑なのか
ozaki25
1
98
utility first css
ozaki25
0
67
20201225_how_to_learn_technology.pdf
ozaki25
0
130
20201124_blitz.pdf
ozaki25
0
67
20200727_liff_app.pdf
ozaki25
1
600
20200721_web_vitals.pdf
ozaki25
0
80
20200624_web_otp_api.pdf
ozaki25
1
100
Other Decks in Technology
See All in Technology
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
120
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
200
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
170
【令和最新版】ロボットシミュレータ Genesis x ROS 2で始める快適AIロボット開発
hakuturu583
1
450
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
1
4.8k
C++26 エラー性動作
faithandbrave
2
830
ハイテク休憩
sat
PRO
2
180
[Oracle TechNight#85] Oracle Autonomous Databaseを使ったAI活用入門
oracle4engineer
PRO
1
150
非機能品質を作り込むための実践アーキテクチャ
knih
5
1.7k
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
170
MasterMemory v3 最速確認会
yucchiy
0
140
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
10
3.9k
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
How STYLIGHT went responsive
nonsquared
96
5.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Done Done
chrislema
182
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Why Our Code Smells
bkeepers
PRO
335
57k
The Cult of Friendly URLs
andyhume
78
6.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
300
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Practical Orchestrator
shlominoach
186
10k
Transcript
ٕज़ϒϩάͷͱ։ൃޮԽͷ
ςʔϚ ٕज़ϒϩάΛॻ͘ϝϦοτ ମݧஊ ։ൃޮԽͷ
ٕज़ϒϩάΛॻ͘ϝϦοτ ମݧஊ
2JJUBʹهࣄΛॻ͘Α͏ʹͳͬͯ ͲΜͳ͍͍͜ͱ͕͔͋ͬͨհ͠·͢
ʮΞτϓοτ͠·͠ΐ͏ʯ͍ͬͯ͏ ͋Γ͕ͪͳͰͳ͘ ମݧஊΛ͠·͢
ͳٕͥज़ϒϩάͷΛબΜ͔ͩʁ
ͳٕͥज़ϒϩάͷΛબΜ͔ͩʁ ΞυϕϯτΧϨϯμʔͷقઅ͔ͩΒʂ
ΞυϕϯτΧϨϯμʔͬͯ·͔͢ʁ
ΞυϕϯτΧϨϯμʔ https://help.qiita.com/ja/articles/qiita-adcal-1#advent-calendar;΅? https://ja.wikipedia.org/wiki/ίϖϦЀϕθϹЀύЄ
ΞυϕϯτΧϨϯμʔ
࣍ w ͲΜͳ͜ͱΛهࣄʹ͍ͯ͠Δ͔ w ٕज़ϒϩάΛॻ͍ͯΑ͔ͬͨ͜ͱᶃ w ٕज़ϒϩάΛॻ͍ͯΑ͔ͬͨ͜ͱᶄ w ٕज़ϒϩάΛॻ͍ͯΑ͔ͬͨ͜ͱᶅ w
·ͱΊ
ͲΜͳ͜ͱΛهࣄʹ͍ͯ͠Δ͔ w ։ൃΛ͍ͯ͠ΔதͰղܾ͢Δͷʹ͕͔͔࣌ؒͬͨ͜ͱͷཧ w ৽͍ٕ͠ज़ʹ͞Θͬͨ࣌ͷखॱϝϞ w ؾʹͳͬͯͪΐͬͱਂ͘·Ͱௐͨ͜ͱͷϝϞ
ͲΜͳ͜ͱΛهࣄʹ͍ͯ͠Δ͔ w ։ൃΛ͍ͯ͠ΔதͰղܾ͢Δͷʹ͕͔͔࣌ؒͬͨ͜ͱͷཧ w ৽͍ٕ͠ज़ʹ͞Θͬͨ࣌ͷखॱϝϞ w ؾʹͳͬͯͪΐͬͱਂ͘·Ͱௐͨ͜ͱͷϝϞ ࣗͷͨΊʹॻ͍ͯΔ͚ͩ ͦΕ͕୭͔ͷͨΊʹͳΕخ͍͠ͳ͍ͬͯ͏ఔͷؾ࣋ͪ
Α͔ͬͨ͜ͱᶃ
ٕज़ϒϩάΛॻ͍ͯΑ͔ͬͨ͜ͱᶃ ʮ͍͍Ͷʯͯ͠Β͑Δͱخ͍͠ w ϙδςΟϒͳϑΟʔυόοΫ͔͠དྷͳ͍ͷ͕͍͍ w ʹཱͬͨਓ͍͍Ͷԡͯ͘͠ΕΔ w ʹཱͨͳ͔ͬͨਓεϧʔ͢Δ͚ͩ w ୭͔ͷʹཱͬͨͱࢥ͏ͱϞνϕʔγϣϯ্͕͕Δ
ݸਓతײ 1昱樌1ͺ͚͚͢ͺͥ ͥΟ͚΄ఽ憝 懿Ԫහ ͚͚හ ϢζϺϼЄහ
ٕज़ϒϩάΛॻ͍ͯΑ͔ͬͨ͜ͱᶃ ʮ͍͍Ͷʯͯ͠Β͑Δͱخ͍͠ w Θ͟Θ͓͟ྱͷίϝϯτΛͯ͘͠ΕΔਓ͍·ͨ͠ʂ
Α͔ͬͨ͜ͱᶄ
ٕज़ϒϩάΛॻ͍ͯΑ͔ͬͨ͜ͱᶄ ίϝϯτ͕͖͔͚ͬͰ͞Βʹৄ͘͠ͳͬͨ w ݹΊͷهࣄʹରͯ͠࠷৽൛Ͱಈ͔ͳ͍ͱࢦఠΛΒ͏ w ࠷৽൛ͷରԠํ๏ΛௐΔ͖͔͚ͬʹ
ٕज़ϒϩάΛॻ͍ͯΑ͔ͬͨ͜ͱᶄ ίϝϯτ͕͖͔͚ͬͰ͞Βʹৄ͘͠ͳͬͨ w ৄ͍͠ਓڭ͑ͯͬͯॻ͍ͨΒɺৄ͍͠هࣄΛڭ͑ͯ͘Εͨ
Α͔ͬͨ͜ͱᶅ
ٕज़ϒϩάΛॻ͍ͯΑ͔ͬͨ͜ͱᶅ ϥΠϒϥϦͷϝϯςφʔ͔ΒΞυόΠεΛΒ͑ͨʂʂ
·ͱΊ w ٕज़ϒϩάΛॻ͍ͨΒ͍͍͜ͱ͕ͨ͘͞Μ͋Γ·ͨ͠ w Έͳ͞Μॻ͍ͯΈ͍͔͕ͯͰ͠ΐ͏͔
։ൃޮԽͷ
ٕज़બఆʹ͋ͨͬͯ w ϓϥΠϕʔτΛ௵ͯ͠࡞ΔͷͰڵຯ͕͋Δٕज़͚͍͍ͩͨ w ͭ·Βͳ͍ͱ͜Ζʹ࣌ؒΛඅͨ͘͠ͳ͍
ٕज़બఆʹ͋ͨͬͯ w ϓϥΠϕʔτΛ௵ͯ͠࡞ΔͷͰڵຯ͕͋Δٕज़͚͍͍ͩͨ w ϑϩϯτपΓͷ࠷৽ٕज़Λ͍Ζ͍Ζ͍͍ͨ w ͭ·Βͳ͍ͱ͜Ζʹ࣌ؒΛඅͨ͘͠ͳ͍ w αʔόཱͯͯͦ͜ʹσϓϩΠͯ͠ͱ͔ͬͯΒΕͳ͍ ࣗಈԽ͢Ε͍͍͚Ͳͦͷڥߏங͢ΒΓͨ͘ͳ͍
ٕज़બఆʹ͋ͨͬͯ w ϓϥΠϕʔτΛ௵ͯ͠࡞ΔͷͰڵຯ͕͋Δٕज़͚͍͍ͩͨ w ϑϩϯτपΓͷ࠷৽ٕज़Λ͍Ζ͍Ζ͍͍ͨ w ͭ·Βͳ͍ͱ͜Ζʹ࣌ؒΛඅͨ͘͠ͳ͍ w αʔόཱͯͯͦ͜ʹσϓϩΠͯ͠ͱ͔ͬͯΒΕͳ͍ ࣗಈԽ͢Ε͍͍͚Ͳͦͷڥߏங͢ΒΓͨ͘ͳ͍
ࢲͷڵຯ͕͋Δ18"ͷաڈʹ͍ͯ͠ΔͷͰ ࠓͦ͜ʹूத͢ΔͨΊʹͨ͜͠ͱΛ͠·͢
͍ͬͯΔٕज़
αʔόʔϨεΞʔΩςΫνϟ
αʔόʔϨεΞʔΩςΫνϟ ͜ͷลͷ
αʔόʔϨεΞʔΩςΫνϟ w αʔόཱͯͨΓࢮ׆ࢹͱ͔ͨ͘͠ͳ͍
αʔόʔϨεΞʔΩςΫνϟ w αʔόཱͯͨΓࢮ׆ࢹͱ͔ͨ͘͠ͳ͍ αʔόͷཧ"84ͤΔ
αʔόʔϨεΞʔΩςΫνϟ w αʔόཱͯͨΓࢮ׆ࢹͱ͔ͨ͘͠ͳ͍ αʔόͷཧ"84ͤΔ w αʔόαΠυͷίʔυॻ͘ͷΊΜͲ͍͘͞
αʔόʔϨεΞʔΩςΫνϟ w αʔόཱͯͨΓࢮ׆ࢹͱ͔ͨ͘͠ͳ͍ αʔόͷཧ"84ͤΔ w αʔόαΠυͷίʔυॻ͘ͷΊΜͲ͍͘͞ "84-BNCEBͳΒؔΛॻ͍ͯΞοϓϩʔυ͢Δ͚ͩ w
αʔόʔϨεΞʔΩςΫνϟ w αʔόཱͯͨΓࢮ׆ࢹͱ͔ͨ͘͠ͳ͍ αʔόͷཧ"84ͤΔ w αʔόαΠυͷίʔυॻ͘ͷΊΜͲ͍͘͞ "84-BNCEBͳΒؔΛॻ͍ͯΞοϓϩʔυ͢Δ͚ͩ w ؔͱґଘϥΠϒϥϦ[JQԽͯ͠ΞοϓϩʔυͳΜͯͬͯΒΕΜ
OPEF@NPEVMFTΛखಈΞοϓϩʔυͱ͔ ࠓͲ͖ߟ͑ΒΕͳ͍͋Γ͑ͳ͍
αʔόʔϨεΞʔΩςΫνϟ w αʔόཱͯͨΓࢮ׆ࢹͱ͔ͨ͘͠ͳ͍ αʔόͷཧ"84ͤΔ w αʔόαΠυͷίʔυॻ͘ͷΊΜͲ͍͘͞ "84-BNCEBͳΒؔΛॻ͍ͯΞοϓϩʔυ͢Δ͚ͩ w ؔͱґଘϥΠϒϥϦ[JQԽͯ͠ΞοϓϩʔυͳΜͯͬͯΒΕΜ 4FSWFSMFTT'SBNFXPSLͳΒίϚϯυͭͰྃ
αʔόʔϨεΞʔΩςΫνϟ w αʔόཱͯͨΓࢮ׆ࢹͱ͔ͨ͘͠ͳ͍ αʔόͷཧ"84ͤΔ w αʔόαΠυͷίʔυॻ͘ͷΊΜͲ͍͘͞ "84-BNCEBͳΒؔΛॻ͍ͯΞοϓϩʔυ͢Δ͚ͩ w ؔͱґଘϥΠϒϥϦ[JQԽͯ͠ΞοϓϩʔυͳΜͯͬͯΒΕΜ 4FSWFSMFTT'SBNFXPSLͳΒίϚϯυͭͰྃ
αʔόαΠυؔΛॻ͍ͯίϚϯυͭୟ͚ͩ͘Ͱ0,ʂ ୯ͳΔؔͳͷͰϩʔΧϧͰಈ࡞֬ೝՄೳʂ
ϗεςΟϯάαʔϏε
ϗεςΟϯάαʔϏε ͜ͷลͷ
ϗεςΟϯάαʔϏε લఏ w 41"Λӡ༻͢Δ্Ͱͷొਓ 8FCαʔό "1*αʔό ɠϣ϶γσ͡ΟURLίμψφͭ html/css/jsΨݐ
IUNM DTT KT %# ɡᥝ䖕ͮͼ APIςЄϝ΄ϔЄόݐ/ๅෛ
ϗεςΟϯάαʔϏε લఏ w 41"Λӡ༻͢Δ্Ͱͷొਓ "1*αʔό IUNM DTT KT
%# ɠϣ϶γσ͡ΟURLίμψφͭ html/css/jsΨݐ ɡᥝ䖕ͮͼ APIςЄϝ΄ϔЄόݐ/ๅෛ "1*αʔό"84-BNCEBΛ ͬͯαʔόʔϨεԽ
ϗεςΟϯάαʔϏε લఏ w 41"Λӡ༻͢Δ্Ͱͷొਓ 8FCαʔό "1*αʔό IUNM DTT
KT %# ɠϣ϶γσ͡ΟURLίμψφͭ html/css/jsΨݐ ɡᥝ䖕ͮͼ APIςЄϝ΄ϔЄόݐ/ๅෛ ͬͪ͜Ͳ͏͢Δʁʁ
ϗεςΟϯάαʔϏε w Γ͍ͨ͜ͱ
ϗεςΟϯάαʔϏε w Γ͍ͨ͜ͱ ɠSPA΄πЄϖΨ䨗ͥ
ϗεςΟϯάαʔϏε w Γ͍ͨ͜ͱ ɠSPA΄πЄϖΨ䨗ͥ ɡϠϸϖͯΡ IUNM DTT KT
ϗεςΟϯάαʔϏε w Γ͍ͨ͜ͱ ɠSPA΄πЄϖΨ䨗ͥ ɡϠϸϖͯΡ IUNM DTT KT
8FCαʔό IUNM DTT KT ɢςЄϝϔϤϺα
ϗεςΟϯάαʔϏε w Γ͍ͨ͜ͱ ɠSPA΄πЄϖΨ䨗ͥ ɡϠϸϖͯΡ IUNM DTT KT
8FCαʔό IUNM DTT KT ɢςЄϝϔϤϺα ɣϢήαϸίμψφ
ϗεςΟϯάαʔϏε w Γ͍ͨ͜ͱ ɠSPA΄πЄϖΨ䨗ͥ ɡϠϸϖͯΡ IUNM DTT KT
8FCαʔό IUNM DTT KT ɢςЄϝϔϤϺα ᶃʹ࣌ؒΛඅ͍ͨ͠ͷͰ ᶄͱᶅͷ͜ͱԿߟ͑ͨ͘ͳ͍ ɣϢήαϸίμψφ
ϗεςΟϯάαʔϏε w ٕज़બఆ w ࣗͰαʔόΛཧ͢Δͷݏͩ w ੩తϑΝΠϧΛ৴Ͱ͖ΔαʔϏεΛ͏ w
ީิ w "NB[PO4 w (JUIVC1BHFT w /FUMJGZ w 'JSFCBTF
ϗεςΟϯάαʔϏε "NB[PO4 w "84ͷετϨʔδαʔϏεͰՄ༻ੑ͕ͱͯߴ͍ w ϏϧυσϓϩΠࣗલͰ༻ҙ खಈͰΔ͔ࣗಈԽͷΈΛߏங͢Δඞཁ͋Γ ֎ɺෆ࠾༻
ϗεςΟϯάαʔϏε (JUIVC1BHFT w (JUIVCϦϙδτϦͷಛఆσΟϨΫτϦΛ৴Ͱ͖ΔαʔϏε w ઃఆΛҰߦॻ͚ίϚϯυҰൃͰϏϧυσϓϩΠՄೳ w ීஈ͔Β͍׳Ε͍ͯͨ
࠾༻ʂͰ͍͍͚Ͳͬͱָͳͷͳ͍ͷ͔ͳʁ
ϗεςΟϯάαʔϏε /FUMJGZ w ੩తϑΝΠϧΛ৴͢ΔαʔϏεͰ+".4UBDL˞ͷߟҊऀ͕ઃऀ w (JUIVCʹϓογϡ͢Δ͚ͩͰউखʹϏϧυσϓϩΠ͞ΕΔʂ w ͔͠ϒϥϯν୯ҐϓϧϦΫ୯ҐͰࣗಈσϓϩΠʂ
w ઃఆొҰॠ ศར͗͢Δʂ࠾༻ʂ ※JAM => JavaScript/API/Markup https://jamstack.org/
ϗεςΟϯάαʔϏε 'JSFCBTF w N#BB4#BB4ͱݺΕ͍Ζ͍ΖͳαʔϏεΛఏڙ͍ͯ͠Δ w ೝূɺ௨ɺετϨʔδɺϗεςΟϯάɺʑ w ApSFCBTFJOJUAͰ؆୯ʹॳظઃఆ
w ApSFCBTFEFQMPZAͰσϓϩΠ ศར͚ͩͲ/FUMJGZʹྼΔ ෳڥ༻ҙ͕Ұख͍ؒΔ
ϗεςΟϯάαʔϏε w /FUMJGZΛ࠾༻ʂ w ͲΕ͚ͩศརͳͷ͔ར༻ΠϝʔδΛઆ໌͠·͢ʂ
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα ɣϤϸϷμ֢౮
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα ɣϤϸϷμ֢౮ https://deploy-preview-1--sample.netlify.com ɤᛔ㵕Ϡϸϖ/ϔϤϺα
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα ɣϤϸϷμ֢౮ https://deploy-preview-1--sample.netlify.com ɤᛔ㵕Ϡϸϖ/ϔϤϺα ɥϫЄυ
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα https://sample.netlify.com ɦᛔ㵕Ϡϸϖ/ϔϤϺα ɣϤϸϷμ֢౮ https://deploy-preview-1--sample.netlify.com ɤᛔ㵕Ϡϸϖ/ϔϤϺα ɥϫЄυ
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα https://sample.netlify.com ɦᛔ㵕Ϡϸϖ/ϔϤϺα ɣϤϸϷμ֢౮ https://deploy-preview-1--sample.netlify.com ɤᛔ㵕Ϡϸϖ/ϔϤϺα ɥϫЄυ ։ൃڥͱຊ൪ڥΛ Ͱ͖Δ
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα https://sample.netlify.com ɦᛔ㵕Ϡϸϖ/ϔϤϺα ɣϤϸϷμ֢౮ https://deploy-preview-1--sample.netlify.com ɤᛔ㵕Ϡϸϖ/ϔϤϺα ɥϫЄυ ϓϧϦΫͷϨϏϡʔ࣌ʹ ಈ࡞֬ೝͰ͖Δ
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα https://sample.netlify.com ɦᛔ㵕Ϡϸϖ/ϔϤϺα ɣϤϸϷμ֢౮ https://deploy-preview-1--sample.netlify.com ɤᛔ㵕Ϡϸϖ/ϔϤϺα ɥϫЄυ ͜ͷ63-ʹΞΫηε͢Ε ͦͷ࣌ͷίϯςϯπʹ ͍ͭͰΞΫηεͰ͖Δ
ϗεςΟϯάαʔϏε ɠSPA΄πЄϖΨ䨗ͥ devϣ϶Ѐώ masterϣ϶Ѐώ ɡgit push origin dev
https://dev--sample.netlify.com ɢᛔ㵕Ϡϸϖ/ϔϤϺα https://sample.netlify.com ɦᛔ㵕Ϡϸϖ/ϔϤϺα ɣϤϸϷμ֢౮ https://deploy-preview-1--sample.netlify.com ɤᛔ㵕Ϡϸϖ/ϔϤϺα ɥϫЄυ ໘ͳઃఆͳ͘ී௨ʹ։ൃͯ͠Δ͚ͩͰ ϏϧυσϓϩΠͰ͖Δͷ͕ͱ͍͍ͯʂ
·ͱΊ w αʔόͷߏஙӡ༻ϏϧυσϓϩΠΛ؆ུԽͰ͖ͨ w "84-BNCEBΛͬͨαʔόʔϨεΞʔΩςΫνϟ w /FUMJGZΛͬͨ։ൃڥͷඋ w
41"18"ͷ։ൃʹूதͰ͖͍ͯ·͢ʂ