728x90 ๋ฐ์ํ ์ ์ฒด ๊ธ128 [JAVA] ๋จ์ ํ ์คํธ๋ ๋ฌด์์ด๋ฉฐ, Junit5 ์ ๋ํด ์์๋ณด์. ๋ค์ด๊ฐ๊ธฐ ์ ์ ๊ฐ๋ฐ์ ํ๋ฉด์ ๋ฌด์๋ณด๋ค๋ ์ค์ํ ์ ์ค ํ๋๋ ์์ ์ ์ธ ์์คํ ์ ๊ตฌ์ถํ๋ ๊ฒ์ ๋๋ค. ์์ ์ ์ธ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด์๋ ์ฌ๋ฌ ํ ์คํธ๋ฅผ ์งํํด์ผ ํ๊ณ , ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋๋์ด ์ด์์ด ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค๋ฌด์์ ๊ธด๊ธํ ๋ณ๊ฒฝ์ฌํญ์ด๋ ์์ํ์ง ๋ชปํ ๋ฒ๊ทธ๋ ๊ฐ๋ฐ์๋ค์ ๊ดด๋กญํ๋๋ค. ๋๋ก๋ ์๊ฐ์ ์ซ๊ฒจ ํ ์คํธ๋ฅผ ์ ๋๋ก ํ์ง ๋ชปํ๊ณ ๊ตฌ์ถํ์ ๊ฒฝํ๋ ์์ผ์ค ๊ฒ๋๋ค. ์ ๋ SI ๊ธฐ์ ์์ ํ๋ก์ ํธ๋ฅผ ์งํํ์ ๊ฒฝํ์ด ์๊ณ , '๊ธฐํ์ผ์ด ์ด๋ฐํ๋ค' ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก ๋จ์ ํ ์คํธ๋ฅผ ์งํํ์ง ์๊ณ ํตํฉ ํ ์คํธ๋ฅผ ์งํํ ๊ฒฝํ์ด ์์ต๋๋ค. ์ฌ์ง์ด ๊ธฐ๋ฅ ํ ์คํธ๋ก๋ง ์งํํ์ ๋ถ๋ค๋ ์์ ๊ฒ๋๋ค. ๊ณผ์ฐ ์ด์ ์ค์ ๋ฌธ์ ๊ฐ ์์์๊น์? ์ฌ๋ฌ ์๋น์ค ๊ธฐ์ ์์๋ TDD (ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ)์ ์งํ ์ค์ด๋ฉฐ, ๋จ์ ํ ์ค.. 2023. 11. 29. [Spring Batch] ํ์จ ์ ๋ณด API ๋ฅผ ๊ฐ๋จํ ๋ฐฐ์น ์ค์ผ์ค๋ฌ ์ถ๊ฐ - ์์ ํธ ๋ค์ด๊ฐ๊ธฐ ์์ ์ง๋ ์๊ฐ ๊ฐ๋จํ๊ฒ ๋ง๋ค์๋ Batch์ Scheduler(์ค์ผ์ค๋ฌ)์ Log๋ฅผ ์ถ๊ฐํ ๋ด์ฉ์ ์์ฑํ ๊ธ์ ๋๋ค. ์คํ๋ง ๋ฐฐ์น๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ธ์ , ์ด๋ป๊ฒ ํธ์ถํ๊ณ ์คํ์ํฌ์ง์ ๋ํ ๊ณ ๋ฏผ์ ํด์ผ ํฉ๋๋ค. ๋ฐฐ์น๋ ์ผ๊ด์ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํด์ ๋จ๋ ์ผ๋ก ์ฌ์ฉ๋๊ธฐ๋ ํ์ง๋ง ์ค์ ์ ๋ฌด์์๋ ์ค์ผ์ค๋ฌ์ ๊ฐ์ด ์ฌ์ฉ๋๋ ๊ฒ์ ์์ฃผ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ค์ผ์ค๋ฌ ์ด์ธ์ ์ด๋ค ๊ฒฝ์ฐ์ ๋ฐฐ์น๋ฅผ ํธ์ถํ ๊น์? ํด๋ผ์ด์ธํธ๊ฐ ํน์ URL ์ฃผ์๋ฅผ ์ ๊ทผํ๊ฒ ๋์์ ๋์๋ ์ฌ์ฉํฉ๋๋ค. ์ฝ๋ ๋ด Controller์์ ํด๋น Service๋ฅผ ํธ์ถํ๊ณ Service์ ํน์ Batch๋ฅผ ํธ์ถํ์ฌ ์ฌ์ฉํฉ๋๋ค. ๋ฐฐ์น(Batch)๋ผ๊ณ ๋ ์ฌ๋ฆฌ์ค ๋ 'ํน์ ์๊ฐ์ ํน์ ์์ ์ ํ๋ ๊ฒ'์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ์ ๋ฉ๋๋ค. ๋ฐฐ์น๋ ๋ฐ์ดํฐ๋ค์ ์ผ๊ด์ ์ผ๋ก.. 2023. 11. 24. [Spring Batch] ํ์จ ์ ๋ณด Open API๋ฅผ ํ์ฉํ ๊ฐ๋จํ ๋ฐฐ์น ๋ง๋ค๊ธฐ - ์์ ํธ ๋ค์ด๊ฐ๊ธฐ์ ์์ ์ด์ ๋ธ๋ก๊ทธ ๊ธ์ ์๋์ ๊ฐ์ ๊ธ์ ๋จ๊ฒผ์ต๋๋ค. 2023.11.15 - [๊ฐ๋ฐ/Spring & SpringBoot] - [Spring Boot] ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด Batch๋ฅผ ์์๋ณด์ - ์ด๋ก ํธ [Spring Boot] ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด Batch ๋ฅผ ์์๋ณด์ - ์ด๋ก ํธ ๋ค์ด๊ฐ๊ธฐ ์์, ์คํ๋ง ๋ถํธ๋ ์ค๋ฌด์์ ์ฌ์ฉํ ์๋ฐ์ ์๋ ๊ธฐ์ ์ค ํ๋์ ๋๋ค. ๊ณ์ ๊ณ ์ ๋ฌด์์๋ ๋ฐฐ์น๋ฅผ ์ค์ผ์ฅด๋ฌ์ ํจ๊ป ์ฌ์ฉํ์ฌ ์ง์ ๋ ์๊ฐ์ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ๋ฌด ํํธ seodeveloper.tistory.com ์ด๋ก ํธ์์ ์ค์ ํธ์ผ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ๋ฐฐ์น์ ๋ํด์ ์์๋ณด๋ ์๊ฐ์ ๊ฐ์ง๋ฉด ์ข์ ๊ฒ ๊ฐ์์, ํ๊ตญ์์ถ์ ์ํ์ ํ์จ์ ๋ณด Open API๋ฅผ ํ์ฉํด์ ๊ฐ๋จํ ๋ฐฐ์น ์์ ๋ฅผ ๋ง๋ค์ด.. 2023. 11. 23. [Spring Batch] ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด Batch ๋ฅผ ์์๋ณด์ - ์ด๋ก ํธ ๋ค์ด๊ฐ๊ธฐ ์์, ์คํ๋ง ๋ถํธ๋ ์ค๋ฌด์์ ์ฌ์ฉํ ์๋ฐ์ ์๋ ๊ธฐ์ ์ค ํ๋์ ๋๋ค. ๊ณ์ ๊ณ ์ ๋ฌด์์๋ ๋ฐฐ์น๋ฅผ ์ค์ผ์ฅด๋ฌ์ ํจ๊ป ์ฌ์ฉํ์ฌ ์ง์ ๋ ์๊ฐ์ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ๋ฌด ํํธ์์๋, ์ํ ๋ง๊ฐ ์ ์ฐจ๋ณ๊ณผ ๋๋ณ์ ๊ธ์ก์ด ๋ค๋ฅธ ๊ฒฝ์ฐ ๋ฐฐ์น๋ฅผ ์คํ์์ผ ์๋ฆผ์ ์๋ ค์ฃผ๊ณ , ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค. ๋ํ ํน์ ์ผ์๋ ํน์ ์๊ฐ์ ๋ง์ถฐ ๋ฉ์ผ ๋ฐ์ก์ ํ ์ ์๋ ๋ก์ง์ ๊ตฌ์ฑํ ๊ฒฝํ์ด ์์ต๋๋ค. ๋์ฉ๋ ๋ฐ์ดํฐ์ ๊ธฐ์ค์ ์ฌ๋๋ง๋ค ๋ค๋ฅธ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ์๋ ์ปค๋ฎค๋ํฐ์์๋ 100๋ง ๊ฑด์ด๋ 1์ต ์ด์๊ฑด์ด ๋๋ถ๋ถ์ด์ง๋ง ๊ฐ๋ฐ์๋ ํ์ฌ๋ง๋ค ์กฐ๊ธ์ฉ ๋ค๋ฅด๊ณ ๊ณผ๊ฑฐ์ ๋ค๋ฅด๊ฒ ์ง๊ธ์ ์ ์ ๋ ์ฑ๋ฅ์ด ํฅ์๋๋ฉด์ ๊ธฐ์ค์ ์กฐ๊ธ ๋ ๋๊ฒ ์ก๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋์ฉ๋์ ๋ฐ์ดํฐ ๊ธฐ์ค - Okky OKKY - ๋์ฉ๋์ ๊ธฐ์ค์ ๋ํด์ ์ง๋ฌธ.. 2023. 11. 15. [์ฌ๋ฌด] ์ฌ๋ฌดํ๊ณ vs ๊ด๋ฆฌํ๊ณ, ์ถฉ๋น๋ถ์ฑ vs ๋์์ถฉ๋น๊ธ ๋ค์ด๊ฐ๊ธฐ ์ ์, ์ฌ๋ฌด ์์คํ ์ ์ด์ํ๋ฉด์ ์์์ผ ํ ์ฉ์ด๋ ํท๊ฐ๋ฆฌ๋ ๊ฒ๋ค์ ์์ฑํด ๋์ ๊ธ์ ๋๋ค. ์ด ์ ์ ์์ฑํด ๋์ ๊ธ๋ค๊ณผ ์ฝ๊ฐ์ ์ค๋ณต์ด ์์ ์ ์๋ ์ ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค. ์ฌ๋ฌดํ๊ณ vs ๊ด๋ฆฌํ๊ณ ์ฌ๋ฌดํ๊ณ ์์คํ ๊ด๋ฆฌ์๋ฅผ ์ฑ์ฉํ๋ ๊ณต๊ณ ๋ฟ๋ง ์๋๋ผ, ๊ด๋ฆฌํ๊ณ ์์คํ ๊ด๋ฆฌ์๋ฅผ ์ฑ์ฉํ๋ ๊ณต๊ณ ๋ฅผ ์ฝ๊ฒ ์ฐพ์๋ณผ ์ ์์์ต๋๋ค. ๋ ๊ฐ์ง ํ๊ณ ๋ฐฉ์์ ์ฐจ์ด์ ์ด ๊ถ๊ธํ์ฌ ์์ฑํด ๋ณด์์ต๋๋ค. ๊ตฌ๋ถ ์ฌ๋ฌดํ๊ณ ๊ด๋ฆฌํ๊ณ ์์ 1. ๊ธฐ์ ์ ์ฌ๋ฌด์ํ, ์ฌ๋ฌด์ฑ๊ณผ, ์๋ณธ๋ณ๋, ํ๊ธํ๋ฆ์ ํ์ 2. ์ธ๋ถ๋ณด๊ณ 1. ์์ฌ๊ฒฐ์ ์ ์ํ ์ ๋ณด์ ์ ๊ณต 2. ๊ฒฝ์๊ณํ ๋ฐ ํต์ ๋ฅผ ์ํ ํ๊ณ 3. ๋ด๋ถ๋ณด๊ณ ๋ชฉ์ ์ธ๋ถ์ ๋ณด์ด์ฉ์์ ๊ฒฝ์ ์ ์์ฌ๊ฒฐ์ ์ ์ ์ฉํ ์ ๋ณด์ ์ ๊ณต (ํฌ์๊ฒฐ์ , ์ ์ฉ๊ฒฐ์ ๋ฑ) ๊ฒฝ์์์ ๊ด๋ฆฌ์ ์์ฌ๊ฒฐ์ ์ ์ ์ฉํ ์ ๋ณด์ ์ ๊ณต ๋ณด๊ณ ๋์ ํฌ.. 2023. 11. 7. [JAVA] ReentrantLock ์ด๋? ๋ค์ด๊ฐ๊ธฐ ์์, ๋๊ธฐํ๋ฅผ ์ํ์ฌ synchronized ํค์๋๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋, ํด๋น ํค์๋ ๋ง๊ณ ๋ค๋ฅธ ๊ฒ๋ค์ ๋ฌด์์ด ์์๊น ์ฐพ์๋ณด๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ค๊ฐ ๋ฐ๊ฒฌํ ๊ฒ์ด ReentrantLock์ ๋๋ค. ํด๋น ๊ธ์์๋ ์๋ 3๊ฐ์ง ์ง๋ฌธ์ผ๋ก ๊ตฌ๋ถ ์ง์ด ์์ฑํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ReentrantLock ์ด๋? ReentrantLock ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ๋ฐ ์์ ReentrantLock VS synchronized ์ ์ฐจ์ด์ ์ ๋ฌด์์ด ์๋์? 1. ReentrantLock ์ด๋? JAVA ์์ ๋์์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๊ฐ ์ ๊ทผํ๋ ๊ฒ์ ์ ์ดํ๊ธฐ ์ํ ๋๊ธฐํ ๋ฉ์ปค๋์ฆ ์ค ํ๋์ ๋๋ค. ์๋์ผ๋ก ์ ๊ธ ์์ญ(Lock) ์ ์์์ ๊ณผ ๋์ ์ ์ค์ ํ ์ ์๋ ๊ฐ์ฒด์ ๋๋ค. ์ฆ, ์ ์ฐํ ๋๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค. 2. ReentrantL.. 2023. 11. 1. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 22 ๋ค์ 728x90 ๋ฐ์ํ