๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (115)

Soony's House

[React] Props ์ „๋‹ฌ ์‹œ {} ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  / map() ํ•จ์ˆ˜

TodoList ์•ฑ ๊ฐœ๋ฐœ ์ค‘ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด ์ข‹์„ ๋‚ด์šฉ์ด ์ƒ๊ฒจ ์ •๋ฆฌํ•˜๊ธฐ:) ๋ชฉ์ฐจ1. Props์— {} ์ „๋‹ฌํ•˜๋Š”์ด์œ 2. map() ํ•จ์ˆ˜ 1. Props์— {} ์ „๋‹ฌ ํ•˜๋Š” ์ด์œ  ์ผ๋‹จ Props ๋ž€ ๋ฆฌ์•กํŠธ์—์„œ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ์ด๋‹ค. ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋กœ๋ถ€ํ„ฐ props ๋ฅผ ์ „๋‹ฌ๋ฐ›์„ ๋•Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ๋‹ค. 1. Props ์ „์ฒด๋ฅผ ๋ฐ›์Œ const List = (props) => { console.log(props.todos); // ์ ‘๊ทผํ•˜๋ ค๋ฉด props.todos} ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น์„ ํ•˜์ง€ ์•Š๊ณ  ์ „๋‹ฌ props๋ฅผ ์ „๋‹ฌ ๋ฐ›์œผ๋ฉด, ๊ฐ์ฒด ํ˜•ํƒœ(object)๋กœ ์ „๋‹ฌ๋œ๋‹ค. { todos : [...] } ํ˜•ํƒœ๋กœ ์ „๋‹ฌ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.๊ฐ์ฒด(object)๋Š” key- value ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ..

โš™๏ธFrontend/REACT 2025. 5. 19. 17:53
[React] React Hook๊ณผ Custom Hook

๋ชฉ์ฐจ1. React Hook2. custom Hook 1. React Hook๐Ÿ’กHook์ด๋ž€? Hook์€ React์˜ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ๊ด€๋ฆฌ์™€ ์ƒ๋ช…์ฃผ๊ธฐ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜.๊ธฐ์กด์—๋Š” ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ๋งŒ ๊ฐ€๋Šฅํ–ˆ๋˜ ๊ธฐ๋Šฅ๋“ค์„ ํ•จ์ˆ˜ํ˜•์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ค€ ๋ฆฌ์•กํŠธ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์ด๋‹ค. Hook์€ React 16.8์— ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ์ด๋ฉฐ,Hook์€ class๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ state์™€ ๋‹ค๋ฅธ React์˜ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค๊ณ  ํ•œ๋‹ค. โš™๏ธ ๋Œ€ํ‘œ์ ์ธ Hook ์ข…๋ฅ˜useState: ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๊ฐ’(state)์„ ์ €์žฅํ•˜๊ณ  ๋ณ€๊ฒฝuseEffect: ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ (๋งˆ์šดํŠธ, ์—…๋ฐ์ดํŠธ, ์–ธ๋งˆ์šดํŠธ ๋“ฑ) useRef, useContext, useReducer, us..

โš™๏ธFrontend/REACT 2025. 5. 14. 17:48
[React] useState์™€ useRef

๋ชฉ์ฐจ1. useState์™€ setํ•จ์ˆ˜2. ๊ฐ„๋‹จํ•œ ํšŒ์›๊ฐ€์ž… ํผ์œผ๋กœ ํ๋ฆ„ ์‚ดํŽด๋ณด๊ธฐ3. useRef React๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šฐ๋ฉด์„œ ๊ฐ€์žฅ ๋จผ์ € ์ ‘ํ•˜๋Š” Hook์ด ๋ฐ”๋กœ useState์ด๋‹ค. useState๋Š” ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ(state)๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ•ต์‹ฌ์ ์ธ ๊ธฐ๋Šฅ์ด๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๊ฐ„๋‹จํ•œ ํšŒ์›๊ฐ€์ž… ํผ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด useState์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” set ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. 1. useState์™€ setํ•จ์ˆ˜ โœ๏ธuseState- ์ปดํฌ๋„ŒํŠธ์— state ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” React Hook.- ์ƒํƒœ๊ฐ’์„ ๋งŒ๋“ค๊ณ , ์ด๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ํ•จ๊ป˜ ์ œ๊ณตํ•œ๋‹ค. ๐Ÿ’ก์‚ฌ์šฉ๋ฒ•: ์ปดํฌ๋„ŒํŠธ์— state ์ถ”๊ฐ€ํ•˜๊ธฐ ์ปดํฌ๋„ŒํŠธ์˜ ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์—์„œ useState๋ฅผ ํ˜ธ..

โš™๏ธFrontend/REACT 2025. 5. 10. 17:37
[React] JSX ๋ž€? (ํŠน์ง•, CSS์ ์šฉ, className)

๋ชฉ์ฐจ1. JSX ๋ž€?2. JSX ํŠน์ง• ๋ฐ ์ฃผ์˜์‚ฌํ•ญ3. JSX์˜ CSS ์ ์šฉ4. JSX ์†์„ฑ ์‚ฌ์šฉ๋ฐฉ์‹ 1. JSX ๋ž€? JSX๋Š” JavaScript์— XML/HTML ํ˜•ํƒœ์˜ ๋งˆํฌ์—…์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” JavaScript ํ™•์žฅ ๋ฌธ๋ฒ• Javascript์— XML ํ˜•์‹์˜ ๋ฌธ๋ฒ•์„ ๊ฒฐํ•ฉํ•œ ํ˜•ํƒœReact์—์„œ๋Š” ๋ Œ๋”๋ง ๋กœ์ง๊ณผ UI ๋กœ์ง์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๊ณ  ๋ณด๊ธฐ ๋•Œ๋ฌธ์—, ๋‘˜์„ ํ•จ๊ป˜ ๊ตฌ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•จ. 2. JSX ํŠน์ง• ๋ฐ ์ฃผ์˜์‚ฌํ•ญ ๐Ÿ’ก JSX์˜ ํŠน์ง• JS ํ‘œํ˜„์‹ ํฌํ•จ ๊ฐ€๋Šฅ์ค‘๊ด„ํ˜ธ {} ์•ˆ์— JavaScript ํ‘œํ˜„์‹ ์‚ฌ์šฉ ๊ฐ€๋Šฅ์˜ˆ: Hello, {name}JSX๋„ ํ‘œํ˜„์‹์ด๋‹ค!JSX๋Š” JavaScript ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๊ฑฐ๋‚˜, ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ํ•จ์ˆ˜์—์„œ ๋ฐ˜ํ™˜ ๊ฐ€๋Šฅ์†์„ฑ ์ •์˜๋ฌธ..

โš™๏ธFrontend/REACT 2025. 5. 8. 17:06
[Node.js] Node.js ๋ชจ๋“ˆ์‹œ์Šคํ…œ / Common JS(CJS) & ES Module(ESM)

๋ชฉ์ฐจ1. Node.js์™€ npm2. Common JS (CJS) ์™€ ES module (ESM) 1. Node.js ์™€ npm ๐Ÿ’ก Node.js ๋ž€? : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฐ–(์„œ๋ฒ„, ๋กœ์ปฌ ์ปดํ“จํ„ฐ ๋“ฑ)์—์„œ๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”Œ๋žซํผ์ด๋‹ค. ex) app.js๋ผ๋Š” ํŒŒ์ผ์„ node app.js๋กœ ์‹คํ–‰ํ•˜๋ฉด Node.js๊ฐ€ ๊ทธ JSํŒŒ์ผ์„ ์‹คํ–‰ํ•ด์ค€๋‹ค. ๐Ÿ’กNode.js๋ฅผ ์›น๊ฐœ๋ฐœ์—์„œ ์“ฐ๋Š” ์ด์œ  ๐Ÿ”น ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœExpress.js ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด REST API ์„œ๋ฒ„๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์— ๊ฐ•ํ•ด, ๋งŽ์€ ์š”์ฒญ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ (ex. ์ฑ„ํŒ…, ์•Œ๋ฆผ) ๊ตฌํ˜„์— ์ตœ์ !๐Ÿ”น ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•npm (Node Package M..

โš™๏ธBackend/NODE.JS 2025. 4. 30. 18:23
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ async ์™€ await (ft. ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ)

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ async์™€ await ; ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ๋” ์‰ฝ๊ฒŒ ! ๋น„๋™๊ธฐ ์ž‘์—…์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. promise ๊ฐœ๋…๊ณผ ๋”๋ถˆ์–ด async์™€ await ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. 1. async ํ‚ค์›Œ๋“œ๋ž€?async๋Š” ํ•จ์ˆ˜๋ฅผ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.async๋ฅผ ํ•จ์ˆ˜ ์•ž์— ๋ถ™์ด๋ฉด, ํ•ด๋‹น ํ•จ์ˆ˜๋Š” ํ•ญ์ƒ Promise๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.๋ฐ˜ํ™˜๊ฐ’์ด Promise๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์ž๋™์œผ๋กœ Promise๋กœ ๊ฐ์‹ธ์„œ ๋ฐ˜ํ™˜๋œ๋‹ค.async function getData() { return { name: "David", id: "d0228", };}console.log(getData()); ์œ„ ์ฝ”๋“œ์˜getDa..

๐Ÿ’กLanguage/JAVASCRIPT 2025. 4. 29. 18:13
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ์™€ Promise

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ์™€ Promise ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ Promise์— ๋Œ€ํ•ด ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์ž!1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ; ์ฝœ๋ฐฑ ํ•จ์ˆ˜(Callback)์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•œ๋‹ค.๊ทธ๋ž˜์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…(์˜ˆ: ์„œ๋ฒ„ ์š”์ฒญ, ํŒŒ์ผ ์ฝ๊ธฐ ๋“ฑ)์„ ๊ทธ๋ƒฅ ์‹คํ–‰ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถฐ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋“ฑ์žฅํ–ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ์ฝœ๋ฐฑ ํ•จ์ˆ˜// ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ, ๋น„๋™๊ธฐํ•จ์ˆ˜ ์•ˆ์—์„œ ์ฝœ๋ฐฑ์„ ํ˜ธ์ถœfunction add(a, b, callback) { setTimeout(() => { const sum = a + b; callback(sum); }, 3000);}add(1, 2, (value) ..

๐Ÿ’กLanguage/JAVASCRIPT 2025. 4. 26. 20:51
[Git] VS Code ์—์„œ git์— ๋ฐ˜์˜ํ•˜๊ธฐ (GUI ๋ฐฉ์‹/ ํ„ฐ๋ฏธ๋„ ๋ฐฉ์‹)

VS Code์—์„œ ์ˆ˜์ •์„ ๋‹คํ•˜๊ณ  git์— ๋ฐ˜์˜ํ•˜๊ณ ์‹ถ๋‹ค.GUI๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.โ˜บ๏ธ ๐Ÿ’กํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐฉ๋ฒ• 1. ํ„ฐ๋ฏธ๋„์„ ์—ด์–ด์ค€๋‹ค. 2. git add .๋’ค์— . ์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š” ํŒŒ์ผ ์ „๋ถ€๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค. ํŠน์ •ํŒŒ์ผ๋งŒ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํŠน์ •ํŒŒ์ผ์ด๋ฆ„์„ ์“ฐ๋ฉด๋œ๋‹ค.git add .3. git commit -m "์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€"git commit -m "markdown" 4. git push git push ์›๊ฒฉ์ €์žฅ์†Œ๋ช… ๋ธŒ๋žœ์น˜๋ช…๋งŒ์•ฝ git clone์„ ํ†ตํ•ด ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ–ˆ๋‹ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์›๊ฒฉ์ €์žฅ์†Œ๋ช…์€ origin์ด๋ฉฐ git remote๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ •ํ™•ํ•œ ์ €์žฅ์†Œ๋ช…์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.git remote๋ธŒ๋žœ์น˜๋ฅผ ๋”ฐ๋กœ ์•ˆ๋งŒ๋“ ์ƒํƒœ๋ผ๋ฉด ๊ทธ๋ƒฅ git remote origin๋งŒ ..

โš™๏ธDEV TOOLS/GIT 2025. 4. 22. 15:01