๊ฐœ๋ฐœ ๊ณต๋ถ€ 73

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง TIL] 240211 - Figma๋ฅผ ํ™œ์šฉํ•œ UI ์ œ์ž‘ํ•˜๊ธฐ

Intro ๋“œ๋””์–ด ํ”ผ๊ทธ๋งˆ ๊ฐ•์˜๋ฅผ ๋‹ค ๋๋ƒˆ๋‹ค!! ์ด์ „์— ๊ธฐ๋กํ•˜์ง€ ๋ชปํ•œ ๋‚ด์šฉ๊นŒ์ง€ ํ•œ๊บผ๋ฒˆ์— ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ํ”„๋กœํ† ํƒ€์ž… ์ œ์ž‘ํ•˜๊ธฐ Design Guidelines ์•ฑ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด๊ฐ€ ํ—ท๊ฐˆ๋ฆด ๋•Œ ์ฐธ๊ณ ํ•˜๊ธฐ ์ข‹์€ ์‚ฌ์ดํŠธ๋ฉฐ iOS์™€ ์•ˆ๋“œ๋กœ์ด๋“œ ๋ณ„๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚ด์šฉ์ด ๋งŽ์•„์„œ ๋”ฐ๋กœ ๊ฒ€์ƒ‰ํ•ด์„œ ์š”์•ฝ๋ณธ์„ ์ฐพ์•„ ๋ณด๋Š” ๊ฒƒ๋„ ๋„์›€์ด ๋œ๋‹ค. iOS Guidelines Human Interface Guidelines | Apple Developer Documentation The HIG contains guidance and best practices that can help you design a great experience for any Apple platform. developer.apple.com An..

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

Intro ์˜ค๋Š˜์€ ๊ฐ„๋‹จํ•œ ์ผ๊ธฐ์žฅ ํ”„๋กœ์ ํŠธ ๋งˆ์ง€๋ง‰ ๊ฐ•์˜!! ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ์ตœ์ ํ™”3 - ์ปดํฌ๋„ŒํŠธ & ํ•จ์ˆ˜ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„  ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ตœ์ ํ™” ๋Œ€์ƒ์ธ์ง€ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. โžก๏ธ Chrome ํ™•์žฅ ์•ฑ React Developer Tools๋ฅผ ์ž˜ ํ™œ์šฉํ•˜์ž!! useCallback ํŠน์ • ํ•จ์ˆ˜๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋ฉ”๋ชจ์ด์ œ์ด์…˜๋œ ์ฝœ๋ฐฑ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const onCreate = useCallback((author, content, emotion) => { const created_date = new Date().getTime(); const newItem = { author, content, emotion, created_date, id: dataId.current, }; dataI..

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

Intro ๋ฆฌ์•กํŠธ์—์„œ useMemo์™€ React.memo์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ๋‹ค. ๊ฐ•์˜๋Š” ๊ธธ์ง€ ์•Š์•˜์ง€๋งŒ ์กฐ๊ธˆ ํ—ท๊ฐˆ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ–ˆ๋”ฐ.. ๊ผผ๊ผผํžˆ ๋ณต์Šต์„ ํ•ด์•ผ๊ฒ ๋‹ค. ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ : API ํ˜ธ์ถœํ•˜๊ธฐ, Memoization(useMemo, React.memo) React์—์„œ API ํ˜ธ์ถœํ•˜๊ธฐ ์„ธ๋ถ€ ๋ชฉํ‘œ useEffect๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ Mount ์‹œ์ ์— API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ํ•ด๋‹น API ๊ฒฐ๊ณผ๊ฐ’์„ ์ผ๊ธฐ ๋ฐ์ดํ„ฐ์˜ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ด์šฉํ•˜๊ธฐ JSONPlaceholder: APIํ˜ธ์ถœ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” REST API ์„œ๋น„์Šค https://jsonplaceholder.typicode.com/ JSONPlaceholder - Free Fake REST API {JSON} Placeholder Free fake API ..

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

Intro ์–ด์ œ์— ์ด์–ด ์ผ๊ธฐ์žฅ ํ”„๋กœ์ ํŠธ ์‹ค์Šต์„ ํ•™์Šตํ•˜์˜€๋‹ค. React Hooks์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ–ˆ๋‹ค. ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ React์—์„œ ๋ฐฐ์—ด ์‚ฌ์šฉํ•˜๊ธฐ - ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ ์„ธ๋ถ€ ๋ชฉํ‘œ ๋ฐฐ์—ด์„ ์ด์šฉํ•œ React์˜ List์— ์•„์ดํ…œ์„ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ํ•ด๋ณด๊ธฐ With React ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๊ธฐ ์ปดํฌ๋„ŒํŠธ & ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ƒ๊ฐํ•ด๋ณด๊ธฐ ์ตœ์ƒ๋‹จ ํƒœ๊ทธ ์„ ๊ธฐ์ค€์œผ๋กœ ํŠธ๋ฆฌ ํ˜•ํƒœ ์ปดํฌ๋„ŒํŠธ ๊ฐ™์€ ๋ ˆ๋ฒจ์˜ ์ปดํฌ๋„ŒํŠธ ๋ผ๋ฆฌ๋Š” (DiaryEditor, DiaryList) ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค. React๋Š” ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ํ๋ฅธ๋‹ค. ๋”ฐ๋ผ์„œ, App์˜ state๋ฅผ ์ปดํฌ๋„ŒํŠธ ๊ฐ๊ฐ์— ์ „๋‹ฌํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. DiaryEditor์—์„œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•ด setData๋ฅผ ์š”์ฒญํ•˜๊ณ  App์—์„œ ๋ณ€๊ฒฝ๋œ Data๋ฅผ DiaryList์— ์ „๋‹ฌํ•œ๋‹ค. โžก๏ธ state ๋Œ..

[ํด๋ผ์šฐ๋”ฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—”์ง€๋‹ˆ์–ด๋ง 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์— ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ํ•œ๋ฒˆ์— ๊ตฌํ˜„ํ•œ ์ ์ด ์ธ์ƒ..