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

โญ Personal_Study97

Vue: Basic Syntax Basic Syntax Template Interpolation ๋ฉ”์‹œ์ง€: {{ msg }} HTML ๋ฉ”์‹œ์ง€ : {{ rawHTML }} HTML ๋ฉ”์‹œ์ง€ : {{ msg.split('').reverse().join('') }} โœ” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ”์ธ๋”ฉ(์—ฐ๊ฒฐ) ๋ฐฉ๋ฒ• โœ” ์ค‘๊ด„ํ˜ธ 2๊ฐœ๋กœ ํ‘œ๊ธฐ Directives ๊ธฐ๋ณธ ๊ตฌ์„ฑ โœ” v-์ ‘๋‘์‚ฌ๊ฐ€ ์žˆ๋Š” ํŠน์ˆ˜ ์†์„ฑ์—๋Š” ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ’์—๋Š” JSํ‘œํ˜„์‹์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ โœ” directive์˜ ์—ญํ• ์€ ํ‘œํ˜„์‹์˜ ๊ฐ’์ด ๋ณ€๊ฒฐ๋  ๋•Œ ๋ฐ˜์‘์ ์œผ๋กœ DOM์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ โœ” :์„ ํ†ตํ•ด ์ „๋‹ฌ์ธ์ž๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ โœ” .์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” ํŠน์ˆ˜ ์ ‘๋ฏธ์‚ฌ directive์„ ํŠน๋ณ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ”์ธ๋”ฉ v-text & v-html {{ message }} const app2 = new Vue({ el.. 2022. 11. 7.
Vue Instance Vue Instance MVVM Pattern โœ” ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์˜ ์ผ์ข… โœ” ๋งˆํฌ์—… ์–ธ์–ด๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(view)์˜ ๊ฐœ๋ฐœ์„ Back-end(model)๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌ์‹œ์ผœ view๊ฐ€ ์–ด๋Š ํŠน์ •ํ•œ ๋ชจ๋ธ ํ”Œ๋žซํผ์— ์ข…์†๋˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. โœ” View: ์šฐ๋ฆฌ ๋ˆˆ์— ๋ณด์ด๋Š” ๋ถ€๋ถ„(DOM) โœ” Model : ์‹ค์ œ ๋ฐ์ดํ„ฐ (JSON) โœ” View Model (Vue) View๋ฅผ ์œ„ํ•œ Model View์™€ ์—ฐ๊ฒฐ(binding)๋˜์–ด Action์„ ์ฃผ๊ณ  ๋ฐ›์Œ Model์ด ๋ณ€๊ฒฝ๋˜๋ฉด View Model๋„ ๋ณ€๊ฒฝ๋˜๊ณ  ๋ฐ”์ธ๋”ฉ๋œ View๋„ ๋ณ€๊ฒฝ View Model ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ณ  ๋ฐ”์ธ๋”ฉ๋œ ๋‹ค๋ฅธ View๋„ ๋ณ€๊ฒฝ MVVM Pattern ์ •๋ฆฌ โœ” MVC ํŒจํ„ด์—์„œ Controller๋ฅผ ์ œ์™ธํ•˜๊ณ  View model์„.. 2022. 11. 6.
Vue Intro Vue Intro Front-end Framework โœ” Front-end(FE) ๊ฐœ๋ฐœ์ด๋ž€? ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ํ™”๋ฉด ๋งŒ๋“ค๊ธฐ โœ” Web App(SPA)์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ SPA: Single Page Application Web App์ด๋ž€? โœ” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œํ”„ํŠธ์›จ์–ด โœ” ์›น ํŽ˜์ด์ง€๊ฐ€ ๊ทธ๋Œ€๋กœ ๋ณด์ด๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋””๋ฐ”์ด์Šค์— ์„ค์น˜๋œ App์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๊ฒƒ SPA (Single Page Application) โœ” ์„œ๋ฒ„์—์„œ ์ตœ์ดˆ 1์žฅ์˜ HTML๋งŒ ์ „๋‹ฌ ๋ฐ›์•„ ๋ชจ๋“  ์š”์ฒญ์— ๋Œ€์‘ํ•˜๋Š” ๋ฐฉ์‹ โœ” CSR(Client Side Rendering) ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ ์ฒ˜๋ฆฌ [์ฐธ๊ณ ] SSR (Server Side Rendering) โœ” Server๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ์ ํ•ฉํ•œ HTML์„ ๋ Œ๋”๋งํ•˜์—ฌ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ.. 2022. 11. 6.
DynamicFieldsModelSerializer DynamicFieldsModelSerializer ๊ฐœ์š” Django์˜ DjangoRESTFramework(DRF)๋Š” ์ž์ฒด์ ์œผ๋กœ serializer ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ view ํ•จ์ˆ˜์—์„œ ํ•ด๋‹น model์˜ ํŠน์ • field๋งŒ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜, ํ˜น์€ nested relationship์—์„œ ํŠน์ • field๋งŒ ์ƒ์†๋ฐ›๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ํ•œ๋‘ ๊ฐœ๋ผ๋ฉด ๋”ฐ๋กœ serializer๋ฅผ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ์—ฌ๋Ÿฌ ๊ฐœ๋ผ๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ณ  ๋ณ€์ˆ˜๋ช… ์ง“๊ธฐ๋„ ์–ด๋ ค์›Œ์ง„๋‹ค. ๋”ฐ๋ผ์„œ 'field' ์ธ์ž๋ฅผ ๋”ฐ๋กœ ์ •์˜ํ•ด ์›ํ•˜๋Š” field๋งŒ ์ถœ๋ ฅํ•˜๋„๋ก ํ•˜๋Š” DynamicFieldsModelSerializer ํด๋ž˜์Šค๋ฅผ ๋”ฐ๋กœ ์ •์˜ํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ Serializer ํด๋ž˜์Šค ์ •์˜ from rest_framework import seri.. 2022. 11. 6.
AJAX AJAX AJAX ๊ฐœ์š” โœ” Asynchronous Javascript And XML (๋น„๋™๊ธฐ ํ†ต์‹  ์›น ๊ฐœ๋ฐœ ๊ธฐ์ˆ ) โœ” ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ์ด์šฉํ•ด ํ™”๋ฉด ์ „์ฒด๋ฅผ ์ƒˆ๋กœ๊ณ ์นจ ํ•˜์ง€ ์•Š๊ณ ๋„ ์„œ๋ฒ„ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ํ™”๋ฉด์˜ ์ผ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๊ธฐ๋Šฅ AJAX์˜ ํŠน์ง• ํŽ˜์ด์ง€ ์ƒˆ๋กœ ๊ณ ์นจ ์—†์ด ์„œ๋ฒ„์— ์š”์ฒญ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต(๋ฐ์ดํ„ฐ)๋ฅผ ๋ฐ›์•„ ์ž‘์—…์„ ์ˆ˜ํ–‰ AJAX๋ฅผ ์ด์šฉํ•ด Django follow ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ ์‚ฌ์ „์ค€๋น„ ํ…œํ”Œ๋ฆฟ์— script ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ block tag ์˜์—ญ ์ž‘์„ฑ ... {% block script %} {% endblock script %} axios CDN ์ž‘์„ฑ {% block script %} {% endblock script %} id ์†์„ฑ ์ง€์ • ๋ฐ ์„ ํƒ, ๋ถˆํ•„์š”ํ•œ action๊ณผ metho.. 2022. 11. 5.
Axios Axios Axios ๊ฐœ์š” โœ” JavaScript์˜ HTTP ์›น ํ†ต์‹ ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ โœ” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋น„๋™๊ธฐ ํ†ต์‹  ๊ธฐ๋Šฅ ์ œ๊ณต Axios ๊ธฐ๋ณธ๊ตฌ์กฐ Axios ์‚ฌ์šฉํ•ด๋ณด๊ธฐ โœ” get, post ๋“ฑ ์—ฌ๋Ÿฌ method ์‚ฌ์šฉ ๊ฐ€๋Šฅ โœ” then์„ ์ด์šฉํ•ด์„œ ์„ฑ๊ณตํ•˜๋ฉด ์ˆ˜ํ–‰ํ•  ๋กœ์ง ์ž‘์„ฑ โœ” catch์„ ์ด์šฉํ•ด์„œ ์‹คํŒจํ•˜๋ฉด ์ˆ˜ํ–‰ํ•  ๋กœ์ง ์ž‘์„ฑ ๊ณ ์–‘์ด ์‚ฌ์ง„ api ๊ฐ€์ ธ์˜ค๊ธฐ (Python) import requests print('๊ณ ์–‘์ด๋Š” ์•ผ์˜น') cat_image_search_url = 'https://api.thecatapi.com/v1/images/search' response = requests.get(cat_image_search_url) if response.status_code ==.. 2022. 11. 5.