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

ALL

(119)
[CSS] position (static, relative, absolute, fixed) ๐Ÿ”— CSS์—์„œ position์ด๋ž€? ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” CSS ์†์„ฑ์ด๋‹ค. position: static; default position: relative; : ๋ถ€๋ชจ์— ์„ ์–ธ => ๊ธฐ์ค€ position: absolute; : ์ž์‹์— ์„ ์–ธ => relative๋ฅผ ๊ธฐ์ค€์œผ๋กœ position(top, left) position: fixed; : ์œ„์น˜ ๊ณ ์ • โ–ช overflow-y : ๋ถ€๋ชจ๋ฅผ ๋„˜์–ด๊ฐ„ ์ž์‹ ๊ณต๊ฐ„ ์ฒ˜๋ฆฌ · hidden · scroll โ–ช ์šฐ์„ ์ˆœ์œ„ (์ˆซ์ž ํด์ˆ˜๋ก ์šฐ์„ ์ˆœ์œ„ ๋†’์•„์ง) default : ๋จผ์ € ์ง  ๊ฑฐ < ๋‚˜์ค‘์— ์ง  ๊ฑฐ z-index: ์ˆซ์ž; ๐Ÿ’ก ๊ฐ™์ด ๋ณด๋ฉด ์ข‹์„ Post [CSS] ์™•์ดˆ๋ณด๋ฅผ ์œ„ํ•œ font / background / border ์†์„ฑ ์ด์ •๋ฆฌ css์—์„œ ์†์„ฑ์€ '์‹œ๊ณ„ ๋ฐฉํ–ฅ'์œผ๋กœ ์ ์šฉ ..
[CSS] margin, padding / ์ฐจ์ด์  width = width + (padding*2) + (border*2) px ๐Ÿ“Œ padding vs margin padding, border => width์— ๊ด€์—ฌ margin => width์— ๊ด€์—ฌ X (๊ณต๊ฐ„๋“ค๋ผ๋ฆฌ ์„œ๋กœ ๋ฐ€์–ด๋‚ด๋Š” ๊ฒƒ) margin: 0 auto; : ๊ฐ€์šด๋ฐ ์ •๋ ฌ box-sizing: border-box; : border๊ฐ€ width์— ์˜ํ–ฅ ์ฃผ์ง€ ์•Š๊ฒŒ ํ•ด์ค€๋‹ค. margin์ด ๊ฒน์น˜๋ฉด, ๋” ์ž‘์€ margin์ด ์ƒ์‡„๋œ๋‹ค. ์ž์‹ margin์ด ๋ถ€๋ชจ๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ๋ฏธ์ ์šฉ๋œ๋‹ค. => ๊ทธ๋Ÿฌ๋ฏ€๋กœ, ๋ถ€๋ชจ๊ฐ€ padding์„ ๊ฐ€์ง€๋Š” ๊ฒƒ > ์ž์‹์ด margin์„ ๊ฐ€์ง€๋Š” ๊ฒƒ ์ž์‹ margin๊ณผ ๋ถ€๋ชจ padding์€ ์„ž์ด์ง€ ์•Š๋Š”๋‹ค. +๋œ๋‹ค. , ํƒœ๊ทธ ๋“ฑ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ margin ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. css์—์„œ ์†์„ฑ์€..
[CSS] font / background / border ์†์„ฑ ์ •๋ฆฌ css์—์„œ ์†์„ฑ์€ '์‹œ๊ณ„ ๋ฐฉํ–ฅ'์œผ๋กœ ์ ์šฉ 4๊ฐœ์ผ ๋•Œ : top right bottom left 2๊ฐœ์ผ ๋•Œ : x์ถ•(top, bottom) y์ถ•(left, right) 1๊ฐœ์ผ ๋•Œ : all ๐Ÿ”— Font color : ํ…์ŠคํŠธ ์ƒ‰์ƒ font-size : ํ…์ŠคํŠธ ์‚ฌ์ด์ฆˆ default : 16px font-weight : ํ…์ŠคํŠธ ๊ตต๊ธฐ · 100 : thin · 300 : light · 400 : regular · 500 : medium · 700 : bold · 900 : extrabold letter-spacing : ์ž๊ฐ„ (๊ธ€์ž ๊ฐ„๊ฒฉ) word-spacing : ๋‹จ๊ฐ„ (๋‹จ์–ด ๊ฐ„๊ฒฉ) white-space · normal : width์— ๋งž์ถ”์–ด ์ž๋™์œผ๋กœ ์ค„๋ฐ”๊ฟˆ default · nowrap : width์— ์ƒ๊ด€์—†..
SPA๋ž€? SSR vs CSR ์ฐจ์ด์  ๐Ÿ”— SPA(Single Page Application)๋ž€? ๊ธฐ์กด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ™”๋ฉด ์ด๋™ ์‹œ ํ™”๋ฉด์— ํ•„์š”ํ•œ HTML์„ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์•„์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋กœ๋”ฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค. ๋ฐ˜๋ฉด SPA๋Š” ์ตœ์ดˆ ํ•œ ๋ฒˆ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋กœ๋”ฉํ•œ ํ›„ ์ดํ›„๋ถ€ํ„ฐ๋Š” ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. SPA ํ”„๋ ˆ์ž„์›Œํฌ๋กœ๋Š” React, Vue, Angular ๋“ฑ์ด ์žˆ๋‹ค. ๐Ÿ“Œ SSR(Server Side Rendering) vs CSR(Client Side Rendering) โ–ช SSR โ‘  ์„œ๋ฒ„ - ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ HTML ์‘๋‹ต โ‘ก ๋ธŒ๋ผ์šฐ์ € - ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง -> ํŽ˜์ด์ง€ ๋ณด์—ฌ์ง โ‘ข ๋ธŒ๋ผ์šฐ์ € - JS ๋‹ค์šด โ‘ฃ ๋ธŒ๋ผ์šฐ์ € - ๋ฆฌ์•กํŠธ ์‹คํ–‰ โ‘ค ํŽ˜์ด์ง€ ์ƒํ˜ธ์ž‘์šฉ ๊ฐ€๋Šฅ โ–ช CSR โ‘  ์„œ๋ฒ„ - ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์‘๋‹ต โ‘ก ๋ธŒ..
[๋ณด์•ˆ] CORS๋ž€? ๐Ÿ”— CORS(Cross-Origin Resource Sharing)๋ž€? CORS๋Š” ์ถ”๊ฐ€์ ์ธ HTTP ์š”์ฒญ ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๊ฐ€ ๋ฆฌ์†Œ์Šค ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค. ๐Ÿ”— CORS๋Š” ์™œ ํ•„์š”ํ• ๊นŒ? ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์˜ ์„œ๋ฒ„๋กœ ๋ฆฌ์†Œ์Šค ์š”์ฒญ์„ ํ•  ๋•Œ ๊ฐœ์ธ์ •๋ณด ์œ ์ถœ, ํ”ผ์‹ฑ ์‚ฌ์ดํŠธ์™€ ๊ฐ™์€ ๋ณด์•ˆ์ƒ์˜ ์œ„ํ—˜์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ—ˆ์šฉํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๋งŒ ์„œ๋ฒ„์— ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๐Ÿ”— CORS๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ? ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์š”์ฒญ ํ—ค๋”์— CORS ๊ด€๋ จ ์˜ต์…˜์„ ๋„ฃ์–ด์ฃผ๊ณ , ์„œ๋ฒ„์—์„œ๋Š” ์š”์ฒญ ํ—ค๋”์— ํ•ด๋‹น ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ๋‚ด์šฉ์„ ๋„ฃ์–ด์ค€๋‹ค. ๐Ÿ”Ž ์ฐธ๊ณ  ์ž๋ฃŒ CORS์ด ๋‚˜์˜ค๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ ์ด์•ผ๊ธฐ CORS๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๐Ÿ’ก ๊ฐ™์ด ๋ณด๋ฉด ์ข‹..
[React] DOM(๋”)์ด๋ž€? Virtual DOM(๊ฐ€์ƒ ๋”)์ด๋ž€? ๐Ÿ”— DOM(๋”)์ด๋ž€? 'Document Object Model'. HTML, XML ๋ฌธ์„œ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ๋ฌธ์„œ์˜ ๊ตฌ์กฐํ™”๋œ ํ‘œํ˜„์„ ์ œ๊ณตํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ DOM ๊ตฌ์กฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•(API)์„ ์ œ๊ณตํ•˜์—ฌ ๋ฌธ์„œ ๊ตฌ์กฐ, ์Šคํƒ€์ผ, ๋‚ด์šฉ ๋“ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•๋Š”๋‹ค. ๐Ÿ”— DOM์— ์ง์ ‘ ์ ‘๊ทผํ•  ๋•Œ์˜ ๋ฌธ์ œ์  DOM์— ์ง์ ‘ ์ ‘๊ทผํ•  ๊ฒฝ์šฐ ๋ทฐ์— ๋ณ€ํ™”๊ฐ€ ์žˆ์œผ๋ฉด ๋‹ค์‹œ DOM์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ €์˜ ์žฆ์€ ๋ Œ๋”๋ง์„ ์œ ๋ฐœํ•˜์—ฌ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค. ๐Ÿ”— Virtual DOM(๊ฐ€์ƒ ๋”)์ด๋ž€? ๊ฐ€์ƒ DOM์€ ์‹ค์ œ DOM์˜ ๋ณ€ํ™”๋ฅผ ์ตœ์†Œํ™” ์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๋ทฐ์— ๋ณ€ํ™”๊ฐ€ ์žˆ์œผ๋ฉด, ๊ทธ ๋ณ€ํ™”๊ฐ€ ์‹ค์ œ DOM์— ์ ์šฉ๋˜๊ธฐ ์ „์— ๊ฐ€์ƒ DOM์— ์ ์šฉ์‹œ์ผœ ์ตœ์ข… ๊ฒฐ๊ณผ๋งŒ ์‹ค์ œ DOM์— ์ „๋‹ฌํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ทฐ์— 20๊ฐœ์˜..
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Library) vs ํ”„๋ ˆ์ž„์›Œํฌ(Framework) ์ฐจ์ด์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๊ฐ๊ฐ ๊ฐœ๋ณ„์ ์ธ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์ฝ”๋“œ๋ผ๊ณ  ํ•˜๋ฉด, ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ด๊ฒƒ๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด ๊ธฐ์ดˆ์ ์ธ ํ˜•ํƒœ๋ฅผ ๊ฐ–์ถ˜ ์ฝ”๋“œ 'ํ‹€'์ด๋‹ค. ๋‘˜ ๋‹ค ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์งœ๋†“์€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ๋น„์Šทํ•˜๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์งœ๋†“์€ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์ด๊ณ , ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ํ‹€ ์•ˆ์—์„œ ๋‚ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋ง๋ถ™์—ฌ ์“ฐ๋Š” ๊ฒƒ์ด๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : ๋‚ด๊ฐ€ ์ปจํŠธ๋กคํ•˜์—ฌ ์ฝ”๋”ฉํ•œ๋‹ค. (๋‚ด๊ฐ€ ๊ฐ‘) ํ”„๋ ˆ์ž„์›Œํฌ : ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ทœ์น™์„ ๋”ฐ๋ผ ์ฝ”๋”ฉํ•œ๋‹ค. (ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๊ฐ‘) ๐Ÿ”Ž ์ฐธ๊ณ  ์ž๋ฃŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ? ํ”„๋ ˆ์ž„์›Œํฌ? ์ฐจ์ด์  MVC ์›น ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ญ”๊ฐ€์š”?
[ํŒจํ‚ค์ง€๋งค๋‹ˆ์ €] package.json์ด๋ž€? ๐Ÿ”— package.json์ด๋ž€? ํ”„๋กœ์ ํŠธ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํŒŒ์ผ์ด๋‹ค. ์–ด๋А ๊ณณ์—์„œ๋„ ๋™์ผํ•œ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ๐Ÿ“Œ dependencies vs devDependencies dependencies๋Š” ํŒจํ‚ค์ง€์˜ ๋ฐฐํฌ ์‹œ ํฌํ•จ๋  ์˜์กด์„ฑ ๋ชจ๋“ˆ์„ ์ง€์ •ํ•œ๋‹ค. devDependencies๋Š” ํŒจํ‚ค์ง€์˜ ๊ฐœ๋ฐœ ์‹œ ์‚ฌ์šฉ๋  ์˜์กด์„ฑ ๋ชจ๋“ˆ์„ ์ง€์ •ํ•œ๋‹ค. ๐Ÿ”Ž ์ฐธ๊ณ  ์ž๋ฃŒ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” Node.js ๊ฐœ๋ฐœ ๐Ÿ’ก ๊ฐ™์ด ๋ณด๋ฉด ์ข‹์„ Post [ํŒจํ‚ค์ง€๋งค๋‹ˆ์ €] npm์ด๋ž€? ๐Ÿ”— npm(Node Package Manager)์ด๋ž€? ๋ง ๊ทธ๋Œ€๋กœ '๋…ธ๋“œ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €'๋กœ, ํŠน์ • ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•˜๋ฉด npm์—์„œ ์ฐพ์•„ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ devjindev.tistory.com