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
140
【爆速】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
230
学生エンジニア、 ドキドキ初OSSコミットへの挑戦🎉
ryuichisakagmai
0
650
Other Decks in Programming
See All in Programming
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
Macとオーディオ再生 2024/11/02
yusukeito
0
370
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
110
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
230
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
CSC509 Lecture 12
javiergs
PRO
0
160
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
Jakarta EE meets AI
ivargrimstad
0
200
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Designing the Hi-DPI Web
ddemaree
280
34k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Agile that works and the tools we love
rasmusluckow
327
21k
Speed Design
sergeychernyshev
25
620
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
KATA
mclloyd
29
14k
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ʹσϓϩΠ͢Δʢʣ ΞΧϯτొʢ̑ʣ Ϗϧυ͢ΔϨϙδτϦͷొɺڥมɺϏϧυίϚϯυͷઃఆʢʣ ΧελϜυϝΠϯͷઃఆʢʣ
·ͱΊ☀
·ͱΊ ΈΜͳ͓Ոؼͬͯ࡞ͬͯͶʂ ਫ༵ʹσϓϩΠྃͯ͠Δͣ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