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

๐Ÿ’ป92

[React] ๋ฆฌ์•กํŠธ์™€ ๊ฐ€์ƒ๋”(virtualDOM) / ํ„ฐ๋ฏธ๋„ ์ดˆ๊ธฐ ์„ค์ • ๋ชฉ์ฐจ1. ๋ฆฌ์•กํŠธ(React)2. ๋ฆฌ์•กํŠธ ์‚ฌ์šฉ์ด์œ ์™€ VitrualDOM(๊ฐ€์ƒ๋”)3. terminal์—์„œ ์ดˆ๊ธฐ ์„ค์ •ํ•˜๊ธฐ 1. ๋ฆฌ์•กํŠธ(React) "์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ"๋ฆฌ์•กํŠธ๋ž€ ์ž๋ฐ”์ŠคํŠธ๋ฆฝํŠธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. "SPA(Single Page Application)" SPA๋Š” ์ˆ˜๋งŽ์€ ์›น ํŽ˜์ด์ง€๋ฅผ ๋กœ๋”ฉํ•  ๋•Œ ์ตœ์‹  ์—…๋ฐ์ดํŠธ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๋ฐ˜์˜ํ•˜๋ฉฐ, ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ์ค„์ธ๋‹ค.๋”ฐ๋ผ์„œ ํŽ˜์ด์ง€๊ฐ€ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ „ํ™˜๋˜๋„๋ก ํ•˜๊ณ , ์—…๋ฐ์ดํŠธ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚จ๋‹ค. "ft. Meta"Meta๊ฐ€ ๋งŒ๋“  ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.๋“ ๋“ ํ•œ ์ง€์›๊ตฐ์ธ 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.
[Error/OS] ์œˆ๋„์šฐ 0xd0000225 ์˜ค๋ฅ˜ / ์—…๋ฐ์ดํŠธ ํ›„ ๋กœ๊ทธ์ธ ์˜ค๋ฅ˜ "๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ  PIN์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(์ฝ”๋“œ: 0xd0000225) PIN ์„ค์ •์„ ๋‹ค์‹œํ•˜๋ ค๋ฉด ํด๋ฆญํ•˜์‹ญ์‹œ์˜ค. "      ์œˆ๋„์šฐ ์—…๋ฐ์ดํŠธ ํ›„ ์ฒ˜์Œ์œผ๋กœ ์ปดํ“จํ„ฐ ์ผœ์„œ PIN ์ž…๋ ฅํ•˜๋‹ˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค."๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ  PIN์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(์ฝ”๋“œ: 0xd0000225) PIN ์„ค์ •์„ ๋‹ค์‹œํ•˜๋ ค๋ฉด ํด๋ฆญํ•˜์‹ญ์‹œ์˜ค. "  ๋ผ๋Š” ๋ฉ”์‹œ์ง€์™€ ๋กœ๊ทธ์ธ์ด ์•ˆ๋˜๋Š” ์ƒํ™ฉ. ์ด๊ฑด ๋˜ ๋ฌด์Šจ ๊ฒฝ์šฐ์ง€..์œˆ๋„์šฐ OS ์ž์ฒด ์˜ค๋ฅ˜๋Š” ๋˜ ์ฒ˜์Œ์ด๋ผ.. ๋‹นํ™ฉํ•จ ๐Ÿ‘€      ๐Ÿ’ก์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 1. shift ํ‚ค + ๋‹ค์‹œ์‹œ์ž‘ (์•ˆ์ „๋ชจ๋“œ ๋ถ€ํŒ… ํ•˜๊ธฐ)+ ๋‚˜๋Š” ์ด๋ ‡๊ฒŒ ๋‹ค์‹œ์‹œ์ž‘์„ ํ•ด๋„, ์•ˆ์ „๋ชจ๋“œ ์ง„์ž…์ด ๋˜์ง€ ์•Š์•„์„œ, ์žฌ๋ถ€ํŒ…๋  ๋•Œ๊นŒ์ง€ F8ํ‚ค๋ฅผ ๊ณ„์†ํ•ด์„œ ๋ˆŒ๋Ÿฌ์„œ ๋ถ€ํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋‹ค.   2. NGC ํด๋”์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ธฐ ๋ฌธ์ œํ•ด๊ฒฐ > ๊ณ ๊ธ‰์˜ต์…˜> ๋ช….. 2025. 2. 15.
[DB/OracleDB] Oracle DB ์‚ญ์ œํ•œ ๋ฐ์ดํ„ฐ ๋ณต๊ตฌํ•˜๊ธฐ (TIMESTAMP) ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ค‘1.์ค‘๋ณต๋œ ์ƒํ’ˆ์ด ๋ฉ”์ธํ™”๋ฉด์— ๋œจ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด์„œ DB ์ •๋ฆฌ๋ฅผ ๋งก๊ฒŒ๋˜์—ˆ๊ณ , ์ฟผ๋ฆฌ๋ฌธ์œผ๋กœ ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ์ •๋ฆฌ์‹œ์ž‘ํ•จ.2. 'ORA-02292: ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์ด ์œ„๋ฐฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค- ์ž์‹ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.' ๋ผ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋ฉฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š์Œ. (ํ•ด๋‹นํ…Œ์ด๋ธ”์€ ์—ฌ๋Ÿฌ ์ž์‹ํ…Œ์ด๋ธ”์ด ์ฐธ์กฐํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค..)3. ๊ทธ๋ž˜์„œ ์ฟผ๋ฆฌ๋ฌธ์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ์ด๊ฒƒ์ €๊ฒƒ ์‚ญ์ œ๋ฅผ ํ•˜๋‹ค๊ฐ€ , ์ „ํ˜€ ์ƒ๊ด€์—†๋Š” ์ƒ์œ„์˜ ์Œฉ(?)๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋Œ€์‹ค์ˆ˜๋ฅผ ์ €์ง€๋ฆ„...  (์ด์ œ ํ•ด๋‹น ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ์ž‘๋™ํ•˜๋˜ ๋ชจ๋“  ๋™์ž‘์— ์˜ค๋ฅ˜๋ฐœ์ƒ... ใ…Ž)     ์ฐพ์•„๋ณด๋‹ˆ ์‚ญ์ œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœํ•ด์„œ ํ•ด๋‹น ํ…Œ์ด๋ธ”์„ ๋ณต๊ตฌํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ์—ˆ๋‹ค!       ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์ˆ˜๋กœ ์‚ญ์ œ(DELETE) ํ–ˆ๋‹ค๋ฉด, TIMESTAMP.. 2025. 1. 23.
[Error] EPERM: operation not permitted c: > ์‚ฌ์šฉ์ž> documents ํด๋”์— ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ณ (์ƒ์„ฑ ๋‹น์‹œ ๋ณด์•ˆ alert์ฐฝ์ด ๋œจ๊ธดํ–ˆ์Œ.. ๐Ÿซฅ) VS code๋กœ ํด๋”๋ฅผ ์—ด์–ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋‹ˆ, ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค.  :๊ด€๋ฆฌ์ž๊ถŒํ•œ์ด ํ•„์š”ํ•œ ํด๋”๋‚ด์— ํ”„๋กœ์ ํŠธ ํด๋”๊ฐ€ ์žˆ์–ด์„œ ์ƒ๊ธฐ๋Š” ์—๋Ÿฌ.   1. ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•cmd๋ฅผ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  ํ•ด๋‹น ์œ„์น˜๋กœ ๊ฒฝ๋กœ๋ฅผ ์ด๋™ ํ›„, code ํด๋”๋ช… ํ•ด์„œ VS code๋ฅผ ์‹คํ–‰ํ•˜๋‹ˆ ๋œ๋‹ค ๐Ÿ˜š   2. ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•cmd๋ฅผ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  code ๋งŒ ์ž…๋ ฅํ•ด๋„ ์ด์ „์— ์—ด์—ˆ๋˜ ํด๋”๊ฐ€ ์—ด๋ ธ๋‹ค. 2025. 1. 23.
[Error] ORA-02292: ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์ด ์œ„๋ฐฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค- ์ž์‹ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ORA-02292: ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด(AAA.BBB)์ด ์œ„๋ฐฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค- ์ž์‹ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.โ€‹์—๋Ÿฌ ๋ฉ”์„ธ์ง€์—์„œ BBB๋ฅผ ๊ธฐ์–ตํ•œ๋‹ค.123SELECT CONSTRAINT_NAME, TABLE_NAME, R_CONSTRAINT_NAME  FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'BBB';  ์œ„ SQL๋ฌธ์—์„œ ๋‹ค๋ฅธ๊ฑด ์ˆ˜์ •ํ•˜์ง€์•Š๊ณ  BBB๋งŒ ๋ฐ”๊พธ์–ด ์‹คํ–‰ํ•œ๋‹ค.๊ทธ๋Ÿผ TABLE_NAME์ด ๋‚˜์˜ค๋Š”๋ฐ,๊ทธ ํ…Œ์ด๋ธ”์„ ์—ด์–ด์„œ ์ž˜ ์ฐพ์•„๋ณด๋ฉด ์‚ญ์ œํ•˜๊ณ ์ž ํ•œ ํ…Œ์ด๋ธ”์˜ FK๊ฐ€ ๋ณด์ธ๋‹ค.โ€‹์ด๋Ÿด ๋•Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•1) ์ž์‹๋ ˆ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌ ํ›„ ์žˆ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‚ญ์ œ๋ถˆ๊ฐ€ ๊ฒฝ๊ณ ๋ฉ”์„ธ์ง€๋ฅผ ๋„์šด๋‹ค. 123SELECT COUNT(*)  FROM TABLE_NAME WHERE FK = 'FK๊ฐ’';  ์œ„ SQL.. 2025. 1. 14.
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด Jsonํƒ€์ž… ๋ณ€ํ™˜, ajax๋ฅผ ํ†ตํ•ด controller์— ๋„˜๊ธฐ๊ธฐ ์‡ผํ•‘๋ชฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉฐ,๊ฐ๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ์ œํ’ˆ์„ ํ™”๋ฉด์— ๋„์›Œ์ฃผ๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด์— ๋‹ด์•˜๋‹ค. ์ด ๋ฐฐ์—ด์„ Jsonํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ”์„œ ajax๋ฅผ ์ด์šฉํ•ด ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. โ˜บ๏ธ  1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด์— ๋‹ด๊ธฐ ๋จผ์ € ์ƒํ’ˆ๋ช…, ์ˆ˜๋Ÿ‰, ๊ฐ€๊ฒฉ / ์กฐ๋ฆฝ์—ฌ๋ถ€, ์กฐ๋ฆฝ๊ฐ€๊ฒฉ, ์ˆ˜๋Ÿ‰/ ๊ฒฌ์  ์ด๋ฆ„ ์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด์— ๋‹ด์•„์•ผํ–ˆ๋‹ค.๋‹ด๊ธฐ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด addToCart()๋ฅผ ํ†ตํ•ด productName๊ณผ productPrice๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  active๋œ component์˜ ์ด๋ฆ„์„ ๋ฐฐ์—ด Name์œผ๋กœ ์ง€์ •ํ•œ ํ›„,  currentCart[componentName] = {             name: productName,             price: parseInt(productPric.. 2025. 1. 5.
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ์ž์—ด ๊ณต๋ฐฑ ์ œ๊ฑฐํ•˜๊ธฐ - trim() , replace() ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฌธ์ž์—ด ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์€ ๋‘ ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ œ๊ฑฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.  1. replace()var a = "๊ฐ€ ๋‚˜ ๋‹ค ๋ผ ๋งˆ ๋ฐ” ์‚ฌ "a.replace(" ","")//"๊ฐ€๋‚˜ ๋‹ค ๋ผ ๋งˆ ๋ฐ” ์‚ฌ "a.replace(/ /g,"")//"๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ๋ฐ”์‚ฌ" replace๋Š” ๋ฌธ์ž๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ด๊ธฐ์— ์‚ฌ์‹ค ๊ณต๋ฐฑ์ด ์•„๋‹ˆ์–ด๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.   2. trim()var a = " ์•ˆ ๋…• ํ•˜ ์„ธ ์š” "a.trim()//"์•ˆ๋…•ํ•˜์„ธ์š”" trim์€ ์œ„์™€๊ฐ™์ด ์•ž๊ณผ ๋’ค์ชฝ์˜ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜์—ฌ ์ค€๋‹ค. 2025. 1. 4.
[Spring Boot] Controller, Service, DAO, Mapper, DTO ์ •๋ฆฌ 1. ๊ธฐ๋ณธ๊ตฌ์กฐ   ์›น ํ™”๋ฉด - Controller - Service - DAO - Mapper - DB  Controller : ํ˜ธ์ถœ๋œ URL์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅService : DAO ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ˆ˜ํ–‰DAO(Data Access Object) : DB ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ, ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…, ์‚ญ์ œ, ์กฐํšŒ ๋“ฑ ํ•  ์ˆ˜ ์žˆ์Œ.Mapper : Mapping  ํŒŒ์ผ์— ์žˆ๋Š” SQL์„ ์ž๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ.DTO(Data Transfer Object) :  ๊ณ„์ธต ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•œ ๋กœ์ง์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ๊ฐ์ฒด. getter, setter  ๋ฉ”์†Œ๋“œ๋งŒ ๊ฐ€์ง„ ํด๋ž˜์ŠคMapper: DAO ๋Œ€์‹  ์ธํ„ฐํŽ˜์ด์Šค๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ DB์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. (mybatis ์‚ฌ์šฉ ์‹œ ์‚ฌ์šฉํ•จ.).. 2024. 12. 25.
[Git/ Sourcetree] rebase ์ถฉ๋Œ ํ•ด๊ฒฐ๋ฒ• ๊ฐœ์ธ ๋ธŒ๋žœ์น˜์— ์ž‘์—…ํ•œ ์†Œ์Šค๋ฅผ commit, pull, push ํ›„์— rebase๋ฅผ ํ•˜๋‹ˆ, ์ถฉ๋Œ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. . . ๐Ÿฅฒ    ํ•ด๊ฒฐ๋ฒ•1.  Gti Bash์—์„œ rebase์‹œ ์ถฉ๋Œ ๋ฐœ์ƒ2. 'ํŒŒ์ผ์ƒํƒœ'์— ์ถฉ๋Œํ•œ ํŒŒ์ผ๋“ค์ด ์Šคํ…Œ์ด์ง€์— ์•„์ง ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋œฌ๋‹ค.3. ์™ธ๋ถ€๋ณ‘ํ•ฉ ํˆด์„ ์‚ฌ์šฉํ•ด ๊ฐ ํŒŒ์ผ์˜ ์ถฉ๋Œ๋‚œ ์ฝ”๋“œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ด์ฃผ๊ธฐ.4. ํ•ด๊ฒฐ ์™„๋ฃŒ๋œ ํŒŒ์ผ์„ ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ ค์ค€๋‹ค.5. Git Bash๋กœ ์™€์„œ "git rebase --continue" ๋ฅผ ์ž…๋ ฅ.6. vi(text-editor)๋กœ ํ™”๋ฉด์ด ์ „ํ™˜๋˜๋ฉด, esc ๋ˆ„๋ฅธ ํ›„์— ":wq" ์ž…๋ ฅํ•˜๊ธฐ.     wq(=write quit)7. rebase๋ฅผ ์„ฑ๊ณตํ• ๋•Œ๊นŒ์ง€ ์ด ์ž‘์—…์„ ๋ฐ˜๋ณต8. rebase๋ฅผ ์„ฑ๊ณตํ•˜๋ฉด, '๊ฐ•์ œํ‘ธ์‹œ' ํ•˜๊ธฐ. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ถฉ๋Œ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค... 2024. 12. 19.

TOP

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