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

์ „์ฒด ๊ธ€103

[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.. 2025. 5. 14.
[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๋ฅผ ํ˜ธ.. 2025. 5. 10.
[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 ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๊ฑฐ๋‚˜, ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ํ•จ์ˆ˜์—์„œ ๋ฐ˜ํ™˜ ๊ฐ€๋Šฅ์†์„ฑ ์ •์˜๋ฌธ.. 2025. 5. 8.
[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.. 2025. 4. 30.
[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.. 2025. 4. 29.
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ์™€ Promise ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ์™€ Promise ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ Promise์— ๋Œ€ํ•ด ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์ž!1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ; ์ฝœ๋ฐฑ ํ•จ์ˆ˜(Callback)์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•œ๋‹ค.๊ทธ๋ž˜์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…(์˜ˆ: ์„œ๋ฒ„ ์š”์ฒญ, ํŒŒ์ผ ์ฝ๊ธฐ ๋“ฑ)์„ ๊ทธ๋ƒฅ ์‹คํ–‰ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถฐ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋“ฑ์žฅํ–ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ์ฝœ๋ฐฑ ํ•จ์ˆ˜// ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ, ๋น„๋™๊ธฐํ•จ์ˆ˜ ์•ˆ์—์„œ ์ฝœ๋ฐฑ์„ ํ˜ธ์ถœfunction add(a, b, callback) { setTimeout(() => { const sum = a + b; callback(sum); }, 3000);}add(1, 2, (value) .. 2025. 4. 26.
[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๋งŒ ํ•˜๋ฉด๋œ๋‹ค.. 2025. 4. 22.
[React] ๋ฆฌ์•กํŠธ์™€ ๊ฐ€์ƒ๋”(virtualDOM) / ํ„ฐ๋ฏธ๋„ ์ดˆ๊ธฐ ์„ค์ • ๋ชฉ์ฐจ1. ๋ฆฌ์•กํŠธ(React)2. ๋ฆฌ์•กํŠธ ์‚ฌ์šฉ์ด์œ ์™€ VitrualDOM(๊ฐ€์ƒ๋”)3. terminal์—์„œ ์ดˆ๊ธฐ ์„ค์ •ํ•˜๊ธฐ 1. ๋ฆฌ์•กํŠธ(React) ๐Ÿ’ก์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฆฌ์•กํŠธ๋ž€ ์ž๋ฐ”์ŠคํŠธ๋ฆฝํŠธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ๐Ÿ’ก SPA(Single Page Application) SPA๋Š” ์ˆ˜๋งŽ์€ ์›น ํŽ˜์ด์ง€๋ฅผ ๋กœ๋”ฉํ•  ๋•Œ ์ตœ์‹  ์—…๋ฐ์ดํŠธ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๋ฐ˜์˜ํ•˜๋ฉฐ, ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ์ค„์ธ๋‹ค.๋”ฐ๋ผ์„œ ํŽ˜์ด์ง€๊ฐ€ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ „ํ™˜๋˜๋„๋ก ํ•˜๊ณ , ์—…๋ฐ์ดํŠธ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚จ๋‹ค. ft. MetaMeta๊ฐ€ ๋งŒ๋“  ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.๋“ ๋“ ํ•œ ์ง€์›๊ตฐ์ธ Meta๋•์— ์›น ๊ฐœ๋ฐœ ์‹œ์žฅ์—์„œ ์‰ฝ๊ฒŒ ๋ฌด๋„ˆ์งˆ(?) ์ผ์€ ์—†๋‹ค๋Š” ๊ฒƒ,! https://github.com/facebook/react GitHub -.. 2025. 3. 23.
[Github] ๊นƒํ—ˆ๋ธŒ Readme์— ์ด๋ฏธ์ง€ ๋„ฃ๊ธฐ/ ํฌ๊ธฐ ์กฐ์ ˆ ํ•˜๊ธฐ ๋ชฉ์ฐจ1. Readme์— ๋„ฃ์„ ์ด๋ฏธ์ง€ ์ฃผ์†Œ ์ƒ์„ฑํ•˜๊ธฐ2. ํฌ๊ธฐ ์กฐ์ ˆ ๋ฐฉ๋ฒ•  ๊นƒํ—ˆ๋ธŒ Readme์— ์ด๋ฏธ์ง€ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด์ž โ˜บ๏ธ    1. Readme์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ด์Šˆ ์ƒ์„ฑ์ฐฝ ์—ด๊ธฐ 2. ์‚ฝ์ž…ํ•˜๊ณ ์ž ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋Œ์–ด ๋„ฃ์–ด์ค€๋‹ค  3. 'Uploading.....' ์ด๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋œจ๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋ฉด ๋œ๋‹ค   4. ์•„๋ž˜์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€ ์ฃผ์†Œ๊ฐ€ ๋‹ด๊ธด ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค![Image](https://github.com/user-attachments/assets/99fb28dc-19d1-4ff1-adbc-f4725aa647a1) ๋งŒ์•ฝ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๊ฑฐ๋‚˜ align๋“ฑ์˜ ์†์„ฑ์„ ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด, ํƒœ๊ทธ์˜ src ๋ถ€๋ถ„์— ์œ„์˜ ์ด๋ฏธ์ง€ ์ฃผ์†Œ ๋ถ€๋ถ„์„ ์‚ฝ์ž…ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. โ˜บ๏ธ 2025. 3. 17.
[JS] ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€(LocalStorage) / JSON - Object ํƒ€์ž… ๋ณ€ํ™˜ ๋ชฉ์ฐจ1. localStorage2. localStorage์™€ JSON    1. ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€ ๊ฐœ๋…  localStorage๋ž€ ํฌ๋กฌ๊ณผ ๊ฐ™์€ ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.์ฆ‰ ์›น ์ƒ์— ์šฐ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๐Ÿ’ก  ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์•„๋„ ์ €์žฅ๋˜์—ˆ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์†ํ•ด์„œ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณดํ†ต์€ ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ์ •๋ณด๋‚˜ ์„ค์ • ๋“ฑ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ,Key- Value ๊ฐ’์˜ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.localStorage.setItem("ํ‚ค", "๊ฐ’"); ํ‚ค์—๋Š” ๋‚ด๊ฐ€ ์ €์žฅํ•˜๊ณ  ์‹ถ์€ DB ๋คํƒฑ์ด์— ์ด๋ฆ„์„ ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๊ณ , ๊ฐ ๊ฐ’์€ ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.   ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ local Storage ๊ฐ’ ํ™•์ธํ•˜๊ธฐํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ localStorage๋ฅผ ํ™•์ธํ•˜.. 2025. 3. 7.
[DB] ๋กœํ‚น(Locking) ๋‹จ์œ„ , ๋กœํ‚น๊ณผ ๋ณ‘ํ–‰์„ฑ, DB ๋กœํ‚น ๊ธฐ๋ฒ• ๋กœํ‚น ๋‹จ์œ„๋ž€?๋กœํ‚น(locking) ๋‹จ์œ„๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ง๊ทธ๋Œ€๋กœ ‘์ž ๊ทธ๋Š” ๋‹จ์œ„’๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋กœํ‚น ๊ธฐ๋ฒ•์ด๋ž€ ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฅผ ์—‘์„ธ์Šคํ•˜๋Š” ๋™์•ˆ, ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์„ ์—‘์„ธ์Šค ํ•  ์ˆ˜ ์—†๋„๋ก ํ•˜๋Š” ๋ณ‘ํ–‰ ์ œ์–ด ๊ธฐ๋ฒ•์ด๋‹ค. ‘๋™์‹œ์„ฑ ์ œ์–ด ๊ธฐ๋ฒ•’ ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.์—ฌ๊ธฐ์—์„œ ๋ก(lock)์€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์œ„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.๋งˆ์น˜ ์šด์˜์ฒด์ œ์˜ ์Šค๋ ˆ๋“œ ์Šค์ผ€์ค„๋ง์ฒ˜๋Ÿผ, ํ•œ ๋ฒˆ์— ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๋‹จ์œ„๋ฅผ ‘๋กœํ‚น ๋‹จ์œ„’๋ผ๊ณ  ํ•œ๋‹ค.์‹ค์งˆ์ ์ธ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด์ž๋ฉด,ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ํŒ€์›๊ณผ DB๋ฅผ ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š” ์ผ์€ ๋นˆ๋ฒˆํ•˜๋‹ค. ๋งŒ์•ฝ ๋‚ด๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑด๋“ค๊ฒŒ ๋  ๊ฒฝ์šฐ, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. โ—๏ธ์ด ๊ฒฝ์šฐ, ๋กœํ‚น.. 2025. 2. 26.
[GUTS world tour] 24.09.20 ์˜ฌ๋ฆฌ๋น„์•„ ๋กœ๋“œ๋ฆฌ๊ณ  ๋‚ดํ•œ ..๐Ÿซง๐Ÿงš‍โ™€๏ธ ์‚ฌ์ง„์œผ๋กœ ๋Œ€์ฒดํ•˜๋Š” ํ›„๊ธฐ.. (*ห˜๏ธถห˜*).๏ฝก.:*โ™ก 24.09.30 ํ•˜๋Š˜์— ๊ตฌ๋ฉ์ด ๋šซ๋ฆฐ๋“ฏ ์Ÿ์•„์ง€๋Š” ๋น„๋ฅผ ๋šซ๊ณ  ์ž ์‹ค ๋„์ฐฉ ! ๐Ÿ’จ# ์ œ์ผ ๋–จ๋ฆฌ๋Š” ์‹œ๊ฐ„ใ…  ๊ณต์—ฐ ์‹œ์ž‘ ์ „์ƒ๊ฐ๋ณด๋‹ค ์ค‘์•™์— ๊ฐ€๊นŒ์›Œ์„œ ์ข‹์•˜๋‹ค์˜ค๋น ๋ž‘ ๋„ˆ๋ฌด ์‹ ๋‚˜ ๋ถ€๋Ÿฌ . . ♥ # ์š”์ • ๋“ฑ์žฅ์ด์š” ๐Ÿซง ๐Ÿซถ๐Ÿป ๋ˆ„๊ตฐ๊ฐ€ ๋˜ ๊ฐˆ ๊ฑฐ๋ƒ ๋ฌป๋Š”๋‹ค๋ฉด๋‹น์žฅ yes. vampire enough for you ๋“ฃ๊ณ  ์‹ถ์—ˆ๋˜ ํ”Œ๋ฆฌ ๋‹ค ๋ถˆ๋Ÿฌ์คฌ๋‹ค ํžˆํžˆ์ฝ˜์„œํŠธ์—์„œ ๊ฝ‚ํžŒ ๋…ธ๋ž˜๋„ ๋ช‡ ๊ณก ์–ป์–ด ์ง‘์œผ๋กœ๐Ÿชฝ• get him back !• all-american bitch• enough for you• bad idea right?• teenage dream♥ 2025. 2. 20.

TOP

Designed by ํ‹ฐ์Šคํ† ๋ฆฌ