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

๐Ÿ™‚์ฃผ์ธ์žฅ ํšŒ๊ณ ๋ก13

์ฝ”๋“œ์ˆจ ์Šคํ”„๋ง [15๊ธฐ] - 5์ฃผ์ฐจ ํšŒ๊ณ  1. ์ด๋ฒˆ ์ฃผ์— ํ•™์Šตํ•œ ๋‚ด์šฉ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ๋Œ€ํ•ด ํ•™์Šต์„ ํ•˜์˜€๋‹ค. DTO์— ๋Œ€ํ•ด ํ•™์Šต Dozer๋ฅผ ์ด์šฉํ•œ ๋” ํŽธํ•œ Mapping Test Code 2. ์ค‘์ ์ ์œผ๋กœ ํ•™์Šตํ•œ ๋ถ€๋ถ„ ๊ฐ•์˜์™€ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•˜์—ฌ ์ด์ œ ์ข‹์€ ์ฝ”๋“œ์˜ ํ‹€์„ ์•Œ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ธฐ์กด์— ๋‚ด๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋„ˆ๋ฌด ๋‹ฌ๋ผ ์•„์ง ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋ฏธ์ˆ™ํ•œ ๋ถ€๋ถ„์ด ๋งŽ์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ์ฃผ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ๋”ฑ ๋ฐฐ์šด ๋ถ€๋ถ„์„ ๋งŽ์ด ์ž‘์„ฑ์„ ํ•ด๋ณด์ž ์ƒ๊ฐ์„ ํ•˜์˜€๊ณ  ๊ฐ•์˜๋ฅผ ๋งŽ์ด ๋ณด๊ณ  ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ์ฝ”๋“œ๋ฅผ ์™œ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑ์„ ํ–ˆ์„๊นŒ ์ƒ๊ฐ์„ ํ•ด๋ณด๋ฉด์„œ ๋” ๊ณต๋ถ€ํ•ด์•ผ ๋˜๋Š” ๋‚ด์šฉ๋“ค์ด ์ƒ๊ฒผ๋‹ค. HTTP Status์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ๊ณต๋ถ€๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ธฐ์กด์— ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๋‚ด์šฉ์œผ๋กœ ๋กœ์ง์ด ์„ฑ๊ณตํ•˜๋ฉด status_code๋Š” OK(200)์„ ๋„˜๊ฒจ์ค€๋‹ค๊ณ  ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ.. 2023. 3. 12.
์ฝ”๋“œ์ˆจ ์Šคํ”„๋ง[15๊ธฐ] - 4์ฃผ์ฐจ ํšŒ๊ณ  ๋งค์ฃผ ํšŒ๊ณ ๋ก์„ ์ž‘์„ฑ์„ ํ•˜๋ฉด์„œ ํ๋ฆ„์ด ์—†์ด ์ž‘์„ฑ์„ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์„ ๊ฐ€์กŒ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐฉ์‹์„ ์ฐพ๋˜ ์ค‘ 3FS ๋ฐฉ์‹์„ ์ฐพ๊ฒŒ ๋˜์—ˆ๋‹ค. http://agile.egloos.com/4122099 ๋’ค๋Œ์•„๋ณด๋‹ค agile.egloos.com FACT - ํด๋ฆฐ ์•„ํ‚คํ…์ณ์— ๋Œ€ํ•ด์„œ ํ•™์Šต - Spring Data JPA๋ฅผ ํ•™์Šตํ•˜๊ณ  ๊ณผ์ œ๋ฅผ ๊ตฌํ˜„ - Repository , DTO๋ฅผ ํ•™์Šต - ๋„๋ฉ”์ธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์‹œ์ž‘ Feeling - ๊ธฐ์กด์˜ ์•„์ผ€ํ…์ณ์— ๋Œ€ํ•ด ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ๊ฒŒ๋˜๊ณ  ํด๋ฆฐ ์•„ํ‚คํ…์ณ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๊ณ  ์Šคํ”„๋ง์„ ํ†ตํ•˜์—ฌ ๊ตฌํ˜„์„ ํ•ด๋ณด๋‹ˆ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ด๋ฅผ ํ•˜์˜€๋‹ค. - ๊ฐ ๋ ˆ์ด์–ด์˜ ์˜์กด ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ์„ ํ•˜์˜€๋‹ค. - ์ž‘์€ ๊ณผ์ œ๋ฅผ ํ†ตํ•˜์—ฌ ํ•™์Šต์„ ํ•˜์˜€์ง€๋งŒ ์กฐ๊ธˆ ๋” ํฐ ๊ณผ์ œ๋ฅผ ํ•ด๋ณด๋ฉด ์ข‹๊ฒ ๋‹ค. - ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ค‘์ ์ ์œผ.. 2023. 3. 6.
์ฝ”๋“œ์ˆจ ์Šคํ”„๋ง[15๊ธฐ] - 3์ฃผ์ฐจ ํšŒ๊ณ ๋ก ์ด๋ฒˆ ์ฃผ์— ํ–ˆ๋˜ ์ž‘์—… JUnit 5 , MockMVC์„ ์ด์šฉํ•œ ์ฒซ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ AssertJ , Mockito๋ฅผ ์ด์šฉํ•ด์„œ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ Given , When , Then ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋Š๋‚€์  ์ฝ”๋“œ์˜ ์ž‘์„ฑ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜์ง€๋งŒ ๊ทธ ์ฝ”๋“œ๋ฅผ ๋ณด๋Š” ์‚ฌ๋žŒ์„ ์ƒ๊ฐํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์ž ์ฝ”๋“œ์˜ ์ž‘์„ฑ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ฒ€์ฆ ์ด์™ธ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์‰ฝ๊ฒŒ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋กœ์ง์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. @Nested , @DisplayName์— ๋ช…ํ™•ํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋Š”๊ฒŒ ์ƒ๊ฐ๋ณด๋‹ค ๋” ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค. ๋น ๋ฅด๊ฒŒ ๊ฒ€์ฆ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ธฐ์กด์— ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š”๊ฒƒ ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋กœ์ง์„ ๊ฒ€์ฆ์„ ํ•˜๋‹ˆ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์‹œ๊ฐ„์ด ์ค„์–ด๋“ค๊ณ  ์—๋Ÿฌ๋ฅผ ๋” ์‰ฝ๊ฒŒ .. 2023. 2. 26.
์ฝ”๋“œ์ˆจ ์Šคํ”„๋ง[15๊ธฐ] - 2์ฃผ์ฐจ ํšŒ๊ณ ๋ก ์ด๋ฒˆ ์ฃผ์— ํ–ˆ๋˜ ์ž‘์—… Spring ์›น์„ ์ด์šฉํ•œ Todo Rest Api ๊ตฌํ˜„์„ ๋งŒ๋“ค์—ˆ๋‹ค.( 1์ฃผ์ฐจ์—๋Š” ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค.) ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•˜๊ณ  ๋Š๋‚€ ์  ์ฝ”๋“œ์ˆจ์„ ํ•˜๊ธฐ ์ด์ „์—๋Š” ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉ์„ ํ•ด๋ดค์œผ๋‚˜ ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋น„๊ต๋ฅผ ํ•ด๋ณธ ์ ์ด ์—†์—ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ธฐ์กด์— ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ๊ฐ„๋‹จํ•ด์ง€๊ณ  ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์กŒ๋‹ค.๊ธฐ์กด์— ์•Œ๊ณ  ์žˆ๋˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ธฐ์ˆ ์„ ๋” ์ž์„ธํ•˜๊ฒŒ ํ•™์Šตํ•˜๊ณ  ์–ด๋–ค ์ ์—์„œ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉ์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ•™์Šตํ•˜๋Š” ๊ธฐํšŒ๊ฐ€ ๋˜์—ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ์— ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ  Spring Boot , Spring Web Marko.js , Axios Springboot - dev - tools @CrossOrigin ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉ์„ ํ•˜์˜€๊ณ  ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉ์„ ํ•ด๋ณด์•˜๋‹ค. ๋ฌผ๋ก  .. 2023. 2. 19.