์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- redis ํ ์คํธ์ฝ๋
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- aws ์ฟ ํฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- private subnet ec2 ๋ก์ปฌ ์ ์
- docker compose
- Kafka
- nGrinder
- ์๋ฐ
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- jvm ๋ฐ๋ฐ๋ฅ๊น์ง ํํค์น๊ธฐ
- JPA
- ๋ค์ค ์ปจํ ์ด๋
- docker-compose kafka
- ์คํํ๋ ๋ฏธ์ค
- s3 log ์ ์ฅ
- Entity
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- ํ์ดํผ๋ฐ์ด์
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- Codedeploy ์ค๋ฅ
- aws saa ํฉ๊ฒฉ
- docker ps -a
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- docker
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- redis ์กฐํ
- AWS Certified Solutions Architect - Associate
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- prod docker-compose
- Today
- Total
๋ชฉ๋ก๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป/๐๐ฉ๐ซ๐ข๐ง๐ (33)
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง

Entity ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋์ํ๋ ํด๋์ค @Entity๊ฐ ๋ถ์ ํด๋์ค๋ JPA์์ ๊ด๋ฆฌํ๋ฉฐ ์ํฐํฐ๋ผ๊ณ ํฉ๋๋ค. EntityManager ์ํฐํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์ญํ ์ ์ํํ๋ ํด๋์ค ์ํฐํฐ ๋งค๋์ ๋ด๋ถ์ ์์์ฑ ์ปจํ ์คํธ(Persistence Context)๋ฅผ ํตํด ์ํฐํฐ๋ค์ ๊ด๋ฆฌํฉ๋๋ค. ์ํฐํฐ ๋งค๋์ ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ณธ ๋์์ธ CRUD(Create, Read, Update, Delete)๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ํฐํฐ ๋งค๋์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์ ์งํ ์ ์๊ฒ ํฉ๋๋ค. ์ํฐํฐ ์๋ช ์ฃผ๊ธฐ ์๋ช ์ฃผ๊ธฐ ๋ด์ฉ ๋น์์(new) new ํค์๋๋ฅผ ํตํด ์์ฑ๋ ์ํ๋ก ์์์ฑ ์ปจํ ์คํธ์ ๊ด๋ จ์ด ์๋ ์ํ ์์(managed) - ์ํฐํฐ๊ฐ ์์์ฑ ์ปจํ ์คํธ์ ์ ์ฅ๋ ์ํ๋ก ์์์ฑ ์ปจํ ์คํธ์ ์ํด ๊ด๋ฆฌ๋๋ ์ํ - ์์ ์..

DI (Dependency Injection) ์์กด์ฑ ์ฃผ์ (์์กด ๊ด๊ณ ์ฃผ์ ) ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ์ง ์๊ณ ์ธ๋ถ์์ ์์ฑํ ํ ์ฃผ์ ์์ผ ์ค๋ค. ์ฅ์ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ฌ์ค๋ค. ํ ์คํธ๊ฐ ์ฉ์ดํด์ง๋ค. ๊ฐ์ฒด ๊ฐ์ ์์กด๊ด๊ณ๋ฅผ ์์ ๊ฑฐ๋ ์ค์ผ ์ ์๋ค. ๊ฒฐํฉ๋(coupling)์ ๋ฎ์ถ๋ฉด์ ์ ์ฐ์ฑ๊ณผ ํ์์ฑ์ ํฅ์ํ ์ ์์ต๋๋ค. DI๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ๊ฐ์ฒด ๋ด๋ถ์์ ๋ค๋ฅธ ๊ฐ์ฒด ์์ฑ ์ ๋ ๊ฐ์ฒด ๊ฐ์ ๊ฐํ ๊ฒฐํฉ๋๊ฐ ์๊น๋๋ค. ๋ฐ๋ผ์ ํ ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ๊ฒ ๋๋ฉด ๊ฒฐํฉ๋ ๊ฐ์ฒด๋ ์ํฅ์ ๋ฐ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง DI๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ธ๋ถ์์ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ฃผ์ ๋ฐ์ผ๋ฏ๋ก ์์กด๊ด๊ณ๊ฐ ์ฝํด์ง๊ณ ์ ์ฐํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์ฝ๋ ๊ฐ๋ ์ฑ์ด ๋์์ง๋ค. ์์กด์ฑ ์ฃผ์ ์ 3๊ฐ์ง ๋ฐฉ๋ฒ 1. ์์ฑ์ ์ฃผ์ (Constructor Injection)..

