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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ozaki25
December 26, 2018
Technology
92
0
Share
20181226.pdf
ozaki25
December 26, 2018
More Decks by ozaki25
See All by ozaki25
20210526_a11y.pdf
ozaki25
0
200
20210525_react_next.pdf
ozaki25
0
160
Webフロントエンドはなぜ複雑なのか
ozaki25
1
150
utility first css
ozaki25
0
120
20201225_how_to_learn_technology.pdf
ozaki25
0
180
20201124_blitz.pdf
ozaki25
0
110
20200727_liff_app.pdf
ozaki25
1
670
20200721_web_vitals.pdf
ozaki25
0
120
20200624_web_otp_api.pdf
ozaki25
1
150
Other Decks in Technology
See All in Technology
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
200
多角的な視点から見たAGI
terisuke
0
120
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
2
230
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
230
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
240
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
2
840
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
240
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
790
GKE Agent SandboxでAIが生成したコードを 安全に実行してみた
lamaglama39
0
200
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
1.8k
AndroidアプリとCopilot Studioの統合
nakasho
0
210
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
770
YesSQL, Process and Tooling at Scale
rocio
174
15k
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
250
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
790
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Limits of Empathy - UXLibs8
cassininazir
1
320
Writing Fast Ruby
sferik
630
63k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
210
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"ͷ։ൃʹूதͰ͖͍ͯ·͢ʂ