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
89
20181226.pdf
ozaki25
December 26, 2018
Tweet
Share
More Decks by ozaki25
See All by ozaki25
20210526_a11y.pdf
ozaki25
0
160
20210525_react_next.pdf
ozaki25
0
120
Webフロントエンドはなぜ複雑なのか
ozaki25
1
120
utility first css
ozaki25
0
85
20201225_how_to_learn_technology.pdf
ozaki25
0
150
20201124_blitz.pdf
ozaki25
0
80
20200727_liff_app.pdf
ozaki25
1
630
20200721_web_vitals.pdf
ozaki25
0
96
20200624_web_otp_api.pdf
ozaki25
1
120
Other Decks in Technology
See All in Technology
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
14
5.1k
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
410
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
100
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
100
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
5
440
How Community Opened Global Doors
hiroramos4
PRO
1
120
生成AIでwebアプリケーションを作ってみた
tajimon
2
150
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
140
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
310
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
170
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Practical Orchestrator
shlominoach
188
11k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Cost Of JavaScript in 2023
addyosmani
51
8.4k
Why Our Code Smells
bkeepers
PRO
337
57k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
A better future with KSS
kneath
239
17k
Thoughts on Productivity
jonyablonski
69
4.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
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"ͷ։ൃʹूதͰ͖͍ͯ·͢ʂ