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

springboot12

[Spring Boot] Restclient & HttpInterface ์กฐํ•ฉ ์‚ฌ์šฉ ์‹œ, ์š”์ฒญ ์‘๋‹ต์„ Logging ํ•ด๋ณด์ž ๋งŽ์€ Spring ๊ฐœ๋ฐœ์ž๋“ค์ด RestClient ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ, Spring์ด API ํ˜ธ์ถœ ๋„๊ตฌ์˜ ๊ณตํ†ต์ ์„ ์ถ”์ƒํ™”ํ•ด์„œ ํ•˜๋‚˜์˜ Adapter ์ธ Http Interface ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋“ฏ ํ•˜๋‹ค. ์žฅ์ ์€ ๋ฐ˜๋ณต๋˜๋Š” RestClient ์˜ ์ฒด์ด๋‹ ์ฝ”๋“œ๋ฅผ ๊ณตํ†ตํ™” ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Open feign ์„ ์‚ฌ์šฉํ•˜๋“ฏ์ด Interface ํ•˜๋‚˜๋กœ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์„œ๋น„์Šค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ์ข€ ๋” ๊ณ ๋„ํ™”๋ฅผ ํ•ด์•ผํ•˜์ง€ ์•Š๊ฒ ๋Š”๊ฐ€.์šด์˜์—์„œ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์ด logging ์ด๋‹ค.๊ธฐ๋ณธ์ ์œผ๋กœ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ logging ํ•ด๋†“๋Š” ํŽธ์ด trace ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ํ›จ์”ฌ ์ˆ˜์›”ํ•  ๊ฒƒ์ด๋‹ค. ํ˜ธ์ถœํ•˜๋Š” API ๊ฐ€ ๋งŽ์„ ์ˆ˜๋ก configuration ํ•ด์•ผ ํ•˜๋Š” rest client ์˜ Bean ๋“ฑ๋ก ์ฝ”๋“œ๋„ ๋งŽ์•„์งˆ ๊ฒƒ์ด๋ฏ€.. 2025. 1. 6.
Bean ๋“ฑ๋ก์— ๋Œ€ํ•œ ์žฌ๊ณ  SpringBoot์—์„œ Bean์„ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ. 1. ํด๋ž˜์Šค์— ์ง์ ‘ @Component ์• ๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ 2. @Configuration ์• ๋…ธํ…Œ์ด์…˜์„ ํ™œ์šฉํ•ด @Bean ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ์‹ ์œ„ 2๊ฐ€์ง€ ๋ฐฉ์‹์ด ๋ณดํŽธ์ ์ด๋‹ค. ๋‚ด๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ์ง„ํ–‰ํ–ˆ๋˜ ๋ณดํ†ต์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ๋Š” 1๋ฒˆ์„ ์••๋„์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. @Configuration ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ, ํ†ต์ƒ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Bean์œผ๋กœ ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•จ์ด๋ผ๋ฉฐ ๋ฉด์ ‘ ์งˆ๋ฌธ์—์„œ ์ •์„์ ์œผ๋กœ ํšŒ์ž๋œ๋‹ค. ๊ทธ ๊ณ ์ • ๊ด€๋… ํƒ“์—, ๋‚˜์˜ ๊ฒฝ์šฐ๋„ 2๋ฒˆ ๋ฐฉ์‹์€ ์™ธ๋ถ€ ์„ค์ • ์ด์™ธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์—ˆ๋‹ค. Java9์—์„œ ๋‚˜์˜จ, ์ƒˆ๋กœ์šด ์ถ”์ƒํ™” ๊ฐœ๋…์ธ ๋ชจ๋“ˆ์ด๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค. ๋ชจ๋“ˆ์—๋Š” ์ข…์†์„ฑ(dependency)์˜ ๊ฐœ๋…์ด ์žˆ์œผ๋ฉฐ, Public API๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ  .. 2024. 10. 12.
Spring boot multi datasource ๋“ฑ๋ก ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ Spring Boot Multi datasource ๋“ฑ๋ก ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ์ตœ๊ทผ ์ง„ํ–‰ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋Š” ์™ธ๋ถ€ ํœด๋ฌด์ผ ์ •๋ณด API๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ DB์— ์ ์žฌํ•˜๋Š” ์›”๋ฐฐ์น˜์šฉ Spring Batch ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.ํšŒ์‚ฌ์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ DataBase๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ๋ฉ”์ธ DB๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๊ณ , spring batch ์šฉ DB๋Š” ๋”ฐ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.๊ทธ๋ž˜์„œ ๋ฉ€ํ‹ฐ datasource bean ์„ ๋“ฑ๋กํ•ด์ค˜์•ผ ํ–ˆ๋‹ค.๊ทธ ๊ณผ์ •์—์„œ ์ •๋ง ๊ธฐ์ดˆ์ ์ด์ง€๋งŒ ์‹ค์ˆ˜ํ–ˆ๋˜ ๋ถ€๋ถ„์„ ์„ค๋ช…ํ•ด๋ณด๊ฒ ๋‹ค.Multi Datasourceํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ.spring ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ yaml ํŒŒ์ผ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ datasource ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.๋”ฐ๋กœ java ์ฝ”๋“œ๋กœ bean ์„ ๋“ฑ๋กํ•  ํ•„์š”๊ฐ€ ์—†์„ ๊ฒƒ์ด๋‹ค.ํ•˜์ง€.. 2024. 9. 18.
[CI-CD ๊ตฌ์ถ•] AWS EC2, Docker ๋ฅผ ์ด์šฉํ•œ Spring Boot ์ž๋™ ๋ฐฐํฌ ์ธํ”„๋ผ ๊ตฌ์ถ•์€ ์ฐธ ์‰ฝ์ง€ ์•Š๋‹ค. ์ธํ”„๋ผ ๊ณต๋ถ€๋Š” ๋”๋”์šฑ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ์‹ค์Šต์„ ํ•˜๋ ค๋ฉด ๋น„์šฉ์ด ์ฐธ ๋งŽ์ด ๋“ ๋‹ค. ํ•˜์ง€๋งŒ, ์›ํ™œํ•œ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด์„œ๋Š” ์ž๋™ ๋ฐฐํฌ๋ฅผ ๊ตฌ์ถ•ํ•ด์•ผ์ง€๋งŒ, ์„œ๋น„์Šค ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” ์„œ๋ฒ„ ๊ฐœ๋ฐœ ๋Šฅ๋ ฅ ์ด์™ธ์—, ์–ด๋Š ์ •๋„ ์ธํ”„๋ผ ๊ตฌ์ถ• ๋ฐ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ํƒ‘์žฌํ•ด์•ผ ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ด๋ฒˆ์— ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ๊ธฐํš ๋ฐ ์ธํ”„๋ผ ๊ตฌ์ถ•์„ ํ•ด์•ผ๋  ์ผ์ด ์ƒ๊ฒผ๋‹ค. ์–ด๋–ป๊ฒŒ ์ตœ๋Œ€ํ•œ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ• ์ง€ ๊ณ ๋ฏผ์„ ํ•ด๋ตœ๋‹ค. ์ด ์ „์—๋Š” jar ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด AWS EC2 ์ธ์Šคํ„ด์Šค์— ๊ณ ๋Œ€๋กœ ๋กœ์ปฌ๊ณผ ๋น„์Šทํ•œ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•ด ๋†“๊ณ , yaml ๋„ ๊ทธ๋Œ€๋กœ ๋„ฃ์–ด๋†“๊ณ , ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ์‹œ๋„ํ–ˆ๋‹ค. Ubuntu ์„œ๋ฒ„์—์„œ ํ• ๊ฒŒ ์ฐธ ๋งŽ์•˜๋‹ค. ๋„์ปค๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ , ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ EC2 ์— .. 2023. 6. 18.
๊ฒฐ์ œ API ๋ฆฌํŒฉํ† ๋ง - [2] (feat. WebClient) https://sweeeetgoguma.tistory.com/entry/%EA%B2%B0%EC%A0%9C-API-%EB%A6%AC%ED%8C%A9%ED%86%A0%EB%A7%81-1-feat-%EC%A0%84%EB%9E%B5-%ED%8C%A8%ED%84%B ๊ฒฐ์ œ API ๋ฆฌํŒฉํ† ๋ง - [1] (feat. ์ „๋žต ํŒจํ„ด) ๊ฒฐ์ œ API๋ฅผ ๋ฆฌํŒฉํ† ๋ง ์‹œ์ž‘ํ•˜๋ฉฐ ์™ธ๋ถ€ API๋ฅผ ์—ฐ๋™ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•ด๋ดค๋‹ค. ๊ธฐ์กด์—๋„ ์นด์นด์˜คํŽ˜์ด๋ฅผ ์ด์šฉํ–ˆ์—ˆ๊ณ , ์ง€๊ธˆ๋„ ์นด์นด์˜คํŽ˜์ด๋ฅผ ์ด์šฉํ•  ๊ฒƒ์ด์ง€๋งŒ, ์ถ”๊ฐ€์ ์œผ๋กœ ๋‹ค๋ฅธ ๊ฒฐ์ œ API๋ฅผ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ sweeeetgoguma.tistory.com ์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค~ ์‹ค์ œ ๊ฒฐ์ œ API๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” httpClient ๊ธฐ๋ฐ˜์˜ ๋ชจ๋“ˆ์ด ํ•„์š”ํ•˜๋‹ค. ๊ธฐ์กด์—๋Š” ๋™๊ธฐ๋ฐฉ์‹, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋ฅผ ์ด์šฉ.. 2022. 9. 22.
DB ์ˆ˜์ • & jpa ์„ธํŒ… ํ”„๋กœ์ ํŠธ์˜ ์ „๋ฐ˜์ ์ธ ๋ฆฌํŒฉํ„ฐ๋ง์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉฐ, ๊ธฐ์กด mybatis๋ฅผ ์ด์šฉํ–ˆ๋˜ ๊ฒƒ์„ ๊ทธ๋Œ€๋กœ ์˜ฎ๊ฒจ์™”๋‹ค. ํ•˜์ง€๋งŒ SQL Mapper๋ฅผ ์ด์šฉํ•œ ์„ค๊ณ„ ํŠน์„ฑ์ƒ ๊ฐ์ฒด ์ง€ํ–ฅ์ ์ธ ์ฝ”๋“œ์˜ ์ž‘์„ฑ์ด ์–ด๋ ค์› ๊ณ , ๋˜ ๊ธฐ์กด DB ์„ค๊ณ„์˜ ๋ฌธ์ œ๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. DB์˜ ์ „๋ฐ˜์ ์ธ ์ˆ˜์ •๊ณผ ๋”๋ถˆ์–ด, JPA๋ฅผ ์ด์šฉํ•ด ๋‹ค์‹œ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•ด๋ณด๊ธฐ๋กœ ๊ฒฐ์ •์„ ๋‚ด๋ ธ๋‹ค. ๊ทธ ์ˆ˜์ •๊ณผ์ •๊ณผ JPA ์„ธํŒ… ๋ฐฉ๋ฒ•์„ ๋‚˜์—ดํ•ด๋ณด๊ฒ ๋‹ค. https://github.com/GroovyArea/My-ChickenBreast-Shop GitHub - GroovyArea/My-ChickenBreast-Shop: shop api with spring boot shop api with spring boot . Contribute to GroovyArea/My-ChickenB.. 2022. 8. 8.
2022.05.26 ใ€ŒํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ ธ์„ ๊ฒฝ์šฐใ€ ์ด๋ฉ”์ผ์„ ํ†ตํ•ด ์ธ์ฆ ๋ฒˆํ˜ธ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์€ ๋งค์šฐ ๋Š๋ฆฌ๋‹ค. ์„œ๋ฒ„ ์‚ฌ์šฉ์ž๊ฐ€ ๋Š˜์–ด๋‚ ์ˆ˜๋ก ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์ด ๋ชฐ๋ ค ์ธ์ฆ ๋ฒˆํ˜ธ๋ฅผ ์ „์†กํ•˜๋Š” ์‹œ๊ฐ„์ด ๋ฌด์ง„์žฅ ๋Š˜์–ด๋‚  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌ๋ฉด ์•ˆ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ฐพ์•„๋ณด์•˜๋‹ค. ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ ธ์„ ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ค ์‹์œผ๋กœ ํ•ด๊ฒฐ์„ ํ•˜๋Š”์ง€? ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ๋ฐฉ์‹์ด ์žˆ๋‹ค. ๋™๊ธฐ๋Š” ์ฒซ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋˜์–ด์•ผ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๋กœ ๋„˜์–ด๊ฐ€๋Š” ๋ฐฉ์‹์ด๊ณ , ์™„๋ฃŒ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋น„๋™๊ธฐ ๋ฐฉ์‹์ด๋‹ค. ์ด๋ฉ”์ผ ์ „์†ก์— ์ด ๋น„๋™๊ธฐ ๋ฐฉ์‹์„ ์ ์šฉํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค. Async Config ์Šคํ”„๋ง์—์„œ๋Š” @Async๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ ๋ฐฉ์‹์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. configuration์„ ํ†ตํ•ด ์Šค๋ ˆ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ปค์Šคํ„ฐ ๋งˆ์ด์ง• ์‹œ์ผฐ๋‹ค. Async ์ ์šฉ ๋น„๋™๊ธฐ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๊ธธ ๋ฐ”๋ผ๋Š” ๋ฉ”์„œ๋“œ์— ์• ๋…ธํ…Œ์ด์…˜์„ ์ .. 2022. 5. 26.
2022.05.25 ใ€ŒEmail ์ธ์ฆใ€ ์—ด์‹ฌํžˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๊ฐ€ ์ดˆ๊ธฐ ๊ตฌ์ƒํ•œ wiki๋ฅผ ๋‹ค์‹œ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ํšŒ์›๊ฐ€์ž… ์‹œ ์ด๋ฉ”์ผ api๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ ๊ทธ๊ฑธ ๊นŒ๋จน์—ˆ๋‹ค.. ๊ทธ๋ž˜์„œ ํšŒ์›๊ฐ€์ž…์„ ๋‹ค์‹œ ๊ฑด๋“œ๋ฆฌ๊ฒŒ ๋˜์—ˆ๋‹ค. Java์˜ MailSender ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SMTP ๊ตฌ๊ธ€ ์ด๋ฉ”์ผ๋กœ ์ด๋ฉ”์ผ ์ธ์ฆ ๋ฒˆํ˜ธ๋ฅผ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ์ด๋ฉ”์ผ๋กœ ๋ณด๋‚ด์ฃผ๋„๋ก ์„ค๊ณ„ํ•˜๊ณ  ์ธ์ฆ ๋ฒˆํ˜ธ๋ฅผ redis DB์— ์ €์žฅํ•˜์—ฌ ๋น„๊ตํ•˜๊ณ  ํšŒ์›๊ฐ€์ž…์„ ์ด๋ฃจ๊ฒŒ ํ•  ๊ฒƒ์ด๋‹ค. Mail Sender // Mail implementation 'org.springframework.boot:spring-boot-starter-mail' ๋จผ์ € ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. Application.yml ์ง€๊ธˆ๊นŒ์ง€ Properties ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ ๊ธฐํšŒ์— yaml์„ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. ์ด์œ ๋Š” ์ธ.. 2022. 5. 25.
2022.05.11 ใ€ŒSHA-256 + Salt & ์ธ์ฆใ€ ์ธ์ฆ ๊ด€๋ จํ•ด์„œ ์‚ฌ์‹ค ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ์ง€๋งŒ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฐ€๊ธฐ ์œ„ํ•ด์„œ ์ˆœ์ˆ˜ํ•˜๊ฒŒ SHA-256 ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”์™€ ๋กœ๊ทธ์ธ์„ ์›์‹œ์ ์œผ๋กœ ๊ตฌํ˜„ํ•œ ํ•˜๋ฃจ๋‹ค.. ๊ฑฐ์ง„ 12์‹œ๊ฐ„์„ ์‚ฝ์งˆํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด์šฉ๊ณผ, Mybatis ๋งคํ•‘ ๋ฌธ์ œ๋„ ์žˆ๊ณ , ModelMapper๋ฅผ ์‚ฌ์šฉํ•ด DTO VO ๋งคํ•‘์ด ๊ณ„์† ์•ˆ๋˜์–ด์„œ ํ•˜๋ฃจ ์ข…์ผ ๋ฉ˜ํ„ธ์ด ๋‚˜๊ฐ”์—ˆ๋‹ค. ๋‹ค๋ฅธ ๊ณต๋ถ€๋„ ํ• ๊ฒŒ ๋„ˆ๋ฌด ๋งŽ์€๋ฐ ํ”„๋กœ์ ํŠธ๋งŒ ๋น„์ค‘์ด ๋งŽ์•˜๋˜ ํ•˜๋ฃจ๋ผ ๋„ˆ๋ฌด ์•„์‰ฝ๋‹ค. ํ•˜์ง€๋งŒ ์‚ฝ์งˆํ•œ ๋งŒํผ ๋‚ด ๊ฒƒ์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ์˜ค๋Š˜์€ ํ•˜๋ฃจ์ข…์ผ ์‚ฝ์งˆํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋ฒˆ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์—ฌ๋‹ด์œผ๋กœ ๋‹ค์ด์–ดํŠธ์ค‘์ธ๋ฐ ์š”์ƒˆ ์ƒ์ฃผํ•˜๋Š” ๊ณต๋ถ€ ํ™˜๊ฒฝ์—์„œ ์˜คํŠธ๋ฐ€ ๋ฏธ๋‹ˆ ๋ฐ”์ดํŠธ๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š”๋ฐ ์ด๊ฑฐ ์ง„์งœ ๋„ˆ๋ฌด ๋ง›์žˆ๋‹ค.. ์˜ˆ์ „์—” ์ง„์งœ ๋‹จ ๊ฑฐ ์ž˜ ์ฐธ์•˜๋Š”๋ฐ ๋Š™์—ˆ๋‚˜ .. 2022. 5. 11.
2022.05.10 ใ€ŒRest Ful Api & DTO,VO mapping & Mysql Index & ์ƒ์ˆ˜ํ™”ใ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์— ์ˆ˜์ •์‚ฌํ•ญ์ด ๋„ˆ๋ฌด๋„ ๋งŽ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์˜ˆ์ „์— ํ•™์›์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๋“  ๊ธฐํ•œ์ด ์ •ํ•ด์ ธ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์™„์„ฑ๋„๊ฐ€ ์šฐ์„ ์ด์—ˆ๊ณ , ์œ ์ง€๋ณด์ˆ˜์— ๋Œ€ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š์•˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์ œ๋Œ€๋กœ ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋‹ค ๋ณด๋‹ˆ ์˜ˆ์ „ ๋ฒ„๋ฆ‡์ด ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋ฒˆ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์€ ๊น€์— ๋ฆฌํŒฉํ„ฐ๋ง์„ ๋น ๋ฅด๊ฒŒ ํ•˜๋ฉฐ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณผ ์ƒ๊ฐ์ด๋‹ค. RestFul Api ์˜ return ๊ฐ’ 1. ๋˜๋„๋ก ์ฒด์ด๋‹ ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉ 2. response์— ํ•ด๋‹น๋˜๋Š” ํ—ค๋” ๋ฉ”์‹œ์ง€(์ƒํƒœ ์ฝ”๋“œ, ๋ฉ”์‹œ์ง€ ๋“ฑ๋“ฑ), ๋ฐ”๋”” ๊ฐ’์„ ๋‹ค ๋„ฃ๋„๋ก ๋…ธ๋ ฅํ•˜์ž DTO, VO ๊ฐ„์˜ ๋งคํ•‘ ํ˜„์žฌ Mybatis๋ฅผ ์‚ฌ์šฉ์ค‘์ด๋ฏ€๋กœ ํ…Œ์ด๋ธ” ์ž์ฒด์˜ Entity๋Š” VO service mapper ๊ณ„์ธต ์ด๋™ ์‹œ VO๋ฅผ ์ด์šฉํ•ด์•ผ ํ•จ .. 2022. 5. 10.
2022.05.03 ใ€Œ์ฃผ์„์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• & Back ์ค‘์‹ฌ ๊ฐœ๋ฐœ ์ˆ˜์ • ๋ฐ ์‹œ์ž‘ใ€ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•œ ์ง€ ์ผ์ฃผ์ผ์ด ์ข€ ๋˜์–ด๊ฐ„๋‹ค. ์ž˜ ๋˜์–ด๊ฐ€๊ณ  ์žˆ๋‚˜ ์ƒ๊ฐ์„ ํ•ด๋ณด์•˜๋‹ค. ํ•˜์ง€๋งŒ ์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋„ ์ด์ƒํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๊ณ„์† ๋“ค์—ˆ๋‹ค. 1. ๋ถ„๋ช… Backend ๊ฐœ๋ฐœ์ด ๋ชฉ์ ์ธ๋ฐ ์™œ ๋‚˜๋Š” Front(Thymeleaf, CSS ๋“ฑ๋“ฑ)์— ์‹œ๊ฐ„์„ ๋” ์Ÿ๊ณ  ์žˆ๋Š” ๊ฒƒ์ธ๊ฐ€? 2. ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์ด ๋‚œ์žกํ•˜๋‹ค? ์ด๋ฅผ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๊ฒฐ๊ตญ ๊ฐœ๋ฐœ์ž๋ถ„์˜ ์กฐ์–ธ์„ ๋“ฃ๊ณ  ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ๋‹จ์œ„์˜ ์ฃผ์„์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•, Back ์ค‘์‹ฌ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ์ƒ๊ฐํ–ˆ๋‹ค. ์ฃผ์„์„ ๋‹ค๋Š” ๋ฐฉ๋ฒ•? ๊ธฐ์กด์— ๋‚˜๋Š” ๊ธฐ์ค€ ์—†์ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ด ์ •๋„๋ฉด ์•Œ์•„๋ณด๊ฒ ์ง€๋ผ๋Š” ์ƒ๊ฐ์œผ๋กœ ๋‚˜๋ฆ„ ์ฃผ์„์„ ์ž˜ ์ž‘์„ฑํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๊ฑด ๋‚˜๋งŒ์˜ ์ฐฉ๊ฐ์ด์—ˆ๋‹ค. ์•„๋ฌด๋ฆฌ ์ž˜ ์ž‘์„ฑํ–ˆ๋‹ค ์ƒ๊ฐํ•œ ์ฃผ์„๋„ ๋‚จ์ด ๋ณผ ๋• ๊ทธ์ € ๋‚œ์žกํ•˜๊ณ  ์˜๋ฏธ ์—†์ด ๋‹ฌ๋ฆฐ ์ฃผ์„์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๊ฒƒ.. 2022. 5. 3.
2022.04.20 ์˜ ๊ธฐ๋ก โ–ถ ์˜ค๋Š˜ ํ•˜๋ฃจ ๊ณ„ํš ํŒŒํŠธ 1 (11์‹œ ~ 2์‹œ) 1. Gradle MVC ํ”„๋กœ์ ํŠธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง 2. Mysql 3๋‹จ์› ์ •๋ฆฌ ํŒŒํŠธ 2 (3์‹œ ~ 1์‹œ) 1. ์Šคํ”„๋งMVC ๊ฐœ๋… ์ •๋ฆฌ : ํ•ธ๋“ค๋Ÿฌ ์ถ”์ƒํด๋ž˜์Šค๋กœ ์™œ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ๊ณ ๋ฏผํ•ด๋ณด์ž 3๊ฐœ 2. ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ WIkI ์ •๋ฆฌ 3. ๋…ธ์…˜ ์ด๋ ฅ์„œ ํ…œํ”Œ๋ฆฟ ๋ฐ ์ดˆ์•ˆ ์ž‘์„ฑ 4. ๋„์ปค 2๋ฌธ์„œ 5. ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1๋ฌธ์ œ 2022. 4. 20.
๋ฐ˜์‘ํ˜•