๊ตญ๋น„์ง€์›๊ต์œก 68

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240205 - React ๊ธฐ๋ณธ. ๊ฐ„๋‹จํ•œ ์ผ๊ธฐ์žฅ ํ”„๋กœ์ ํŠธ

Intro ์˜ค๋Š˜์€ React๋กœ ๊ฐ„๋‹จํ•œ ์ผ๊ธฐ์žฅ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต์„ ์‹œ์ž‘ํ–ˆ๋‹ค!! ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ React์—์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์„ธ๋ถ€ ๋ชฉํ‘œ ํ•œ ์ค„ ์ž…๋ ฅ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์—ฌ๋Ÿฌ ์ค„ ์ž…๋ ฅ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์„ ํƒ ๋ฐ•์Šค ์ž…๋ ฅ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ํ—จ๋“ค๋งํ•˜๊ธฐ ๊ธฐ๋Šฅ์ด ๋น„์Šทํ•œ state๋Š” ํ•˜๋‚˜๋กœ ๋ฌถ๊ธฐ : ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋กœ ์ €์žฅํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ „ ์ฝ”๋“œ import { useState } from 'react'; const DiaryEditor = () => { const [author, setAuthor] = useState('์ด๊ฐ€์—ฐ'); const [content, setContent] = useState(''); return ( ์˜ค๋Š˜์˜ ์ผ๊ธฐ { setAuthor(e.target.value); }} /> { ..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240202 - React.js ๊ธฐ์ดˆ

Intro ์˜ค๋Š˜์€ React์˜ ์ฃผ์š” ํŠน์„ฑ์ธ State์™€ Props์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์˜€๋‹ค. ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ : React.js ๊ธฐ์ดˆ Why Reactโ“ ๋ฆฌ์•กํŠธ๋Š” ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์˜ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. Virtual DOM์„ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5๋ฒˆ์˜ ๋” ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ Virtual DOM์— 5๋ฒˆ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋™์•ˆ ์‹ค์ œ ๋”์—๋Š” ์•„๋ฌด๋Ÿฐ ๋ณ€ํ™”๊ฐ€ ์—†๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ์•˜๋‹ค๊ฐ€ ํ•œ๋ฒˆ์— ์‹ค์ œ ๋”์„ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค. โš ๏ธ ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ โ–ซ๏ธ ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ ˆ์ฐจ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค ๋‚˜์—ดํ•ด์•ผ ํ•œ๋‹ค. (ex. ์š”์†Œ๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ์š”์†Œ์˜ ์•„์ดํ…œ์„ ์–ด์ฉŒ๊ตฌ~~) โžก๏ธ jQuery โ–ซ๏ธ ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ๋ชฉ์ ์„..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240201 - ํ”ผ๊ทธ๋งˆ ์ปดํฌ๋„ŒํŠธ / Node.js ๊ธฐ์ดˆ

Intro ์˜ค๋Š˜์€ ๋ฆฌ์•กํŠธ์— ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ, ๋ฆฌ์•กํŠธ ์†Œ๊ฐœ์™€ Node.js์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ๋‹ค. ๋‚ด์ผ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๊ฒŒ ๋  ๋ฆฌ์•กํŠธ ๊ธฐ๋Œ€๊ฐ€ ๋œ๋‹ค. ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ : ํ”ผ๊ทธ๋งˆ / Node.js ํ”ผ๊ทธ๋งˆ - ์ปดํฌ๋„ŒํŠธ ๋ ˆ์ด์–ด ํด๋ฆญ ์‹œ Create Component ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋œ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋Š” ๋ ˆ์ด์–ด ์ƒ์œ„์— ์ƒ์„ฑ์ด ๋˜๊ณ  ์ตœ์ดˆ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฉ”์ธ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋œ๋‹ค. ๋ฉ”์ธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค๋ฅธ ํŽ˜์ด์ง€์—์„œ๋„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”์ธ ์ปดํฌ๋„ŒํŠธ์— ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ธ์Šคํ„ด์Šค์—๋„ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋œ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜๋‚˜ ๊ฐ€๊ธ‰์  ์ง€์–‘ํ•œ๋‹ค. ๋…๋ฆฝ ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•ด์ œํ•˜๋Š” Detach Instance๋ฅผ ํด๋ฆญํ•ด์•ผ ํ•œ๋‹ค. ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”์— ์žˆ๋Š” Properties๋Š” ๋ฉ”์ธ ์ปดํฌ๋„ŒํŠธ์—์„œ๋งŒ ์„ค์ •์ด ..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240131 - Part 1. ํ”ผ๊ทธ๋งˆ ํˆด ํ•™์Šตํ•˜๊ธฐ (์‹ฌํ™”)

Intro ๊ฐ•์˜๋ฅผ ์ฐฉ๊ฐํ•ด์„œ ์ด๋ฒˆ 6์ฃผ์ฐจ๊ฐ€ ๋‹ค ํ”ผ๊ทธ๋งˆ ์ˆ˜์—…์ธ ์ค„ ์•Œ์•˜๋Š”๋ฐ ์•„๋‹ˆ์—ˆ๋‹ค...ใ…Ž ์˜†์— ๋‚ ์งœ ์•ˆ๋ณด๊ณ  ๊ทธ๋ƒฅ ํ•˜๋ฃจ์— ํ•œ ํŒŒํŠธ์ธ ์ค„ ์•Œ์•˜๋”ฐ ใ…Žใ…Ž ๋˜ ๋ฐ€๋ ค๋ฒ„๋ ธ๋‹ค.. ์ด์ œ ๋ฐ”๋กœ ๋ฆฌ์•กํŠธ ๊ฐ•์˜ ๋“ค์–ด๊ฐ€๋Š”๋ฐ.. ๋ถ„๋ฐœํ•ด์•ผ์ง€ ใ… ใ…  ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ : ์˜คํ† ๋ ˆ์ด์•„์›ƒ ๊ฐœ๋…, ์‹ค์Šต ์˜คํ† ๋ ˆ์ด์•„์›ƒ (Auto Layout) ๋ฐ˜์‘ํ˜• UI๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ์— ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ด๋ฉฐ, ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”์˜ Auto Layout์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๋‹จ์ถ•ํ‚ค Shift + A๋กœ ์˜คํ† ๋ ˆ์ด์•„์›ƒ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. (ํ•ด์ œ: Option + Shift + A) CSS์—์„œ flex์™€ ๊ธฐ๋Šฅ์ด ๋น„์Šทํ•˜๊ณ  ๋””์ž์ธ ์‹œ๊ฐ„์„ ๋‹จ์ถ• ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์–ด ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ๋ ˆ์ด์–ด๋ฅผ ์ •๋ ฌํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋ ˆ์ด์–ด ์ถ”๊ฐ€/์‚ญ์ œ๊ฐ€ ์œ ์—ฐํ•˜๊ณ  ์˜คํ† ๋ ˆ์ด์•„์›ƒ ์„ค์ • ์‹œ ๊ธฐ๋ณธ์œผ๋กœ ๋งˆ์ง„๊ณผ ํŒจ๋”ฉ์ด ์ ์šฉ..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240130 - Part 1. ํ”ผ๊ทธ๋งˆ ํˆด ํ•™์Šตํ•˜๊ธฐ (๊ธฐ์ดˆ)

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

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240129 - ๊ณ ์–‘์ด ์‚ฌ์ง„์ฒฉ ๋งŒ๋“ค๊ธฐ ํ•ด์„ค ๊ฐ•์˜, ํ”ผ๊ทธ๋งˆ ๋“ค์–ด๊ฐ€๊ธฐ

Intro ์ฃผ๋ง์— ์—ด์‹ฌํžˆ ๋†€๊ณ ..!! ๋‹ค์‹œ ์ง‘์ค‘ํ•ด์„œ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•ด๋ณด์ž!! ์ตœ๊ทผ์— ์ƒˆ๋กœ์šด ์ทจ๋ฏธ๊ฐ€ ์ƒ๊ฒจ๋ฒ„๋ ค์„œ ๊ฐœ๋ฐœ์— ์•ฝ๊ฐ„ ์†Œํ™€ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๐Ÿ˜ญ ์ง€๊ธˆ ๋‹น์žฅ ์ค‘์š”ํ•œ ๊ฒŒ ๋ฌด์—‡์ธ์ง€ ์ธ์ง€ํ•˜๊ณ  ํฉ์–ด์ ธ ์žˆ๋Š” ์ •์‹ ์„ ํ•œ ๊ณณ์œผ๋กœ ์ง‘์ค‘ํ•˜๋Š” ๋…ธ๋ ฅ์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ๊ณ ์–‘์ด ์‚ฌ์ง„์ฒฉ ๋งŒ๋“ค๊ธฐ ํ•ด์„ค ๊ฐ•์˜ _ 1 Nodes - ํ˜„์žฌ ํƒ์ƒ‰ ์ค‘์ธ ๊ฒฝ๋กœ์— ์†ํ•œ ํŒŒ์ผ / ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. ๋ Œ๋”๋ง ๋œ Node ํด๋ฆญ ์‹œ node์˜ type์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์ด ์ผ์–ด๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. Node.js ์ฝ”๋“œ ์ผ๋ถ€ $nodes.innerHTML = ` ${ isRoot ? '' : ` ` } ${nodes.map( (node) => ` ${node.name} ` )} `; innerHTML์— ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ํ•œ๋ฒˆ์— ๊ตฌํ˜„ํ•œ ์ ์ด ์ธ์ƒ..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240126 - ๊ณ ์–‘์ด ์‚ฌ์ง„์ฒฉ ๋งŒ๋“ค๊ธฐ ๊ณผ์ œํ…Œ์ŠคํŠธ, Lv2 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

Intro ์ƒˆ๋กœ์šด ๊ณผ์ œ ํ…Œ์ŠคํŠธ๋ฅผ ํ’€์—ˆ๋‹ค. ๊ณผ์ œํ…Œ์ŠคํŠธ๋„ ์—ฌ๋Ÿฌ๋ฒˆ ํ‘ธ๋‹ˆ๊นŒ ์ต์ˆ™ํ•ด์ง€๊ณ  ์‹ค๋ ฅ์ด ๋А๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๐Ÿ˜ ํ•„์ˆ˜ ๊ตฌํ˜„ ๋ฌธ์ œ์—์„œ ์ด์ „ ๋ฒ„ํŠผ ๊ตฌํ˜„ํ•˜๋‹ค๊ฐ€ ์ €๋… ์•ฝ์† ๋•Œ๋ฌธ์— 30๋ถ„ ์ „์— ์ œ์ถœ์„ ํ•ด๋ฒ„๋ ธ๋‹ค ์•„์‰ฝ ใ…  ํ’€ ์ˆ˜ ์žˆ์—ˆ๋Š”๋Ž… ์˜ต์…˜ ๊ตฌํ˜„ ๋ฌธ์ œ๋Š” ๋ชจ๋‹ฌ ์ฐฝ ๋‹ซ๋Š” ๊ฑฐ ํ•˜๋‚˜ ํ’€์—ˆ๋‹ค. ๋‹ค ๊ตฌํ˜„ํ•˜๊ธฐ์—๋Š” ์‹œ๊ฐ„์ด ๋งค์šฐ ๋งค์šฐ ๋ถ€์กฑํ•˜๋‹ค. ์•„์ง ์‹ค๋ ฅ์ด ๋งŽ์ด ๋ถ€์กฑํ•œ๊ฐ€๋ณด๋‹น... ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜ ๋‚จ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋„ ํ’€์—ˆ๋”ฐ. ๐Ÿ˜ƒ ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ : ๊ณผ์ œํ…Œ์ŠคํŠธ (๊ณ ์–‘์ด ์‚ฌ์ง„์ฒฉ ๋งŒ๋“ค๊ธฐ), ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณผ์ œํ…Œ์ŠคํŠธ - ๊ณ ์–‘์ด ์‚ฌ์ง„์ฒฉ ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ ๋‹น์‹ ์€ ๊ณ ์–‘์ด๋“ค์„ ๋ชจ์‹œ๊ณ  ์žˆ๋Š” ์–ด๋А ์ง‘์‚ฌ์—๊ฒŒ ์ž์‹ ์˜ ๊ณ ์–‘์ด ์‚ฌ์ง„์„ ๊ด€๋ฆฌํ•ด๋‹ฌ๋ผ๋Š” ์˜๋ขฐ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์˜๋ขฐ์ธ์€ ๋‹น์‹ ์ด ๋ฏฟ์„๋งŒํ•œ ์‚ฌ๋žŒ์ธ์ง€ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด, ์•ฝ๊ฐ„์˜ ์‚ฌ์ง„์„ ๋‹น์‹ ์—๊ฒŒ ๋ณด๋ƒˆ์œผ๋ฉฐ ์ด ์‚ฌ์ง„๋“ค์„ ์›น์—์„œ ๋ณผ ..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240124 - ๊ณ ์–‘์ด ์‚ฌ์ง„ ๊ฒ€์ƒ‰ ๊ณผ์ œํ…Œ์ŠคํŠธ, ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

Intro ์˜ค๋Š˜์€ ๊ฐ•์˜๋Š” ์•ˆ๋“ฃ๊ณ  ํ…Œ์ŠคํŠธ๋งŒ ํ’€์—ˆ๋‹ค. 4์‹œ๊ฐ„์งœ๋ฆฌ ๊ณผ์ œํ…Œ์ŠคํŠธ๋งŒ ํ’€์–ด๋„ ํž˜๋“ค๋‹ค. ์ž๊ธฐ ์ „์— ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋„ 3๋ฌธ์ œ ํ’€์—ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ lv2 ํ’€๋ ค๋‹ค๊ฐ€ ํž˜๋“ค์–ด์„œ ๋‚ด์ผ๋กœ ๋ฏธ๋ค˜๋‹ค ใ…Žใ…Ž ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ : ๊ณผ์ œํ…Œ์ŠคํŠธ์™€ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์–ด๋ณด๊ธฐ ์ดํ‹€ ์ „์— ํ’€์—ˆ๋˜ ๊ณ ์–‘์ด ๋ฌธ์ œ์™€ ์กฐ๊ธˆ ๋‹ค๋ฅธ.. ๊ณ ์–‘์ด ์‚ฌ์ง„ ๊ฒ€์ƒ‰๊ธฐ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ์ง€๋‚œ ๋ฌธ์ œ๋“ค๊ณผ ๋น„์Šทํ•œ ๊ตฌํ˜„ ๋ฌธ์ œ๋„ ์žˆ์—ˆ๊ณ  ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋„ ์žˆ์—ˆ๋‹ค. ์ด๋ฒˆ ๋ฌธ์ œ์—์„  index.html์— ๊ตฌํ˜„๋œ ์š”์†Œ๋“ค์„ ์ปดํฌ๋„ŒํŠธํ™”ํ•˜๋Š” ์ž‘์—…๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ƒˆ๋กญ๊ฒŒ ํ’€์–ด ๋ณธ ๋ฌธ์ œ๋“ค๋งŒ ๋ฆฌ๋ทฐํ•ด๋ณด์•˜๋‹ค. ๊ฒ€์ƒ‰์–ด ์ถ”์ฒœ [ํ•„์ˆ˜] ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด API๋ฅผ ์ด์šฉํ•ด ์ž…๋ ฅ๋ž€์— ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด๋ฅผ ๋ณด์—ฌ์ฃผ์„ธ์š”. ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด๋Š” ์—”ํ„ฐ๋ฅผ ์น˜๋Š” ๋“ฑ ๋ณ„๋„์˜ ํ–‰์œ„๊ฐ€ ์—†์„ ๋•Œ์—๋„ ์ž๋™์œผ๋กœ ๋ณด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ… keywords๋ผ๋Š” cl..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240123 - ๊ณ ์–‘์ด ์‚ฌ์ง„ ๊ฒ€์ƒ‰ ์‹ค์Šต 6

Intro ์ถ”๊ฐ€ ์š”๊ตฌ ์‚ฌํ•ญ ํ•ด๊ฒฐ ํ•˜๊ธฐ์— ๋Œ€ํ•œ ๊ฐ•์˜๋ฅผ ๋“ค์—ˆ๋‹ค. ์ „๋‚  ๋ชจ์˜ํ…Œ์ŠคํŠธ์—์„œ ํ’€์—ˆ๋˜ ๋งˆ์šฐ์Šค ์˜ค๋ฒ„ ๋ฌธ์ œ๋ฅผ ๋‚˜๋Š” ์ด๋ฒคํŠธ ํ—จ๋“ค๋Ÿฌ๋กœ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ ๊ฐ•์‚ฌ๋‹˜์€ CSS๋กœ ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ–ˆ๋‹ค. ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ๐Ÿ‘ฉ‍๐Ÿ’ป ๊ฒ€์ƒ‰์–ด ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ˆจ๊ฒผ๋‹ค๊ฐ€ ์ธํ’‹์— ๋งˆ์šฐ์Šค๊ฐ€ ์˜ค๋ฒ„๋  ๋•Œ ๋ณด์—ฌ์ฃผ๋„๋ก UI๋ฅผ ๋ฐ”๊ฟ”์ฃผ์„ธ์š”. style.css .SearchResult .item .content { position: absolute; top: 50%; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); color: #fff; text-align: center; font-size: 30px; opacity: 0; transition: all 0.5s ease; } .Sear..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240122 - ๊ณ ์–‘์ด ์‚ฌ์ง„ ๊ฒ€์ƒ‰ ์‹ค์Šต 5

Intro ์˜ค๋Š˜์€ ๋“œ๋””์–ด! ์ตœ์ข… ๋ชจ์˜ํ…Œ์ŠคํŠธ๋ฅผ ํ’€์—ˆ๋‹ค. ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์งง์•˜๋‹ค. 2์‹œ๊ฐ„ ์งœ๋ฆฌ๋Š” ์•„๋‹Œ ๊ฒƒ ๊ฐ™์€๋ฐ.. 2์‹œ๊ฐ„์ด ์ฃผ์–ด์กŒ๋‹ค. ๊ธˆ์š”์ผ(19์ผ)์— ํ’€์–ด์•ผ ํ•˜๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์ง„์งœ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์•„๋ฌดํŠผ, ํ•ด์„ค ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ๋”ฐ๋ผํ•˜๋‹ค๊ฐ€ ๋ง‰์ƒ ํ˜ผ์ž ํ•˜๋ ค๋‹ˆ ๋ญ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉด ์ข‹์„๊นŒ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ–ˆ๋‹ค. ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•ด ๋‹ค ํ’€์ง„ ๋ชปํ–ˆ์ง€๋งŒ ๋ชป ํ‘ผ ๊ฑฐ ๋‹ค์‹œ ํ’€์–ด๋ณด๊ณ  ๋ณต์Šตํ•ด์•ผ๊ฒ ๋‹ค. ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ : ๋ชจ์˜ํ…Œ์ŠคํŠธ > HTML, CSS ๊ด€๋ จ โœ… ํ˜„์žฌ HTML ์ฝ”๋“œ๊ฐ€ ์ „์ฒด์ ์œผ๋กœ ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งˆํฌ์—…์„ ์‹œ๋งจํ‹ฑํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰์ฐฝ๊ณผ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์ฐฝ์€ section์œผ๋กœ ๊ตฌ๋ถ„ํ–ˆ๊ณ  class name์„ ์ฃผ์—ˆ๋‹ค. ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋ฆฌ์ŠคํŠธ๋Š” ul-li ํƒœ๊ทธ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. โœ… ์œ ์ €๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋””๋ฐ”์ด์Šค์˜ ๊ฐ€๋กœ ๊ธธ์ด์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ์˜..