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
【爆速】2日で就職のためにJAMstackなハイパフォブログを作った話!!
Search
Shagamii
January 28, 2019
Programming
0
160
【爆速】2日で就職のためにJAMstackなハイパフォブログを作った話!!
Shagamii
January 28, 2019
Tweet
Share
More Decks by Shagamii
See All by Shagamii
開発から運用まで Muddy に向き合う ABEMA における LP CMS 開発 ~ Muddy Web #7
ryuichisakagmai
1
300
学生エンジニア、 ドキドキ初OSSコミットへの挑戦🎉
ryuichisakagmai
0
690
Other Decks in Programming
See All in Programming
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
560
アセットのコンパイルについて
ojun9
0
110
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
200
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
120
More Approvers for Greater OSS and Japan Community
tkikuc
1
110
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.3k
コンテキストエンジニアリング Cursor編
kinopeee
1
760
複雑なドメインに挑む.pdf
yukisakai1225
5
990
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.9k
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
430
Jakarta EE Core Profile and Helidon - Speed, Simplicity, and AI Integration
ivargrimstad
0
360
為你自己學 Python - 冷知識篇
eddie
1
340
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Agile that works and the tools we love
rasmusluckow
330
21k
Fireside Chat
paigeccino
39
3.6k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Code Review Best Practice
trishagee
70
19k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Visualization
eitanlees
148
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
How STYLIGHT went responsive
nonsquared
100
5.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Transcript
ʲരʳ ̎Ͱब৬ͷͨΊʹ +".TUBDLͳϋΠύϑΥϒϩάΛ ࡞ͬͨʂʂ✌
ΞδΣϯμ ࣗݾհ ͜Μͳϒϩά ٕͬͨज़ελοΫʹ͍ͭͯ +".TUBDLͱͳΜͧ ೋؒͰ࡞Δͧʂ
ࣗݾհ
ࣗݾհ ࡔ্ྤҰ 5XJUUFS!3ZVJDIJ4BLBHBNJ ౦ژཧՊେֶֶ෦ใֶՊ̏ ݄ ࡀ ࡾॏग़ ϑϩϯτΤϯυେ͖ΤϯδχΞ
ࣗݾհ αΠόʔͷΠϯλʔϯͰͬͨ͜ͱ &OHJOFFS+PCʢ̍ϲ݄ͪΐ͍ʣ "CFNF57ϑϩϯτΤϯυνʔϜ ݹ͘ͳ͍ͬͯͨը໘ͷશ໘վम 3FBDUKT SYKT
͜Μͳϒϩά✍
͜Μͳϒϩά IUUQTTIBHBNJJUFDI
͜Μͳϒϩά ͳΜͰ࡞͔ͬͨʜ ब׆ʂ Կ͔ݟͤΕΔͷཉ͍͠ ٕज़తؔ৺ ύϑΥʔϚϯεͷؔ৺
͜Μͳϒϩά ٕͬͨज़ +".TUBDL HBUTCZ DPOUFOUGVM OFUMJGZ
+".TUBDLͱͳΜͧ
+".TUBDLͱͳΜͧ Modern web development architecture based on client-side JavaScript, reusable
APIs, and prebuilt Markup. IUUQTKBNTUBDLPSH
+".TUBDLͱͳΜͧ Ҿ༻ݩɿIUUQTKBNTUBDLPSH
+".TUBDLͱͳΜͧ Any dynamic programming during the request/response cycle is handled
by JavaScript, running entirely on the client. This could be any frontend framework, library, or even vanilla JavaScript. +BWB4DSJQU ಈతʹϦονͳಈ͖Λ͢ΔͨΊͷKBWBTDSJQU
+".TUBDLͱͳΜͧ All server-side processes or database actions are abstracted into
reusable APIs, accessed over HTTPS with JavaScript. These can be custom-built or leverage third-party services. "QJT αʔόʔαΠυ࠶ར༻Մೳͳ"1*ͷΈ
+".TUBDLͱͳΜͧ Templated markup should be prebuilt at deploy time, usually
using a site generator for content sites, or a build tool for web apps. .BSLVQ ੩తαΠτͳͲʹࣄલʹίϯςϯπϏϧυ
+".TUBDLͱͳΜͧ αʔόʔʹϦΫΤετΛඈͯ͠ɺIUNMΛੜ͢ΔΈ Ͱͳ͘ɺ ίϯςϯπɾݟͨࣄલʹϏϧυ͓͖ͯ͠ɺ αʔόʔαΠυඞཁͳใΛऔͬͯ͘Δ"QJ܈Λ༻ҙ͠ɺ ͦΕΒΛಈతʹಈ͔ͨ͢ΊʹKBWBTDSJQUΛ༻͍Δɻ ͭ·Δͱ͜Ζʜʢͷղऍʣ
+".TUBDLͱͳΜͧ Կ͕͍͍ͷ͔ Ϗϧυͨ͠ͷΛDEO্ʹIPTUJOH͓͚ͯ͠ΔͷͰ͍ ϦΫΤετΛड͚ΔͨͼʹαʔόʔαΠυͰෳࡶͳॲཧΛ͢Δ͜ͱ͕ ͳ͍ͨΊɺ҆ՁͰεέʔϥϒϧɻ جຊతʹɺαʔόʔαΠυΛҙࣝ͢Δඞཁ͕ͳ͍ͷͰɺϑϩϯτΤϯυ ͷ։ൃʹूதͰ͖Δ
ٕͬͨज़ελοΫʹ͍ͭͯ⚒
ٕͬͨज़ελοΫʹ͍ͭͯ HBUTCZKT 3FBDUͷ੩తαΠτδΣωϨʔλʔ $POUFOUGVMͳͲͷ$.4ͷ࿈ܞͳͲ༷ʑͳϓϥάΠϯ 18"ରԠ SFBDUIFMNFU 5ZQFTDSJQU (SBQIRMʹΑΔσʔλऔಘ ࣍ͷϖʔδͷσʔλΛ1SFGFUDI &UDʜ
ٕͬͨज़ελοΫʹ͍ͭͯ ੩తͳ3FBDUͬͯͳΜͶΜ Ϗϧυ࣌ ੩తͳIUNM ੩తͳKTPO FUDʜ ΞΫηε࣌ ࠷ॳ੩తͳIUNM ͦΕҎ߱KTPOΛGFUDI͢Δ41"
ٕͬͨज़ελοΫʹ͍ͭͯ 18" 1SPHSFTTJWF8FC"QQTͷུ (PPHMF͕ओʹࡦఆ͢ΔɺXFCϖʔδʹ͓͍ͯωΠςΟϒͷΑ͏ͳ69ମݧ Λ࣮ݱ͢Δٕज़ )PNFը໘ΞΠίϯͷՃ ΩϟογϡʹΑΔΦϑϥΠϯͰͷಈ࡞ 1VTI௨ ࠓճͳ͠ &UDʜ
IUUQTEFWFMPQFSTHPPHMFDPNXFCQSPHSFTTJWFXFC BQQTDIFDLMJTU
ٕͬͨज़ελοΫʹ͍ͭͯ 18"
ٕͬͨज़ελοΫʹ͍ͭͯ $POUFOUGVM )FBEMFTT$.4 ߘͷϞσϧΛఆٛ͢Δ͚ͩͰهࣄ͕ॻ͚Δ هࣄಉ࢜ͷ࿈ܞ༻ҙ HBUTCZʹDPOUFOUGVM͔ΒσʔλΛऔͬͯ͘ΔϓϥάΠϯ /FUMJGZͷฤू࣌ͷϑοΫ
ٕͬͨज़ελοΫʹ͍ͭͯ /FUMJGZ ੩తαΠτΛϗεςΟϯά ಠࣗυϝΠϯͷઃఆ HJUIVCͱ࿈ܞͯ͠Ϗϧυ IUUQରԠ &UDʜ
ٕͬͨज़ελοΫʹ͍ͭͯ ࠓճͷ߹ KBWBTDSJQU "QJT NBSLVQ 3FBDUKT (BUTCZ $POUFOUGVM /FUMJGZ $POUFOUGVM
/FUMJGZ (BUTCZ
ٕͬͨज़ελοΫʹ͍ͭͯ ύϑΥʔϚϯεܭଌʢ-JHIUIPVTFʣ (PPHMF͕ఏڙ͢ΔΣϒαΠτΛղੳͯ͠ɺ࣭ʹؔ͢Δ ࢦඪ্ͷͨΊͷରࡦΛࣔͯ͘͠ΕΔ044
ೋؒͰ࡞Δͧʂ
ೋؒͰ࡞Δͧʂ $POUFOUGVMͰ"1*Λ࡞Δʢʣ ΞΧϯτొʢ̑ʣ .PEFMΛ࡞Δʢʣ
ೋؒͰ࡞Δͧʂ (BUTCZͰ3FBDUΛΰϦΰϦॻ͘ʢ̍ʣ CPJMFSQMBUFΛੜʢ̑ʣ DPOUFOUGVMपΓͷϓϥάΠϯΛೖΕΔʢʣ σʔλशಘͷHSBQIRMΛॻ͘ʢʣ
ೋؒͰ࡞Δͧʂ هࣄϖʔδͳͲಈతʹੜ͍ͨ͠ϖʔδͷઃఆΛHBUTCZOPEFKT ʹॻ͘ʢʣ ͋ͱඞཁʹԠͯ͡ϓϥάΠϯΛೖΕͭͭɺ3FBDUΛΰϦΰϦॻ͘ɻ
ೋؒͰ࡞Δͧʂ /FUMJGZʹσϓϩΠ͢Δʢʣ ΞΧϯτొʢ̑ʣ Ϗϧυ͢ΔϨϙδτϦͷొɺڥมɺϏϧυίϚϯυͷઃఆʢʣ ΧελϜυϝΠϯͷઃఆʢʣ
·ͱΊ☀
·ͱΊ ΈΜͳ͓Ոؼͬͯ࡞ͬͯͶʂ ਫ༵ʹσϓϩΠྃͯ͠Δͣ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