๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ126

SPA? MPA? 1. MPA(Multiple Page Application) ์—ฌ๋Ÿฌ ๊ฐœ์˜ Page๋กœ ๊ตฌ์„ฑ๋œ Application SSR(Server Side Rendering)๋ฐฉ์‹์œผ๋กœ ๋ Œ๋”๋ง ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋ง๋œ ์ •์  ๋ฆฌ์†Œ์Šค(HTML, CSS, JavaScript)๊ฐ€ ๋‹ค์šด๋กœ๋“œ ๋˜๊ณ , ํŽ˜์ด์ง€ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋ Œ๋”๋ง [์žฅ์ ] SEO(๊ฒ€์ƒ‰ ์—”์ง„)๊ด€์ ์—์„œ ์œ ๋ฆฌ → ์™„์„ฑ๋œ ํ˜•ํƒœ์˜ HTML ํŒŒ์ผ์„ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ ๋กœ๋”ฉ ๋งค์šฐ ์งง์Œ → ์„œ๋ฒ„์—์„œ ์ด๋ฏธ ๋ Œ๋”๋งํ•ด ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— [๋‹จ์ ] ๋งค ํŽ˜์ด์ง€ ์š”์ฒญ๋งˆ๋‹ค ๋ฆฌ๋กœ๋”ฉ ๋ฐœ์ƒํ•˜์—ฌ UX๊ฐ€ ์ข‹์ง€ ์•Š์Œ ํŽ˜์ด์ง€ ์ด๋™์‹œ ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋ Œ๋”๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํ•„์š”ํ•œ ํ…œํ”Œ๋ฆฟ๋„ ์ค‘๋ณตํ•ด์„œ ๋กœ๋”ฉํ•˜์—ฌ ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š์Œ ์„œ๋ฒ„ ๋ Œ๋”๋ง์— ๋”ฐ๋ฅธ ๋ถ€ํ•˜ ๋ฐœ์ƒ.. 2022. 12. 30.
๋””์ž์ธ ํŒจํ„ด(MVC, MVVM, MVP) 1. MVC(Model-View-Controller) Model: ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ•  View: ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด๋Š” ๊ฒƒ Controller: ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์•„ Model ๋˜๋Š” View๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๊ฑฐ๋‚˜, ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ•  [๋™์ž‘ ์ˆœ์„œ] 1. action(์‚ฌ์šฉ์ž๊ฐ€ ์ œ์ถœํ•œ form๋ฐ์ดํ„ฐ)์ด Controller์—๊ฒŒ ์ „๋‹ฌ๋œ๋‹ค. 2. Controller๋Š” Model์—๊ฒŒ ์ „๋‹ฌํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ Controller๊ฐ€ View์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘์ฒ˜๋ฆฌํ•ด์„œ View์—๊ฒŒ ์•Œ๋ฆผ 3. Model์€ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ด€๋œ VIew์—๊ฒŒ ์•Œ๋ฆผ 4. View๋Š” ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ํ™”๋ฉด์„ ์—…๋ฐ์ดํŠธ [์žฅ์ ] ๋‹ค๋ฅธ ํŒจํ„ด๋“ค์— ๋น„ํ•ด ์ง๊ด€์ ์ธ ๊ตฌ์กฐ๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›€ [๋‹จ์ ] V.. 2022. 12. 30.
์ •์  ์›น? ๋™์  ์›น? ์ •์  ์›น: ์–ธ์ œ ์ ‘์†ํ•ด๋„ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฑด๋„ค์ฃผ๋Š” ์›น ์‚ฌ์ดํŠธ ex) ํšŒ์‚ฌ๋‚˜ ํ•™๊ต ์†Œ๊ฐœ ํŽ˜์ด์ง€, ๋Œ“๊ธ€ ๊ธฐ๋Šฅ์ด ์—†๋Š” ๋ธ”๋กœ๊ทธ ํŽ˜์ด์ง€ → ๊ฐœ๋ฐœ์ž๊ฐ€ HTML, CSS, JS๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์งˆ ๋ชจ์Šต ์ตœ์ข…๋ณธ์œผ๋กœ ์ฝ”๋”ฉํ•ด์„œ ์„œ๋ฒ„์— ์˜ฌ๋ ค๋†“์Œ ๋™์  ์›น: ์ƒˆ๋กœ์šด ์ •๋ณด๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋Š” ์›น ์‚ฌ์ดํŠธ ex) sns, ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง€ → ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ƒˆ๋กœ์šด ๋‚ด์šฉ์ด ์ž…๋ ฅ๋˜๋ฉด, ์ƒˆ๋กœ๊ณ ์นจํ•  ๋•Œ ์—…๋ฐ์ดํŠธ ๋˜๋„๋ก ์ฝ”๋”ฉํ•ด๋†“์Œ ๋‹จ์  1. ๊ณ„์†ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•ด์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ๊นŒ๋‹ค๋กœ์›€ 2. ๊ฐ™์€ ๊ธ€์„ ๋ณด์—ฌ์ฃผ๋Š”๋ฐ ์„œ๋ฒ„๊ฐ€ ๋งค๋ฒˆ ์ผ์„ ํ•˜๋„๋ก ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ์ด ๋ฒˆ๊ฑฐ๋กœ์›€ → ์š”์ฆ˜, ๋™์  ์›น์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ •์  ์›น ์ƒ์„ฑ ํˆด(Jekyll, HUGO ๋“ฑ)๋กœ ๋ธ”๋กœ๊ทธ ๋งŽ์ด ์šด์˜ 2022. 12. 30.
HTTP ํ—ค๋”2 - ์บ์‹œ์™€ ์กฐ๊ฑด๋ถ€ ์š”์ฒญ ์บ์‹œ ๊ธฐ๋ณธ ๋™์ž‘ ์บ์‹œ๊ฐ€ ์—†์„ ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•„๋„ ๊ณ„์† ๋„คํŠธ์›Œํฌ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์•ผ ํ•จ ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ๋Š” ๋งค์šฐ ๋А๋ฆฌ๊ณ  ๋น„์‹ธ๋‹ค ๋ธŒ๋ผ์šฐ์ € ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋А๋ฆผ ๋А๋ฆฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์บ์‹œ ์ ์šฉ 1. ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ ์‹œ, ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ํ•ด์ค„ ๋•Œ, cache-control(์บ์‹œ ์œ ํšจ ์‹œ๊ฐ„)์„ ๊ฐ™์ด ๋ณด๋ƒ„ 2. ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ์˜จ ์‘๋‹ต๊ฒฐ๊ณผ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์— ์บ์‹œ ์œ ํšจ ์‹œ๊ฐ„๋™์•ˆ ์ €์žฅํ•ด ๋†“์Œ 3. ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญ ํ•  ๋•Œ, ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์— ์žˆ๋Š” ์š”์ฒญ์ •๋ณด์ด๋ฉด ์บ์‹œ ์œ ํšจ ์‹œ๊ฐ„์„ ๊ฒ€์ฆ ํ•œ ํ›„ ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ด ์บ์‹œ ๋•๋ถ„์— ์บ์‹œ ๊ฐ€๋Šฅ ์‹œ๊ฐ„๋™์•ˆ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋จ ๋น„์‹ผ ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ์Œ ๋ธŒ๋ผ์šฐ์ € ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฆ„ ๋น ๋ฅธ ์‚ฌ์šฉ.. 2022. 12. 19.