JPA(Java Persistence API) Java ์ง์์์ ORM(Object-Relational Mapping) ๊ธฐ์ ํ์ค์ผ๋ก ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค ๋ชจ์ ์ธํฐํ์ด์ค ์ด๊ธฐ ๋๋ฌธ์ Hibernate, OpenJPA ๋ฑ์ด JPA๋ฅผ ๊ตฌํํจ ORM(Object-Relational Mapping) Object Relational Mapping = ๊ฐ์ฒด-๊ด๊ณ ๋งคํ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋งคํ(์ฐ๊ฒฐ) ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐจ์ด๋ก ๋ฐ์ํ๋ ์ ์ฝ์ฌํญ์ ํด๊ฒฐํด์ฃผ๋ ์ญํ ์ ์ํ persistent API๋ผ๊ณ ๋ ํ ์ ์๋ค. ์์ ์ฌ์ง์ ๋ณด๋ฉด ๋ฉค๋ฒ ํ ์ด๋ธ์ ๋ค์์ ๋ฉค๋ฒ ๊ฐ์ฒด์ ๋ค์ ํ๋์ ๋งคํ๋๋ฉด ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ฐ ์ด๋ ๊ฒ ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ๊ฒ์ ORM์ด๋ผ๊ณ ๋ถ..

Test Code ์ ํ ๋๋ ์๋น์ค์ ํ์ง์ ํ์ธํ๊ณ ์ํํธ์จ์ด์ ๋ฒ๊ทธ๋ฅผ ์ฐพ์ต๋๋ค. ์ฆ, ํจ์, ํน์ ํ ๊ธฐ๋ฅ, UI, ์ฑ๋ฅ, API์คํ์ด ์์๋๋ก ๋์ํ๋์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค. ํ ์คํธ ์ฝ๋์ ์ข ๋ฅ ํ ์คํธ ํผ๋ผ๋ฏธ๋๋ ๋์ ๋ฒ์๋ ์ฑ๊ฒฉ์ ๋ฐ๋ผ Unit test(๋จ์ ํ ์คํธ), Integration test(ํตํฉ ํ ์คํธ), UI ํ ์คํธ(E2E ํ ์คํธ) 3๊ฐ์ง์ ํ ์คํธ๋ก ๋๋์ด์ง๋๋ค. ๊ฐ๋ฐ์๋ถ๋ค์ด ํ๋ก์ ํธ๋ฅผ ์งํํ ๋ ๊ณตํต์ ์ผ๋ก ์์ฑํด์ผ ํ๋ ํ ์คํธ๋ค์ ๋ชจ์๋์ ๊ฒ์ด ํ ์คํธ ํผ๋ผ๋ฏธ๋์ ๋๋ค. 1. Unit Test ๋จ์ ํ ์คํธ ํจ์๋ ๋ชจ๋ ํด๋์ค์ ๊ฐ์ ๋จ์์ ๊ธฐ๋ฅ์ ๋ํ ์ ํจ์ฑ์ ๊ฒ์ฆํ๋ ํ ์คํธ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์๋์ฐจ์ ํ์ด์ด๋ฅผ ํ๋ ํ ์คํธํ๋ ๊ฒ์ ๋จ์ ํ ์คํธ๋ผ ํฉ๋๋ค. ๋จ์ ํ ์คํธ๋ ๋งค์ฐ ๊ฐ๋จํ๊ณ ๋ช ํํ๋ฉฐ..

