์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [ReactJS] ๋ฐฑ์—์„œ GET method๋ฅผ ํ†ตํ•ด ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹นํ•  ๋•Œ ๊ฐ’์ด ์ฝํ˜€์ง€์ง€ ์•Š๋Š” ๋ฌธ์ œ - Uncaught TypeError: Cannot read properties of undefined (reading '0')

    ๐Ÿšจ ๋ฌธ์ œ ์ƒํ™ฉ ํŒ€ ํ”„๋กœ์ ํŠธ ์ค‘ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜์—ฌ ๋ฐ›์€ ํ›„, ์ด ์ •๋ณด๋ฅผ ๊ฐ€๊ณตํ•ด์„œ ํ™”๋ฉด์— ๋ Œ๋”๋งํ•ด์ฃผ๋Š” ์ž‘์—…์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์žˆ์—ˆ๋‹ค. ์ด ๋•Œ ์ž์ฃผ ๊ณจ์น˜๋ฅผ ์•„ํ”„๊ฒŒ ํ–ˆ๋˜ ์—๋Ÿฌ๊ฐ€ ํ•˜๋‚˜ ์žˆ์–ด ํฌ์ŠคํŠธ๋กœ ๋‚จ๊ธด๋‹ค. const ReservationPage = () => { const [lectureData, setLectureData] = useState({}); // ๋ฐฑ์—์„œ ์ƒํ’ˆ ๋””ํ…Œ์ผ ๋ฐ์ดํ„ฐ ์ˆ˜์‹  useEffect(() => { fetch(`/data/reservationData.json`, { method: 'GET', }) .then(response => response.json()) .then(data => { setLectureData(data); }); }, []); if (lectureData..

    ์œ„์ฝ”๋“œ 1์ฐจ ํŒ€ ํ”„๋กœ์ ํŠธ 'HealthEat' ํšŒ๊ณ 

    ์œ„์ฝ”๋“œ 1์ฐจ ํŒ€ ํ”„๋กœ์ ํŠธ 'HealthEat' ํšŒ๊ณ 

    ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ'ํ”ผ๋ฆฌ๋งˆ์ผ“' 'ํ•„๋ฆฌ' ์‚ฌ์ดํŠธ๋ฅผ ๋ชจ๋ธ๋ง ํ•œ ํ”„๋กœ์ ํŠธ๋กœ, ์•ฝ๊ณผ ๊ฑด๊ฐ•์‹ํ’ˆ์„ ํŒ๋งคํ•˜๋Š” ์ปค๋จธ์Šค ์‚ฌ์ดํŠธ๋ฅผ ๋ฐฑ์ง€ ์ƒํƒœ์—์„œ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.๊ฑด๊ฐ•์„ ๋จน๋‹ค๋Š” ์˜๋ฏธ๋กœ ์‚ฌ์ดํŠธ์˜ ์ด๋ฆ„์„ 'HealthEat(ํ—ฌ์Šค์ž‡)'์œผ๋กœ ์ง€์—ˆ๋‹ค.๊ธฐ๊ฐ„ : 2022.11.14 ~ 2022.11.25โžก๏ธ ํ”„๋กœ์ ํŠธ ๊นƒํ—ˆ๋ธŒ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐโžก๏ธ ํ”„๋กœ์ ํŠธ ๋…ธ์…˜ ํŽ˜์ด์ง€ ๋ฐ”๋กœ๊ฐ€๊ธฐ ํŒ€ ์†Œ๊ฐœํ”„๋ก ํŠธ์—”๋“œ 3๋ช…์šฐ์„๋ฏผ : Nav ๋ฐ”, ์Šคํ† ์–ด ํŽ˜์ด์ง€ ๊ตฌํ˜„์ด์ƒ์œค(๋‚˜) : ๋ฉ”์ธ ํŽ˜์ด์ง€, ์ƒํ’ˆ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„์ดํ˜œ์› : ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€, ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๊ตฌํ˜„๋ฐฑ์—”๋“œ 2๋ช…์ด์€์˜ : ์ฐœํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„์กฐ์ƒ์›(PM) : ๋กœ๊ทธ์ธ, ์ œํ’ˆ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„  ๊ฐœ๋ฐœ ๋„๊ตฌ ๋ฐ ์ ์šฉ ๊ธฐ์ˆ  (+ํŠธ๋ ๋กœ)ํ”„๋ก ํŠธ์—”๋“œJavaScript(ES6)React.jsSassReact-router-domFont..

    [ReactJS] setState์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋กœ ์ธํ•œ ๋ฒ„๊ทธ ํ•ด๊ฒฐํ•˜๊ธฐ

    [ReactJS] setState์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋กœ ์ธํ•œ ๋ฒ„๊ทธ ํ•ด๊ฒฐํ•˜๊ธฐ

    ๐Ÿšจ ๋ฌธ์ œ ์ƒํ™ฉ setState๋ฅผ ํ†ตํ•ด ์ƒํƒœ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋‹ˆ ์›ํ•˜๋Š” ๊ฐ’์ด ํ•˜๋‚˜์”ฉ ๋ฐ€๋ฆฐ ์ฑ„ ๋ณ€๊ฒฝ๋˜๋Š” ๋ฐ”๋žŒ์— ๋‚˜์˜ ์˜๋„๋Œ€๋กœ ์ฝ”๋“œ๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค. function handleBtnActivateById(event) { setIdValue(event.target.value); console.log(idValue); isIdVaild = idValue.indexOf('@') !== -1 ? true : false; handleBtnActivate(event); } ์œ„์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ, ์ž…๋ ฅ์ฐฝ์— ์ž…๋ ฅ๋œ ๊ฐ’์ด (์ฝ˜์†”์ฐฝ์—์„œ) ํ•œ ๊ธ€์ž์”ฉ ๋œ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ๊ณผ์ • ๊ตฌ๊ธ€๋ง์˜ ํ†ตํ•ด ์•Œ์•„๋ณด๋‹ˆ, setState์˜ Batch Update๋ผ๋Š” ๋น„๋™๊ธฐ์  ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒƒ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค..

    [ReactJS] React์—์„œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , event ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ 

    [ReactJS] React์—์„œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , event ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ 

    ๐Ÿšจ ๋ฌธ์ œ ์ƒํ™ฉ React์—์„œ ํŠน์ • ์š”์†Œ์— ์ด๋ฒคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , event ๊ฐ์ฒด๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ 'event is deprecated'๋ผ๋Š” ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๊ณ  ์ฝ”๋“œ ์—ญ์‹œ ์‹คํ–‰๋˜์ง€ ์•Š์•˜๋‹ค. ๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ๊ณผ์ • ๋ฐ”๋‹๋ผ JS์—์„œ ํŠน์ • ์š”์†Œ์— ์ด๋ฒคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋ ค๋ฉด ์šฐ์„  ํ•ด๋‹น ์š”์†Œ์— ํ•ด๋‹นํ•˜๋Š” DOM ๊ฐ์ฒด๋ฅผ DOM ํŠธ๋ฆฌ์—์„œ ์ฐพ์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๊ณ  ๋‚œ ํ›„, ์ด ๊ฐ์ฒด์— ์›ํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ addEventListener ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ํ˜น์€ ์ธ๋ผ์ธ ๋ฐฉ์‹์œผ๋กœ ํŠน์ • ์š”์†Œ์— ํ•ด๋‹นํ•˜๋Š” HTML ํƒœ๊ทธ์— ์ด๋ฒคํŠธ ์†์„ฑ์„ ๋ฐ”๋กœ ๋ถ€์—ฌํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค. React์—์„œ ํŠน์ • ์š”์†Œ์— ์ด๋ฒคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋ ค๋ฉด ๋ฐ”๋‹๋ผ JS์—์„œ์˜ ์ธ๋ผ์ธ ๋ฐฉ์‹์ฒ˜๋Ÿผ JSX๋กœ ๋ณ€ํ™˜๋œ ์ฝ”๋“œ์˜ ํƒœ..

    [ReactJS] React๋กœ ์š”์†Œ์— ํด๋ž˜์Šค ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐํ•˜๊ธฐ (๋ถ€์ œ : React์—์„œ ์ง์ ‘ DOM์„ ์กฐ์ž‘ํ•˜์ง€ ์•Š๋„๋ก ํ•˜์ž)

    ๐Ÿšจ ๋ฌธ์ œ ์ƒํ™ฉ ์ธ์Šคํƒ€๊ทธ๋žจ์„ ํด๋ก  ์ฝ”๋”ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐ”๋‹๋ผ JS๋กœ DOM ์š”์†Œ์— ์ ‘๊ทผํ•œ ํ›„ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๋ฐ classList์˜ add, remove ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ฝ”๋“œ๋ฅผ React๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ๋„ classList๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์˜€๋”๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ console.log()๋ฅผ ํ†ตํ•ด React์—์„œ๋„ classList ํ•จ์ˆ˜๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š” ์ง€ ํ•œ ๋ฒˆ ์‹คํ—˜ํ•ด๋ณด์•˜๋Š”๋ฐ, ํด๋ž˜์Šค๊ฐ€ ์ œ๋Œ€๋กœ ์ œ๊ฑฐ๋˜๊ณ  ์ถ”๊ฐ€๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š” ์ฝ”๋“œ์™€ ๋‹ฌ๋ฆฌ ํ™”๋ฉด์— ๋ณด์ด๋Š” ๊ฒฐ๊ณผ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์•˜๋‹ค. (๋Œ€์ƒ์ด ๋˜๋Š” ํด๋ž˜์Šค๊ฐ€ opacity: 0.6 ์Šคํƒ€์ผ ์†์„ฑ์ด ๋ถ€์—ฌ๋œ ํด๋ž˜์Šค๋ผ, ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์—์„œ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ด์—ˆ๋‹ค.) // SyLogi..

    CSS ๋ ˆ์ด์•„์›ƒ - Position๊ณผ Block ์ •๋ฆฌ

    CSS ๋ ˆ์ด์•„์›ƒ์˜์˜ ์ค‘์š”ํ•œ ๊ฐœ๋…์ธ Position๊ณผ Block์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ ๋ง๋กœ ํ’€์–ด์„œ ๊ธ€์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ , ํ•ญ๋ชฉ๋ณ„๋กœ ๊ฐœ๋…์„ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€๋‹ค. CSS - Display ์†์„ฑ : Block๊ณผ Inline CSS์˜ display ์†์„ฑ์€ ํ™”๋ฉด์— ์—ฌ๋Ÿฌ ์š”์†Œ๋“ค์„ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•  ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค. ์›นํŽ˜์ด์ง€์˜ ๋ ˆ์ด์•„์›ƒ(layout)์„ ๊ฒฐ์ •ํ•œ๋‹ค๊ณ  ํ•ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค. div { display: block; } โœจ Block VS Inline Block block ํƒœ๊ทธ ์˜†์—” ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ์˜ฌ ์ˆ˜ ์—†๋‹ค. block์€ ๋†’์ด(height)์™€ ๋„ˆ๋น„(width)๋ฅผ ๊ฐ€์ง„๋‹ค. block์€ Box์ด๊ณ , ์—ฌ๋ฐฑ๊ณผ ๊ด€๋ จ๋œ 3๊ฐ€์ง€ ์ค‘์š”ํ•œ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.(inline๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŠน์ง•์ด๋‹ค. ์ƒํ•˜ margin๋งŒ ์ œ์™ธํ•˜๊ณ ) : m..

    Semantic Tag (์‹œ๋ฉ˜ํ‹ฑ ํƒœ๊ทธ) ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ๊ฐœ๋ฐœ์„ ํ•ด์•ผํ•˜๋Š” ์ด์œ 

    HTML ์š”์†Œ๋Š” Semantic ์š”์†Œ์™€ Non Semantic ์š”์†Œ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ฑฐ์„œ Semantic ์š”์†Œ๋ž€ ์˜๋ฏธ๊ฐ€ ๋ถ€์—ฌ๋œ ์š”์†Œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์›น ๊ฐœ๋ฐœ์ž๊ฐ€ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ ๊ฐ ์š”์†Œ๊ฐ€ ๊ฐ€์ง€๋Š” '์˜๋ฏธ'๋ฅผ HTML ํƒœ๊ทธ์— ์ง์ ‘ ๋ถ€์—ฌํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ํ•˜๋‚˜์˜ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ๊ทธ ์ด์œ ๋ฅผ ๊ฐ„๋‹จํžˆ ์งš์–ด๋ณด์ž. ์›นํŽ˜์ด์ง€์— ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ' ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•'๊ณผ ' ํƒœ๊ทธ์— background-image ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•'์ด ์žˆ๋‹ค. (๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์žˆ๊ฒ ์ง€๋งŒ ์—ฌ๊ธฐ์„  ์ด ๋‘ ๊ฐ€์ง€๋งŒ์„ ๊ณ ๋ คํ•˜๊ธฐ๋กœ ํ•œ๋‹ค.) ์—ฌ๊ธฐ์„œ ํƒœ๊ทธ๋Š” ๊ทธ ์ด๋ฆ„์— '์ด๋ฏธ์ง€'๋ผ๋Š” ์˜๋ฏธ๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋Š” Semantic Tag์ด๋‹ค. ์ด๋Ÿฐ Semantic Tag๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ํƒœ๊ทธ ์ด๋ฆ„๋งŒ์œผ๋กœ ์ด ์š”์†Œ๊ฐ€ ์–ด๋–ค ..

    ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

    ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

    ๊ฐœ๋ฐœ์ž ๋„๊ตฌ (DevTool) ๋ž€? ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ž€ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ™ˆํŽ˜์ด์ง€๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์˜ ์›์ธ์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์ด๋‹ค. ์œˆ๋„์šฐ๋‚˜ ๋งฅ์—์„œ F12๋ฅผ ํด๋ฆญํ•˜๋ฉด ์—ด ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›น ๊ฐœ๋ฐœ์ž๋“ค์€ ๋ณดํ†ต ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ์—ด์–ด๋†“๊ณ  ์ž‘์—…์„ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—, ์›น ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ž˜ ์•„๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•˜๋‹ค. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจ๋„์ด ์กด์žฌํ•œ๋‹ค. ์ด ๊ฐ ํŒจ๋„์˜ ๊ธฐ๋Šฅ์„ ์ž˜ ์ˆ™์ง€ํ•˜์—ฌ ์ ์ ˆํ•œ ์ƒํ™ฉ์— ์•Œ๋งž์€ ํŒจ๋„์„ ํ™œ์šฉํ•˜๋„๋ก ํ•˜์ž. ์ด๋ฒˆ์—” ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ํŒจ๋„ 4๊ฐœ์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. Elements ํŒจ๋„ HTML๊ณผ CSS ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŒจ๋„์ด๋‹ค. ์‚ฌ์ดํŠธ์˜ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ์šฉ์ดํ•˜๋‹ค. (CSS ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ..

    ์ฝ”๋“œ์ˆจ(CodeSoom) ๋ฆฌ์—‘ํŠธ 11๊ธฐ ๋งˆ์ง€๋ง‰ ํšŒ๊ณ  ๋ฐ ํ›„๊ธฐ.. (๋ถ€์ œ : ๋‚˜๋Š” ์‹คํŒจํ–ˆ๋‹ค)

    ๋ฌด๊ฑฐ์šด ๋งˆ์Œ์„ ๊ฐ–๊ณ  ๋งˆ์ง€๋ง‰ ์ฝ”๋“œ์ˆจ ํšŒ๊ณ ๋ฅผ ์จ๋ณด๋ ค ํ•œ๋‹ค.๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด.. ๋‚˜๋Š” 6์ฃผ์ฐจ์˜ ๋ฒฝ์„ ๋„˜๊ธฐ์ง€ ๋ชปํ•˜๊ณ  ํฌ๊ธฐํ–ˆ๋‹ค. ์‚ฌ์‹ค ํฌ๊ธฐํ–ˆ๋‹ค๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ๋งŽ์ด ๋ถ€๋„๋Ÿฝ๊ณ  ์ฐฝํ”ผํ•ด์„œ ๊ทธ๋™์•ˆ ํšŒ๊ณ ๋ฅผ ์‰ฝ๊ฒŒ ์“ฐ์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.๊ทธ๋Ÿฌ๋‹ค ์ฝ”๋“œ์ˆจ ๋ฆฌ์—‘ํŠธ ๋™๊ธฐ ๋ถ„๋“ค ์ค‘ ๊นƒํ—ˆ๋ธŒ์—์„œ ๋‚˜๋ฅผ ํŒ”๋กœ์šฐํ•˜์‹  ํ•œ ๋ถ„์ด ์–ผ๋งˆ ์ „ ์–ธํŒ”ํ•˜์‹  ๊ฒƒ์„ ๋ณด๊ณ ๋น„๋ก ์ฐฝํ”ผํ•˜์ง€๋งŒ ๋„๋ง์น˜์ง€ ๋ง๊ณ  ์ด๋ ‡๊ฒŒ ํ›„๊ธฐ๋ฅผ ์ ๊ณ  ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด์ฝ”๋“œ์ˆจ์—์„œ ๋‚˜๋ฅผ ์ง€์ผœ๋ด ์˜ค์‹  (์–ธ์  ๊ฐ€ ์–ด๋””์—์„œ ๋˜ ์–ด๋–ป๊ฒŒ ๋ต™์ง€ ๋ชจ๋ฅผ) ์—ฌ๋Ÿฟ ๋ถ„๋“ค์—๊ฒŒ๋„๊ทธ๋ฆฌ๊ณ  ์ด๋ฒˆ ์‹คํŒจ๋ฅผ ์ˆ˜์น˜๋งŒ์ด ์•„๋‹Œ ์„ฑ์žฅ์˜ ๋ฐœํŒ์œผ๋กœ ์‚ผ๊ณ  ์‹ถ์€ ๋‚˜ ์ž์‹ ์—๊ฒŒ๋„์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ์–ด๋ ต๊ฒŒ ๊ธ€์„ ์“ด๋‹ค.  ๋‚˜๋Š” ์›น ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๊ธฐ์ดˆ ์ง€์‹์ด ๋งŽ์ด ๋ถ€์กฑํ•œ ์ƒํƒœ์˜€์ง€๋งŒ ๊ฐ•ํ•œ ์—ด์ •์„ ๊ฐ–๊ณ  ์ฝ”๋“œ์ˆจ์„ ์‹ ์ฒญํ–ˆ๋‹ค.๋ฌผ๋ก  1์ฃผ์ฐจ๋ถ€ํ„ฐ ๋งค ์ˆœ๊ฐ„์ด ๊ณ ๋น„์˜ ์—ฐ์†์ด์—ˆ..

    ์ฃผ์†Œ์ฐฝ์— naver.com์„ ์น˜๋ฉด ์ผ์–ด๋‚˜๋Š” ์ผ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•ด๋ณด์ž

    ์ฃผ์†Œ์ฐฝ์— naver.com์„ ์น˜๋ฉด ์ผ์–ด๋‚˜๋Š” ์ผ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•ด๋ณด์ž

    (์ด ํฌ์ŠคํŠธ๋Š” velog ํ”Œ๋žซํผ์— ํฌ์ŠคํŒ…ํ–ˆ๋˜ ๊ฒŒ์‹œ๊ธ€์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•˜๊ฒŒ๋„, ๋‹น์‹œ ์ด ๊ฒŒ์‹œ๊ธ€์ด velog ์›”๊ฐ„ ํŠธ๋ Œ๋”ฉ 1์œ„์— ์˜ฌ๋ž์Šต๋‹ˆ๋‹ค. ์ฝ์–ด์ฃผ์‹  ๋ชจ๋“  ๋ถ„๊ป˜ ์ด ์ž๋ฆด ๋นŒ์–ด ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ์˜ ๋ง์”€ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.) ๐Ÿ–Œ ์„œ๋ก  ์Šคํ„ฐ๋””์—์„œ ๋ฐœํ‘œ๋ฅผ ์ค€๋น„ํ•˜๋ฉฐ, ๊ธฐ์ˆ  ๋ฉด์ ‘์˜ ๋‹จ๊ณจ ์งˆ๋ฌธ์ธ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•ด ์ฒ˜์Œ์œผ๋กœ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ฃผ์ œ๊ฐ€ ์™œ ๋‹จ๊ณจ ์งˆ๋ฌธ์œผ๋กœ ๊ผฝํžˆ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด ์ฃผ์ œ๋Š” ๊นŠ์ด ๋“ค์–ด๊ฐ€๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ์ •๋ง ๋์—†์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์ธ ๊ฒƒ ๊ฐ™์•„ ๋ณด์˜€๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋ฉด์ ‘๊ด€์ด ๋ฉด์ ‘์ž์˜ ์—ญ๋Ÿ‰์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ์ด๋งŒํ•œ ์งˆ๋ฌธ์ด ์—†๊ฒ ๊ตฌ๋‚˜ ์‹ถ์€ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋งŒ์ผ CS ์ง€์‹์ด ๋ถ€์กฑํ•˜๋‹ค๋ฉด, ์ด ์ฃผ์ œ๋ฅผ ์ฒ˜์Œ ๊ณต๋ถ€ํ•  ๋•Œ ์•„๋งˆ ๋‚ด์šฉ์ด ๋งŽ์ด ๋‚ฏ์„ค๊ณ  ์–ด๋ ต์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค. (์‚ฌ์‹ค ๋‚ด ์ด์•ผ๊ธฐ๋‹ค.) ..