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

์ „์ฒด ๊ธ€199

[์•ˆ๋“œ๋กœ์ด๋“œ] SharedPreference ์‚ฌ์šฉ๊ณผ ScrollView Event ์žก๋‹คํ•œ ์„œ๋ก  ์กธ์—…ํ”„๋กœ์ ํŠธ ๊ธฐํš์ด ๋๋‚˜๊ณ  ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ์ „์— ์šฐ๋ฆฌ ํŒ€์˜ ์ƒํ™ฉ์„ ์–˜๊ธฐํ•ด๋ณด์ž๋ฉด ์›๋ž˜๋ฅผ ์›น+๋”ฅ๋Ÿฌ๋‹์œผ๋กœ ๊ธฐํš์„ ํ•œ ํ„ฐ๋ผ ์Šคํ”„๋ง๊ณผ ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃฐ ์ค„ ์•„๋Š” ํŒ€์›๋“ค๋กœ ํŒ€์„ ๊ตฌ์„ฑํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‹ค์‹œ๊ฐ„ ๋…ธํŠธ ๋ณ€ํ™˜์„ ํ•ด์ฃผ๋Š” TarsosDSP๊ฐ€ ์•ˆ๋“œ๋กœ์ด๋“œ์— ์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์–ด์„œ ์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ๋…ธ๋ž˜๋ฅผ ํ•˜๋ฉด ๊ทธ๊ฒƒ์„ ์ž˜๋ผ์ฃผ๋Š” ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์จ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์žฅ๊ณ ๋„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋žฌ๋”๋‹ˆ ์•„๋ž˜์ฒ˜๋Ÿผ ์–ผ๋ ˆ๋ฒŒ๋ ˆ ๊ตฌ์กฐ๊ฐ€ ๋‚˜์™”๋‹ค. ๋ฉ˜ํ† ๋‹˜๊ป˜ ์—ฌ์ญค๋ณด๋‹ˆ ๊ดœ์ฐฎ๋‹ค๊ณ ๋Š” ํ•˜์…จ์ง€๋งŒ, ์„œ๋ฒ„์˜ ๊ธฐ๋Šฅ์ด ๋‚˜๋ˆ ์ ธ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์กฐ๊ธˆ ์ด์ƒํ•˜๋‹ค๊ณ  ํ•ด์„œ ๊ทธ๋ƒฅ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ˆ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•ด๋„ ์ž‘๋™ํ•˜๋Š”๋ฐ ๋ฌธ์ œ๋Š” ์—†์„ ๊ฒƒ ๊ฐ™์•„์š”. ์ด๋ฏธ ๊ตฌํ˜„๋œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์ด๋Œ€๋กœ ๊ตฌํ˜„ํ•˜.. 2022. 5. 17.
[Spring Boot] IntelliJ๋กœ ์Šคํ”„๋ง ๋ถ€ํŠธ ์‹œ์ž‘ํ•˜๊ธฐ IntelliJ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ create new project gradle ์„ ํƒ groupId, artifactId ๋“ฑ๋ก groudId : ์ž์‹ ์ด ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋„๋ฉ”์ธ์„ ๋’ค์ง‘์–ด ๋†“์€ ๊ฒƒ ex) nitro.webpage.com -> com.webpage.nitro artifactId : ํ”„๋กœ์ ํŠธ์˜ ์ด๋ฆ„์ด ๋œ๋‹ค. Gradle ํ”„๋กœ์ ํŠธ๋ฅผ Spring ํ”„๋กœ์ ํŠธ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ดˆ๋ณด์ž๋Š” ๊ฐ๊ฐ์˜ ์˜์กด์„ฑ์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๋จผ์ € ์•Œ์•„์•ผ ํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ๋Š” start.spring.io๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ผ์ผํžˆ dependency๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ํ˜„์žฌ ์ด ์ฑ…์€ 2019๋…„์— ์ถœ๊ฐ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„์ „ ์ด์Šˆ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ผ๋‹จ ๋ธ”๋กœ๊ทธ๋ฅผ ๋”ฐ๋ผ ๋ฒ„์ „์„ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•œ๋‹ค. https://jojoldu.tistory.com/539?catego.. 2022. 3. 10.
[Clean Code] 7์žฅ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ TIL (Today I Learned) 22.03.04~22.03.05 ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„ 7์žฅ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ ์˜ค๋ฅ˜ ์ฝ”๋“œ๋ณด๋‹ค ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ // ์˜ค๋ฅ˜ ์ฝ”๋“œ ์‚ฌ์šฉ public void sendShutDown() { DeviceHandle handle = getHandle(DEV1); if (handle != DeviceHandle.INVALID) { ... } } // ์˜ˆ์™ธ ์‚ฌ์šฉ public void sendShutDown() { try { DeviceHandle handle = getHandle(DEV1); } catch (DeviceShutDownError e) { logger.log(e); } } try-catch-finally ๋ฌธ๋ถ€ํ„ฐ ์ž‘์„ฑํ•˜๋ผ try ๋ธ”๋ก์—์„œ ๋ฌด์Šจ ์ผ์ด ์ƒ๊ธฐ๋“ ์ง€.. 2022. 3. 5.
[Clean Code] 6์žฅ ๊ฐ์ฒด์™€ ์ž๋ฃŒ๊ตฌ์กฐ TIL (Today I Learned) 22.03.01 ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„ 6์žฅ. ๊ฐ์ฒด์™€ ์ž๋ฃŒ๊ตฌ์กฐ ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ ์ž๋ฃŒ ์ถ”์ƒํ™” ๊ตฌํ˜„์„ ๊ฐ์ถ”๋ ค๋ฉด ์ถ”์ƒํ™”๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์กฐํšŒ ํ•จ์ˆ˜์™€ ์„ค์ • ํ•จ์ˆ˜๋กœ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฃฌ๋‹ค๊ณ  ํด๋ž˜์Šค๊ฐ€ ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๊ทธ๋ณด๋‹ค๋Š” ์ถ”์ƒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌํ˜„ใ…‡๋ฅด ๋ชจ๋ฅธ ์ฑ„ ์ž๋ฃŒ์˜ ํ•ต์‹ฌ์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์ง„์ •ํ•œ ์˜๋ฏธ์˜ ํด๋ž˜์Šค๋‹ค. ์ž๋ฃŒ/๊ฐ์ฒด ๋น„๋Œ€์นญ ๊ฐ์ฒด ์ง€ํ–ฅ ์ฝ”๋“œ์—์„œ ์–ด๋ ค์šด ๋ณ€๊ฒฝ์€ ์ ˆ์ฐจ์ ์ธ ์ฝ”๋“œ์—์„œ ์‰ฌ์šฐ๋ฉฐ, ์ ˆ์ฐจ์ ์ธ ์ฝ”๋“œ์—์„œ ์–ด๋ ค์šด ๋ณ€๊ฒฝ์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์ฝ”๋“œ์—์„œ ์‰ฝ๋‹ค! 1) ๊ฐ์ฒด : ๋™์ž‘์„ ๊ณต๊ฐœํ•˜๊ณ  ์ž๋ฃŒ๋ฅผ ์ˆจ๊ธด๋‹ค. - ์žฅ์  : ๊ธฐ์กด ํ•จ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์ƒˆ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‰ฝ๋‹ค. - ๋‹จ์ : ๊ธฐ์กด ๊ฐ์ฒด์— ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค. 2) ์ž๋ฃŒ ๊ตฌ์กฐ(์ ˆ์ฐจ์ง€ํ–ฅ) : ๋ณ„๋‹ค๋ฅธ ๋™์ž‘ ์—†.. 2022. 3. 2.
[Clean Code] 4์žฅ ์ฃผ์„ TIL (Today I Learned) 22.02.25~22.02.26 ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„ 4์žฅ ์ฃผ์„ ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ ์šฐ๋ฆฌ๋Š” ์ฝ”๋“œ๋กœ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•ด, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์‹คํŒจ๋ฅผ ๋งŒํšŒํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์„์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ฝ”๋“œ๋งŒ์ด ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์œ ์ผํ•œ ์ถœ์ฒ˜๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์šฐ๋ฆฌ๋Š” (๊ฐ„ํ˜น ํ•„์š”ํ• ์ง€๋ผ๋„) ์ฃผ์„์„ ๊ฐ€๋Šฅํ•œ ์ค„์ด๋„๋ก ๊พธ์ค€ํžˆ ๋…ธ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ฃผ์„์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ - ์ธ์ˆ˜๋‚˜ ๋ฐ˜ํ™˜๊ฐ’์ด ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•˜๋Š” ์ฝ”๋“œ -> ์˜๋ฏธ๋ฅผ ๋ช…๋ฃŒํ•˜๊ฒŒ ๋ฐํžˆ๋Š” ์ฃผ์„ - ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฝ๊ณ ํ•  ๋ชฉ์  ์˜คํ•ดํ•  ์—ฌ์ง€๊ฐ€ ์žˆ๋Š” ์ฃผ์„ // this.closed๊ฐ€ true์ผ ๋•Œ ๋ฐ˜ํ™˜๋˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์„œ๋“œ๋‹ค. // ํƒ€์ž„์•„์›ƒ์— ๋„๋‹ฌํ•˜๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค. public synchronized void waitForClose(fina.. 2022. 2. 26.
[ํด๋ฆฐ ์ฝ”๋“œ] 3์žฅ ํ•จ์ˆ˜ TIL (Today I Learned) 22.02.22~22.02.23 ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„ 3์žฅ. ํ•จ์ˆ˜ ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ - ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด๋“  ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋‹จ์œ„๊ฐ€ ํ•จ์ˆ˜๋‹ค. - ํ•จ์ˆ˜๋Š” ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, if๋ฌธ/else๋ฌธ/while๋ฌธ์— ๋“ค์–ด๊ฐ€๋Š” ๋ธ”๋ก์€ ํ•œ ์ค„์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค. ์ด ๋ง์€ ์ค‘์ฒฉ ๊ตฌ์กฐ๊ฐ€ ์ƒ๊ธธ๋งŒํผ ํ•จ์ˆ˜๊ฐ€ ์ปค์ ธ์„œ๋Š” ์•ˆ ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•จ์ˆ˜์—์„œ ๋“ค์—ฌ์“ฐ๊ธฐ ์ˆ˜์ค€์€ 1๋‹จ์ด๋‚˜ 2๋‹จ์„ ๋„˜์–ด์„œ๋ฉด ์•ˆ๋œ๋‹ค. - ๋‹จ์ˆœํžˆ ๋‹ค๋ฅธ ํ‘œํ˜„์ด ์•„๋‹ˆ๋ผ ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„์œผ๋กœ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•˜๋Š” ์…ˆ์ด๋‹ค[G34] -> ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋„ ํ•˜๋‚˜์˜ ์ž‘์—…์ด๋‹ค! - ๊ฐ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ ํ•จ์ˆ˜๋ฅผ ์†Œ๊ฐœํ•˜๊ณ , ๊ฐ ํ•จ์ˆ˜๋Š” ์ผ์ •ํ•œ ์ถ”์ƒํ™” ์ˆ˜์ค€์„ ์œ ์ง€ํ•œ๋‹ค. switch๋ฌธ swi.. 2022. 2. 23.
[ํด๋ฆฐ ์ฝ”๋“œ] 2์žฅ ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„ TIL (Today I Learned) 22.02.20 ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„ 2์žฅ ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„ ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ - ์˜๋„๋ฅผ ๋ถ„๋ช…ํžˆ ๋ฐํ˜€๋ผ : ์ด๋ฆ„์€ ๋ณ€์ˆ˜/ํ•จ์ˆ˜/ํด๋ž˜์Šค์˜ ์กด์žฌ ์ด์œ , ์ˆ˜ํ–‰ ๊ธฐ๋Šฅ, ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ๋ชจ๋‘ ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค. - ๋ณ€์ˆ˜ ์ด๋ฆ„์— ์˜๋ฏธ๊ฐ€ ๋ถˆ๋ช…ํ™•ํ•œ ๋ถˆ์šฉ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค. ex) Product -> ProductInfo, ProductData - ๋ฒ”์œ„ ๊ธธ์ด๊ฐ€ ๊ธธ์ˆ˜๋ก ์ด๋ฆ„์„ ์ •ํ™•ํ•˜๊ณ  ๊ธธ๊ฒŒ ์ง€์–ด์•ผ ํ•œ๋‹ค. - ํด๋ž˜์Šค ์ด๋ฆ„ : ๋ช…์‚ฌ๋‚˜ ๋ช…์‚ฌ๊ตฌ / ๋ฉ”์„œ๋“œ ์ด๋ฆ„ : ๋™์‚ฌ๋‚˜ ๋™์‚ฌ๊ตฌ - ๋งฅ๋ฝ์„ ๋ถ€์—ฌํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ์ชผ๊ฐœ๋ผ. - ์‚ฌ๋žŒ๋“ค์ด ์ด๋ฆ„์„ ๋ฐ”๊พธ์ง€ ์•Š์œผ๋ ค๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ˜๋Œ€ํ• ๊นŒ ๋‘๋ ค์›Œ์„œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋“ค ์ƒ๊ฐ์€ ๋‹ค๋ฅด๋‹ค. ์˜คํžˆ๋ ค ์ข‹์€ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋ฐ˜๊ฐ‘๊ณ  ๊ณ ๋ง™๋‹ค. ์˜ค๋Š˜ ์ฝ์€ .. 2022. 2. 21.
[ํด๋ฆฐ ์ฝ”๋“œ] 1์žฅ ๊นจ๋—ํ•œ ์ฝ”๋“œ TIL (Today I Learned) 2022.02.19 ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„ ์ถ”์ฒœ์‚ฌ ~ 1์žฅ. ๊นจ๋—ํ•œ ์ฝ”๋“œ ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ 5S ๋ฒ•์น™(์ถ”์ฒœ์‚ฌ xxiv) - ์ •๋ ฌ : ์ ์ ˆํ•œ ๋ช…๋ช…๋ฒ• ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด ๋ฌด์—‡์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค. - ์ฒด๊ณ„ํ™” : ์ฝ”๋“œ๋Š” ๋ˆ„๊ตฌ๋‚˜ ์˜ˆ์ƒํ•˜๋Š” ์œ„์น˜์— ์žˆ์–ด์•ผ ํ•œ๋‹ค. - ์ •๋ฆฌ : ์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ์ฝ”๋“œ๋‚˜ ํ”„๋กœ์ ํŠธ์™€ ์ƒ๊ด€ ์—†๋Š” ์ฃผ์„์€ ์ง€์šด๋‹ค. - ํ‘œ์ค€ํ™” : ๊ทธ๋ฃน ๋‚ด์—์„œ ์ผ๊ด€์ ์ธ ๊ตฌํ˜„ ์Šคํƒ€์ผ๊ณผ ๊ธฐ๋ฒ•์„ ๋„์ž…ํ•ด์•ผ ํ•œ๋‹ค. - ๊ทœ์œจ : ๊ด€๋ก€๋ฅผ ๋”ฐ๋ฅด๊ณ , ์ž๊ธฐ ์ฝ”๋“œ๋ฅผ ์ž์ฃผ ๋Œ์•„๋ณด๊ณ  ๊ธฐ๊บผ์ด ๋ณ€๊ฒฝํ•œ๋‹ค. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ž€? 1) ๋…ผ๋ฆฌ๊ฐ€ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ(์ค‘๋ณต์ด ์—†๋‹ค) 2) ์˜์กด์„ฑ์ด ์ตœ์†Œ์ด๋ฉฐ ๊ฐ ์˜์กด์„ฑ์„ ๋ช…ํ™•ํžˆ ์ •์˜ํ•˜๋Š” ์ฝ”๋“œ -> ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค 3) ์˜ค๋ฅ˜๋ฅผ ๋ช…๋ฐฑํ•œ ์ „๋žต์— ์˜๊ฑฐํ•ด ์ฒ ์ €ํžˆ ์ฒ˜๋ฆฌํ•˜.. 2022. 2. 19.
[Spring Boot/RESTful] JPA ์‚ฌ์šฉ / H2 database(+sql ๋ฒ„์ „ ์˜ค๋ฅ˜) JPA Java Persistence API ์ž๋ฐ” ORM ๊ธฐ์ˆ ์— ๋Œ€ํ•œ API ํ‘œ์ค€ ๋ช…์„ธ(Object Relationship Mapping) ์ž๋ฐ” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ •์˜ํ•œ ์ธํ„ฐํŽ˜์ด์Šค → ๋ฉ”์†Œ๋“œ ์„ ์–ธ๋ฌธ๋งŒ ์กด์žฌ. ์šฐ๋ฆฌ๋Š” ๊ตฌํ˜„์ฒด๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœ์„ ํ•ด์•ผ ํ•œ๋‹ค ⇒ Hibernate EntityManager๋ฅผ ํ†ตํ•ด CRUD ์ฒ˜๋ฆฌ Hibernate JPA์˜ ๊ตฌํ˜„์ฒด, ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ⇒ JPA์˜ EntityManager๋ฅผ ๊ตฌํ˜„ ๊ฐ์ฒด ๊ด€๊ณ„ ๋งคํ•‘ ํ”„๋ ˆ์ž„์›Œํฌ ์ƒ์‚ฐ์„ฑ, ์œ ์ง€๋ณด์ˆ˜, ๋น„์ข…์†์„ฑ Spring Data JPA Spring Module JPA๋ฅผ ์ถ”์ƒํ™”ํ•œ Repository ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต ์ธํ„ฐํŽ˜์ด์Šค ์„ ์–ธ ๋งŒ์œผ๋กœ๋„ Spring์—์„œ ์ œ๊ณตํ•˜๋Š” CRUD ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๊ฐ€๋Šฅ 1. .. 2022. 2. 19.