AOP (Aspect Oriented Programming) ๊ด์ ์งํฅ ํ๋ก๊ทธ๋จ ์ด๋ค ๋ก์ง์ ํต์ฌ์ ์ธ ๊ด์ , ๋ถ๊ฐ์ ์ธ ๊ด์ ์ผ๋ก ๋๋๊ณ , ๊ทธ ๊ด์ ์ ๊ธฐ์ค์ผ๋ก ๊ฐ๊ฐ ๋ชจ๋ํ ํ์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ํค์น์ง ์๊ณ ์ฌ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ ํต์ฌ์ ์ธ ๊ด์ : ๊ฐ๋ฐ์๊ฐ ์ ์ฉํ๊ณ ์ ํ๋ ๋น์ฆ๋์ค ๋ก์ง. ๋ถ๊ฐ์ ์ธ ๊ด์ : ํต์ฌ ๋ก์ง์ ์ํํ๊ธฐ ์ํด ํ์ํ DB ์ฐ๊ฒฐ(JDBC), ๋ก๊น , ํ์ผ ์ ์ถ๋ ฅ ๋ฑ AOP์ ์ฅ์ ๋๋ ์ฌ์ฉํ๋ ์ด์ ๊ณตํต ๊ด์ฌ ์ฌํญ์ ํต์ฌ ๊ด์ฌ์ฌํญ์ผ๋ก๋ถํฐ ๋ถ๋ฆฌ์์ผ ํต์ฌ ๋ก์ง์ ๊น๋ํ๊ฒ ์ ์งํ ์ ์๋ค. ๊ทธ์ ๋ฐ๋ผ ์ฝ๋์ ์ค๋ณต ์ ๊ฑฐ, ๊ฐ๋ ์ฑ, ์ ์ง๋ณด์์ฑ ๋ฑ์ ๋์ผ ์ ์๋ค. ๊ฐ๊ฐ์ ๋ชจ๋์ ์์ ์ด ํ์ํ๋ฉด ๋ค๋ฅธ ๋ชจ๋์ ์์ ์์ด ํด๋น ๋ก์ง๋ง ๋ณ๊ฒฝํ๋ฉด ๋๋ค. AOP ์ฃผ์ ํค์๋ Aspect ํฉ์ด์ง ๊ด์ฌ์ฌ(Cros..

โญ ์คํ๋ง ๋น(Spring Bean) Spring IoC ์ปจํ ์ด๋๊ฐ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ์๋ฐ ๊ฐ์ฒด Class๋ฅผ ์์ฑํ๊ณ new ๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ ํ ์ฌ์ฉํ๋ ๋์ Spring์ด ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ์๋ฐ ๊ฐ์ฒด ์ฆ, new ์ฐ์ฐ์๋ก ์ด๋ค ๊ฐ์ฒด๋ฅผ ์์ฑํ์ ๋ ๊ทธ ๊ฐ์ฒด๋ Bean ์ด ์๋๋ฉฐ ApplicationContext.getBean()์ผ๋ก ์ป์ด์ง ์ ์๋ ๊ฐ์ฒด๋ฅผ Bean์ด๋ผ๊ณ ํฉ๋๋ค. Spring์์์ ๋น์ ApplicationContext๊ฐ ์๊ณ ์๋ ๊ฐ์ฒด, ์ฆ ApplicationContext๊ฐ ๋ง๋ค์ด์ ๊ทธ ์์ ๋ด๊ณ ์๋ ๊ฐ์ฒด๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด๋ฌํ @Component, @Service, @Repository, @Controller, @Configuration ๋ฑ๋ฑ ์ด๋ฌํ Bean ๋ค์ ์ด๋ป๊ฒ ..

โญ IoC (Inversion of Control) ์ ์ด์ ์ญ์ ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ์์๋ Object(Bean) ์ ์์ฑ๊ณผ ์์กด ๊ด๊ณ ์ค์ , ์ฌ์ฉ, ์ ๊ฑฐ ๋ฑ์ ์์ ์ ์คํ๋ง ์ปจํ ์ด๋๊ฐ ๋ด๋นํ๊ฒ ๋ฉ๋๋ค. ์ฆ ์คํ๋ง ์ปจํ ์ด๋๊ฐ Object์ ๋ํ ์ ์ด๊ถ์ ๊ฐ๊ณ ์๋ค๊ณ ํด์ IOC๋ผ๊ณ ํฉ๋๋ค. ๋ฐ๋ผ์ ์คํ๋ง ์ปจํ ์ด๋๋ฅผ IOC ์ปจํ ์ด๋๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ฆ, ์ ์ด์ ํ๋ฆ์ ๋ฐ๊พผ๋ค๋ ์๋ฏธ์ ๋๋ค. ๊ธฐ์กด์ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ์๊ฐ๋ฐ์๊ฐ class๋ฅผ ์์ฑํ๋ฉด new๋ฅผ ํตํด์ ์ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํํ ์ฌ์ฉํ์์ง๋ง ์ฌ์ฉ์์ ์ ์ด์์ ๋ฒ์ด๋ Spring์ ์ํด ์์ฑ๋๊ณ ๊ด๋ฆฌ๋๋ฉฐ ์ด๋ ์์ฑ๋ ์๋ฐ ๊ฐ์ฒด๋ Bean์ด๋ผ๊ณ ํฉ๋๋ค. ๊ธฐ์กด๋ฐฉ๋ฒ Spring 1. ๊ฐ์ฒด ์์ฑ 2. ํด๋์ค ๋ด๋ถ์์ ์์กด์ฑ ๊ฐ์ฒด ์์ฑ(new) 3. ์์กด์ฑ ๊ฐ์ฒด ๋ฉ์๋ ..

๐ผ ์คํ๋ง ์คํ๋ง ํ๋ ์์ํฌ Frame(ํ)์์์ work(๋์)ํ๋๊ฒ์ ๋ปํจ. ๊ฐ๋ฐํ ๋ ํ์ ๋ฒ์ด๋์ง๋ง๊ณ ํ์์์๋ง ๊ฐ๋ฐํ๋๊ฒ์ ์๋ฏธ๋ฅผ ๋ ๋์ ์ธ ์น ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ฌ๋ฌ ๊ฐ์ง ์๋น์ค๋ฅผ ์ ๊ณต ์คํ๋ง ํ๋ ์์ํฌ์ ๊ตฌ์ฑ์ 20์ฌ๊ฐ์ง๋ก ๊ตฌ์ฑ๋๋ฉฐ ์ด๋ฌํ ๋ชจ๋๋ค์ ์คํ๋ง์ ํต์ฌ๊ธฐ๋ฅ(DI, AOP, etc)์ ์ ๊ณตํด์ฃผ๋ฉฐ, ํ์ํ ๋ชจ๋๋ง ์ ํํ์ฌ ์ฌ์ฉ๊ฐ๋ฅ ์ฌ๋ฌ๊ฐ์ง ๋ชจ๋์ด ์์ง๋ง ๊ทธ์ค์์ ๋จ์ฐ ์คํ๋ง๋ถ, ์คํ๋ง ํด๋ผ์ฐ๋, ์คํ๋ง ๋ฐ์ดํฐ, ์คํ๋ง ๋ฐฐ์น, ์คํ๋ง ์ํ๋ฆฌํฐ์ ์ค์ ์ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๊ฒฐ์ ํ์ง๋ง ํ๋ ์์ํฌ๋ ์ ํด์ง ํ๋ฆ์ ๋ง๊ฒ ๊ฐ๋ฐ์๊ฐ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ค. ๐ท Spring MVC ๊ตฌ์กฐ ์คํ๋ง ํ๋ ์์ํฌ๋ MVC ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ์๋ค. MVC = Model - View - ..