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

ViTE2

[Spring, React] useEffect๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒˆ๋กœ๊ณ ์นจํ•ด๋„ ์ €์žฅ๋œ ๊ณ ๊ฐ์ •๋ณด๊ฐ€ ๋ณด์ด๋„๋ก ํŽ˜์ด์ง€์— ๋ฐ˜์˜ํ•ด๋ณด์ž ๊ณ ๊ฐ ๋ช…๋‹จ ํ™”๋ฉด์„ ๋„์šฐ๋ฉด DB์— ์ €์žฅ๋œ ๋ช…๋‹จ์„ ๊ฐ€์ ธ์™€ ๋ณด์—ฌ์ค˜์•ผํ•œ๋‹ค.๊ทธ๋Ÿฌ๋‚˜ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ํƒญ์— ๋“ค์–ด์˜ค๋ฉดDB์— ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ์–ด๋„ ํ™”๋ฉด์— ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•œ๋‹ค.๊ทธ๋ž˜์„œ ์ด ๋ถ€๋ถ„์„ ๊ฐœ์„ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. 1. ํ™˜๊ฒฝ์„ค์ •ํ”„๋ก ํŠธ์—”๋“œ = React + Vite +WebStorm๋ฐฑ์—”๋“œ = Spring + IntelliJDB = MySQL + MySQLWorkbench 2. ๋ฌธ์ œ์ ํ™”๋ฉดsori๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ €์žฅํ–ˆ๋‹ค. MySQLWorkbench๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์–ด์žˆ๋‹ค. ์ด์ œ ๋‹ค์‹œ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ–ˆ๋‹ค. ๋“ฑ๋ก๋๋˜ sori๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ MySQLWorkbench์—๋Š” ์ž˜ ์ €์žฅ๋˜์–ด์žˆ๋Š” ์ƒํƒœ์˜€๋‹ค. ์™œ ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๊ฑธ๊นŒ? ์›๋ž˜ ์ฝ”๋“œ// ํ™”๋ฉด์— ๋ณด์—ฌ์ค„ ๊ณ ๊ฐ ๋ชฉ๋กconst [rows.. 2025. 12. 18.
[Spring, React, Vite] ์Šคํ”„๋ง๊ณผ ๋ฆฌ์•กํŠธ ์—ฐ๊ฒฐํ•˜๊ธฐ_ React์—์„œ CORS ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ Spring์—์„œ CORS ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•, Security ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์Šคํ”„๋ง๊ณผ ๋ฆฌ์•กํŠธ๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐํ•  ๊ฒƒ์ด๋‹ค.๊ฒ€์ƒ‰์„ ํ•˜๋ฉด React์—์„œ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋งŽ์ด ๋‚˜์˜จ๋‹ค.๊ทธ๋Ÿฌ๋‚˜! ๋‚˜๋Š” Spring์—์„œ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๊ถ๊ธˆํ•˜๋‹ค.๊ทธ๋ž˜์„œ ๋‘˜ ๋‹ค ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. 1. ํ™˜๊ฒฝํ”„๋ก ํŠธ์—”๋“œ → React + Vite React๋ž‘ Spring ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ณดํ†ต CRA ๋ฐฉ์‹์ด ๋งŽ์ด ๋œฌ๋‹ค. CRA๋Š” Create React App์œผ๋กœ ์—ฌ๋Ÿฌ ๋„๊ตฌ๋ฅผ ํ•˜๋‚˜์˜ ๊ถŒ์žฅ ์„ค์ •์œผ๋กœ ํ†ตํ•ฉํ•˜์—ฌ ๊ธฐ์กด์— ๊ฐ–๊ณ  ์žˆ๋˜ React์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฆฌ์•กํŠธ์—์„œ ์‚ฌ์šฉ์„ ์ค‘๋‹จํ–ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ์•ˆ๋˜๋Š” ๊ฒƒ ๊ฐ™์ง„ ์•Š์€๋ฐ, ๊ณ ์„ฑ๋Šฅ ํ”„๋กœ๋•์…˜ ์•ฑ ๊ตฌ์ถ•์„ ์–ด๋ ต๊ฒŒ ํ•˜๋Š” ๋ช‡๊ฐ€์ง€ ์ œํ•œ์ด ์žˆ์–ด์„œ CRA ์‚ฌ์šฉ์„ ์ค‘๋‹จํ•˜๊ณ  ๊ธฐ์กด ์•ฑ์€ ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ Vite, Parcel, RSBuild ๊ฐ™์€ ๋นŒ๋“œ ๋„๊ตฌ๋กœ์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๊ถŒ์žฅ.. 2025. 12. 17.