[Project/4th] 3. JPA Entity ๊ด€๊ณ„ ์„ค์ •ํ•˜๊ธฐ
ยท
Project
[ํ”„๋กœ์ ํŠธ ์ผ์ง€] 4๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ - 1. ์„œ๋ฒ„ ์„ค๊ณ„ํ•˜๊ธฐ[ํ”„๋กœ์ ํŠธ ์ผ์ง€] 4๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ - 2. ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ, ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ     ์ €๋ฒˆ์ฃผ์— ์ง„ํ–‰ํ•œ ๋‚ด์šฉ์ด์ง€๋งŒ ์ด์ œ์„œ์•ผ ๊ธฐ๋กํ•˜๋Š” JPA Entity ๊ด€๊ณ„ ์„ค์ •ํ•œ ์ด์•ผ๊ธฐ!         ๊ธฐ์กด์— ๋‹ค๋ฅธ DB(Firebase)์— ์ €์žฅํ•˜๋˜ ๋ฐ์ดํ„ฐ๋ฅผ RDB๋กœ ์ด๊ด€ํ•˜๊ณ , ์•ž์œผ๋กœ ๊ฐœ๋ฐœ๋  ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ธฐ์กด์˜ ๊ธฐ๋Šฅ๊ณผ ์—ฐ๊ณ„ํ•ด ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค. ์ถ”๊ฐ€๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์˜ ๋Œ€๋žต์ ์ธ ๊ธฐํš์— ๋งž๊ฒŒ DB๋ฅผ ์„ค๊ณ„ํ–ˆ์—ˆ๋‹ค. ์•„์ง ๊ธฐํš์˜ ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์ด ํ”ฝ์Šค๋œ๊ฒŒ ์•„๋‹ˆ๋ผ์„œ ํ•„์š”ํ•œ ํ…Œ์ด๋ธ”์„ ๋‚˜์—ดํ•ด๋ณด๊ณ , ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„๋งŒ ๋”ฐ์ ธ๋ดค์—ˆ๋‹ค.  ํ›„์— ๋Œ€๋Œ€์ ์ธ ๋ณ€๊ฒฝ์ด ์žˆ์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ๋Œ€๋žต ์„ค๊ณ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์Šคํ”„๋ง์—์„œ DB์™€ ๋งคํ•‘ํ•˜๊ธฐ ์œ„ํ•ด JPA ๊ฐ์ฒด์˜ ์—ฐ๊ด€ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•ด๋ณด๊ธฐ..
[Project/4th] 2. ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ, ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ
ยท
Project
[ํ”„๋กœ์ ํŠธ ์ผ์ง€] 4๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ - 1. ์„œ๋ฒ„ ์„ค๊ณ„ํ•˜๊ธฐ     ์ €์ €๋ฒˆ์ฃผ์— ์ง„ํ–‰ํ•œ ๋‚ด์šฉ์ด์ง€๋งŒ ์ด์ œ์„œ์•ผ ๊ธฐ๋กํ•˜๋Š” ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๊ณผ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ ์ด์•ผ๊ธฐ!    ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝOS : MAC OS(M2)IDE : IntelliJ IDEA 2023.3.5 (Ultimate Edition) JDK : Amazon corretto 17.0.10Server : Spring Boot 3.2.4DB : MySQL 8.0.36     Spring Boot ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐ ์„ค์ •๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ์ƒˆ๋กœ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค. 24๋…„ 3์›” ๊ธฐ์ค€, ํ˜„์žฌ Spring Boot์˜ ์ตœ์‹ ๋ฒ„์ „์€ `3.3.0`์ด์ง€๋งŒ, SNAPSHOT ๋ฒ„์ „์ด ์•„๋‹Œ `3.2.4`๋กœ ์ƒ์„ฑ์„ ํ–ˆ๋‹ค.Spring Boot 3 ๋ฒ„์ „๋ถ€ํ„ฐ Jav..
[Java] Lombok ๋กฌ๋ณต์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ
ยท
Backend/Java
Java/Spring์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์—ˆ๋‹ค.Lombok ๋•๋ถ„์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ํŽธํ–ˆ์ง€๋งŒ, ๋ฌด์ง€์„ฑ์œผ๋กœ ๋ง‰ ๊ฐ–๋‹ค์“ฐ๋‹ค๊ฐ€ ๋‚ญํŒจ๋ฅผ ๋ณธ ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ๋‹ค.(toString ์ˆœํ™˜ ์ฐธ์กฐ, ์ƒ์„ฑ์ž ์ˆœ์„œ ์•ˆ๋งž์Œ...)  Lombok์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ •๋ฆฌํ•ด๋ณด๊ณ , ๋‹จ์ ๊ณผ ์ฃผ์˜์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค!           Lombok์€ ์ธ๋„๋„ค์‹œ์•„์— ์žˆ๋Š” Lombok ์„ฌ์—์„œ ์ด๋ฆ„์„ ๋”ฐ์„œ ๋งŒ๋“ค์—ˆ๋‹ค๋Š”๋ฐ, ์™œ ์•„์ด์ฝ˜์€ Red chilli์ผ๊นŒ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.Project Lombok์˜ ์Šฌ๋กœ๊ฑด์„ ๋ณด๋ฉด 'Spice up your java(์ž๋ฐ”์— ๋ง›์„ ๋”ํ•˜๋‹ค)'์ธ๋ฐ, 'Spice(ํ–ฅ์‹ ๋ฃŒ)' ๋•Œ๋ฌธ์— Red chilli ์•„์ด์ฝ˜์„ ์“ฐ๋Š” ๊ฒƒ ๊ฐ™๋‹ค! (์ถ”์ธก)      Lombok ์ด๋ž€? Lombok์€ ์ž๋™์ ์œผ๋กœ ..
[Spring Boot] Spring Boot 3๊ณผ Spring Boot 2 ๋น„๊ต
ยท
Backend/Spring Boot
์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ์— ์ƒˆ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด์„œ, Spring Boot ๋ฒ„์ „์„ ์„ ํƒํ•ด์•ผ ๋๋‹ค. ์ž‘๋…„(23๋…„ ์ดˆ)๊นŒ์ง€๋งŒ ํ•ด๋„ ๊ต์œก์—์„œ ์šฐ๋ฆฌ ํŒ€ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ, ๊ฑฐ์˜ ๋ชจ๋“  ์ฃผ๋ณ€ ํŒ€๋“ค์ด Spring 2.7 ๋ฒ„์ „์„ ์‚ฌ์šฉํ–ˆ์—ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ Spring Boot 3 (22๋…„ 11์›” ์ถœ์‹œ)์ด ๋‚˜์˜จ์ง€ ์–ผ๋งˆ ์•ˆ๋˜์–ด์„œ Deprecated ๋˜๋Š” ๊ฒƒ๋„ ๊ฝค ์žˆ์—ˆ๊ณ , ์ฐธ๊ณ  ์ž๋ฃŒ๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์–ด ๋‹ค๋“ค 2.7 ๋ฒ„์ „์„ ์„ ํƒํ–ˆ์—ˆ๋‹ค.         Spring Boot 2๊ฐ€ ๋‚ฎ์€ ๋ฒ„์ „๋ถ€ํ„ฐ ์ง€์›์ด ์ ์  ๋Š๊ธฐ๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ธฐ์กด์˜ ํ”„๋กœ์ ํŠธ๋ฅผ Spring Boot 3์œผ๋กœ ์ ์ฐจ ๋งˆ์ด๊ทธ๋ž˜์ด์…˜ ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋“ค์—ˆ๋‹ค.   ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์— Spring Boot 3 ๋ฒ„์ „์„ ์“ฐ๊ฒŒ ๋˜์–ด์„œ, Spring Boot 3์—์„œ ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์กŒ๋Š”์ง€ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค!     Java..
[Project/4th] 1. ์„œ๋ฒ„ ์„ค๊ณ„ํ•˜๊ธฐ
ยท
Project
์ตœ๊ทผ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ์— ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ํ•ฉ๋ฅ˜ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์•ฑ์„ ์•ฑ์Šคํ† ์–ด์— ์˜ฌ๋ ค ์‹ค์‚ฌ์šฉ์ž๊ฐ€ ์žˆ์„ ํ”„๋กœ์ ํŠธ์ด๋‹ค.์ด๋ฏธ React Native๋กœ ์„œ๋น„์Šค์˜ MVP ๊ฐœ๋ฐœ์ด ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์ธ๋ฐ, ๋‚˜๋Š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์˜ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.  ํ•ฉ๋ฅ˜ํ•˜๊ธฐ์— ์•ž์„œ ๋‚˜์ค‘์— ํ”„๋ก ํŠธ์—์„œ DB ์—ฐ๊ฒฐํ•˜๋Š” ๋ถ€๋ถ„์„ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ•ด์„œ, React์˜ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•๊ณผ React Hook์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €๋ฒˆ์ฃผ๋ถ€ํ„ฐ ๋ฐฑ์—”๋“œ ํŒ€์—์„œ ์„œ๋ฒ„ ์„ค๊ณ„ ๋‹จ๊ณ„๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค.           ์ธํ”„๋ผ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด AWS, GCP์ด ์žˆ์—ˆ๋‹ค. GCP๊ฐ€ AWS๋ณด๋‹ค ๋น„์šฉ์ด ์‹ธ์ง€๋งŒ, ์ด์ „์— AWS๋กœ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์„ฑํ–ˆ๋˜ ๊ฒฝํ—˜๋„ ์žˆ๊ณ , ์ต์ˆ™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— AWS๋ฅผ ์“ฐ๊ธฐ๋กœ ํ–ˆ๋‹ค.๋‹ค๋งŒ, AWS ์š”๊ธˆ์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์ผ๋‹จ ๋กœ์ปฌ..
[Test] JMeter๋กœ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธํ•˜๊ธฐ
ยท
Backend/Test
์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ์ž‘์—…์„ ํ•˜๋ฉด์„œ ์–ผ๋งˆ๋‚˜ ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์ด ๊ฐœ์„ ๋˜์—ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.ํ…Œ์ŠคํŠธ ๊ณผ์ •์—์„œ ์„œ๋ฒ„์— ์—ฌ๋Ÿฌ ๋ช…์˜ ์œ ์ €๊ฐ€ ๋“ค์–ด์˜ค๋Š” ์ƒํ™ฉ์„ ์—ฐ์ถœํ•˜๊ณ , ์—ฌ๋Ÿฌ API์˜ ์„ฑ๋Šฅ์„ ํ•œ ๋ˆˆ์— ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.  ๋ชฉํ‘œ : 100๋ช…์ด ์œ ์ €๊ฐ€ ๋™์‹œ์— ๋“ค์–ด์˜ค๋Š” ์ƒํ™ฉ์„ ์—ฐ์ถœํ•˜๊ณ , API ์š”์ฒญ์— ๋ช‡ ์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š”์ง€ ๋น„๊ตํ•˜๊ธฐ  nGrinder, K6, JMeter์˜ ๋„๊ตฌ๋“ค์ด ์žˆ์—ˆ๊ณ , ์—ฌ๋Ÿฌ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋„๊ตฌ๋“ค์— ๋Œ€ํ•ด ์กฐ์‚ฌํ–ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ๋‚ด ์ƒํ™ฉ์— ๋งž๋Š” JMeter๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋„๊ตฌ๋“ค์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ณ , JMeter๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ฒ ๋‹ค!     ๐Ÿ”Ž ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋„๊ตฌ๋“ค ์กฐ์‚ฌnGrinder์ดˆ๊ธฐ ์„ค์ •์ด ๋‹ค์†Œ ๋ณต์žกํ•˜๋‹ค.GUI๋ฅผ ์ œ๊ณตํ•œ๋‹ค. GUI๊ฐ€ ์ž˜๋˜์–ด ์žˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ..
giraffe_
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)