์ํฐํ๋ผ์ด์ฆ๊ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์๋ฐ ๊ธฐ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ์ฆ '์คํ์์ค ๊ฒฝ๋ ๊ธ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ' ๋ผ๊ณ ๋ถ๋ฅธ๋ค.์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ํ์ํ ๊ธฐ๋ฐ์ ์ ๊ณตํด์ ๊ฐ๋ฐ์๊ฐ ๋น์ฆ๋์ค ๋ก์ง ๊ตฌํ์๋ง ์ง์คํ ์ ์๊ฒ๋ ํ๋ ๊ฒ
DI ์ปจํ ์ด๋๋ ์์กด์ฑ ์ฃผ์ (Depedency Injection) ์ค์ฌ์ DI์ ์คํ์ ๋๋ ํ๋ ์์ํฌEx)์ฌ์ฉํ๋ ๊ฐ์ฒด : Aํด๋์ค, ์ฌ์ฉ๋๋ ๊ฐ์ฒด : Bํด๋์คAํด๋์ค์์ Bํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด new ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ Bํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ B ํด๋์ค์ ๋ฉ์๋๋ฅผ
AOP๋? ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Aspect Oriented Programming)์ ์ฝ์ด๋ก '๊ตฌํํ๊ณ ์ถ์ ํ๋ก๊ทธ๋จ = ์ค์ฌ์ ๊ด์ฌ์ฌ', '๋ถ์์ ํ๋ก๊ทธ๋จ = ํก๋จ์ ๊ด์ฌ์ฌ'๋ก ๋ถ๋ฆฌํ์ฌ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.์คํ๋ง ํ๋ ์์ํฌ์์๋ '์ธํฐ์ ํฐ'๋ผ๋ ๋ฉ์ปค๋
์ด๋ ธํ ์ด์ (annotation)์ '์ฃผ์'์ ์๋ฏธํ๋ ์์ด ํํ์ด๋ค.'@xxx'์ ๊ฐ์ ํํ๋ก ์์ฑํ๋ค.์ธ๋ถ ์ํํธ์จ์ด์ ํ์ํ ์ฒ๋ฆฌ ๋ด์ฉ์ ์ ๋ฌํ๋ค.์์ DI์ปจํ ์ด๋ ๊ธ์์ ์ธ์คํด์ค ์์ฑ ์ด๋ ธํ ์ด์ ์ ๋ํด ์์ฑํ์๋ค. ์ด๋ฒ์๋ 4๊ฐ์ง ์ธ์คํด์ค ์์ฑ ์ด๋ ธํ ์ด์ ์ '๊ฐ๋ ค
MVC ๋ชจ๋ธ์ด๋?? 'ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ ์ญํ ์ ๋๋์ด์ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.๋ชจ๋ธ(Model)๋ทฐ(View)์ปจํธ๋กค๋ฌ(Controller)Model์ ์์คํ ์์ ์ ๊ณตํ๋ ๋น์ฆ๋์ค ๋ก์ง(Business Logic)์ ์ฒ๋ฆฌ ๋ด์ฉ์ ์์ฑํ๋ ์ญํ ์ ํ๋ค.'๋น์ฆ๋์ค
JPA(Java Persistence API)๋ ์๋ฐ ์ง์์ ORM(Object-Relational Mapping) ๊ธฐ์ ํ์ค์ผ๋ก ์ฑํ๋ ์ธํฐํ์ด์ค(Interface)์ ๋ชจ์์ด๋ค. ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ 'ORM'์ด๋ผ๋ ๋จ์ด๋ฅผ ๊ฐ๋จํ๊ฒ ์ดํด๋ณด๋ฉด ๊ฐ์ฒด ์งํฅ ์ธ์ด์์ ์๋ฏธํ๋ ๊ฐ
Query DSL์ด๋ ์ ์ ํ์ ์ ์ด์ฉํ์ฌ SQL๊ณผ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋๋ก ์ง์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฆ SQL ํ์์ ์ฟผ๋ฆฌ๋ฅผ Type - Safeํ๊ฒ ์์ฑํ ์ ์๋๋ก DSL์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค.์ฌ๊ธฐ์ 'DSL'์ด๋ผ๋ ์ฉ์ด๋ ํน์ ๋๋ฉ์ธ์์ ๋ฐ์ํ๋ ๋ฌธ
Spring Batch๋ ๋ก๊น /์ถ์ , ํธ๋์ญ์ ๊ด๋ฆฌ, ์์ ์ฒ๋ฆฌ ํต๊ณ, ์์ ๋ค์ ์์, ๊ฑด๋๋ฐ๊ธฐ ๋ฐ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ํฌํจํ์ฌ ๋๋์ ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์์ ์ธ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํ๋ ์์ํฌ๋ฅผ ์๋ฏธํ๋ค.๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์์ ์ ์๋ฏธํ๋ฉฐ, ์ด๋ฌํ ์ฒ๋ฆฌ
Spring Boot Batch์ ์ข ๋ฅ๋ ํฌ๊ฒ 2๊ฐ์ง๋ก ๋๋๋ค.Tasklet ๋ฐฉ์Chunk ๋ฐฉ์Tasklet ๋ฐฉ์์ Tasklet์ ์ด์ฉํ Task ๊ธฐ๋ฐ์ ์ฒ๋ฆฌ ๋ฐฉ์์ด๋ฉฐ, Batch์ Step ๋จ๊ณ์์ ๋จ์ผํ ๋ ์ฝ๋(row)๋ ํ์ผ์ ํ๋์ ์์ ๋ง ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์๋ฏธ
์คํ๋ง ์ํ๋ฆฌํฐ(Spring Security)๋? > Spring Security๋ ์คํ๋ง ๊ธฐ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์(์ธ์ฆ, ์ธ๊ฐ, ๊ถํ)์ ๋ด๋นํ๋ ์คํ๋ง ํ์ ํ๋ ์์ํฌ์ด๋ค. ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ์ธ์ฆ(Authentication)๊ณผ ์ธ๊ฐ(Authorization)์ ๋ํ์ฌ ์์์ผ ํ๋ค. ์ธ์ฆ(Authentication)๊ณผ ์ธ๊ฐ(Autho...
ํ ํฐ(token)์ ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ ์ ์ผํ ๊ฐ์ด๋ฉฐ ์๋ฒ๊ฐ ํ ํฐ์์์ฑํด์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณตํ๋ฉด , ํด๋ผ์ด์ธํธ๋ ์ด ํ ํฐ์ ๊ฐ๊ณ ์๋ค๊ฐ ์ฌ๋ฌ ์์ฒญ์ ์ด ํ ํฐ๊ณผ ํจ๊ป ์ ์ฒญํ๋ค.์๋ฒ๋ ํ ํฐ๋ง ๋ณด๊ณ ์ ํจํ ์ฌ์ฉ์์ธ์ง ๊ฒ์ฆํ๋ ๊ฒ์ ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ์ด๋ผ๊ณ ํ๋ค