๋๋ง์ ์์ ์๊ฐ๋ค์ ๊ธฐ๋กํ๊ณ ,
์๋ก์ ์ผ์ ์ ๋ฐ๋ปํ ๊ฐ์ ์ ํจ๊ป ๋๋๋ ์ปค๋ฎค๋ํฐ ํ๋ซํผ
ใ์ํ์ฑใ์ ํ๋ ์ฌ์ง, ์์๋ฆฌ์คํธ, ์์
๊ณต์ , ์งง์ ํ์ค ๊ธฐ๋ก ๋ฑ
์ผ์ ์ ์์ํ ํ๋ณต์ ์ฃผ์ ๋ณ๋ก ๋๋๊ณ , ๊ณต๊ฐํ๊ณ , ์ํตํ ์ ์๋ ๊ฐ์ฑ ๊ธฐ๋ฐ ์ปค๋ฎค๋ํฐ ๊ฒ์ํ์
๋๋ค.
๋ถ๋ด ์์ด ํ๋ ์ค๋ก๋ ์์ฑํ ์ ์์ด ๋๊ตฌ๋ ์ฝ๊ฒ ์ฐธ์ฌํ ์ ์์ผ๋ฉฐ,
์นดํ
๊ณ ๋ฆฌ๋ณ๋ก ๋ค์ํ ๊ธฐ๋ก์ด ์ ๋๋์ด ๊ณต์ ๋ฉ๋๋ค.
โ๋ชจ๋์ ์์ ๊ธฐ๋ก์ด ๋ชจ์ฌ ๋ฐ์ง์ด๋ ๋ณ์ด ๋ฉ๋๋ค.โ
ใ์ํ์ฑใ์ ๋ฐฑ์๋ ๊ฐ๋ฐ ์ค๋ฌด ์ญ๋ ๊ฐํ๋ฅผ ๋ชฉํ๋ก ์งํ๋ 6๊ฐ์๊ฐ์ ์คํฐ๋ ๊ณผ์ ์์ ์ถ๋ฐํ ํ๋ก์ ํธ์
๋๋ค.
๊ธฐ์ด์ ์ธ CRUD ์ค์ต๋ถํฐ ์์ํด ๋ณด์, ๋ฐฐํฌ, ์๋ํ๊น์ง์ ์ค๋ฌด ์ค์ฌ ๋ฐฑ์๋ ๋ก๋๋งต์ ๋ฐ๋ผ
๊ฐ์ ์์จ์ ์ธ ์ฃผ์ ๋ฅผ ์ ํด ํ๋ก์ ํธ๋ฅผ ์์ฑํด๊ฐ๋ ๋ฐฉ์์ผ๋ก ์ค๊ณ๋์์ต๋๋ค.
| ๋จ๊ณ | ๋ชฉํ |
|---|---|
| โ 1๋จ๊ณ | REST API ๊ฐ๋ฐ & ๊ธฐ๋ณธ CRUD ๊ตฌํ ์๋ฃ |
| โ 2๋จ๊ณ | JPA, QueryDSL ๊ธฐ๋ฐ ์ฑ๋ฅ ์ต์ ํ |
| ๐ 3๋จ๊ณ | AWS EC2, RDS, S3๋ฅผ ํ์ฉํ ๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ฑ |
| ๐ 4๋จ๊ณ | Nginx ์ ์ฉ ๋ฐ ์ ์ ๋ฆฌ์์ค ์ต์ ํ |
| ๐ 5๋จ๊ณ | Docker๋ฅผ ํตํ ์ปจํ ์ด๋ ํ๊ฒฝ ๊ตฌ์ฑ |
| ๐ 6๋จ๊ณ | GitHub Actions ๊ธฐ๋ฐ CI/CD ์๋ํ ๊ตฌ์ฑ |
์ต์ข ์ ์ผ๋ก๋ ์ค๋ฌด ์์ค์ ๋ฐฑ์๋ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ฉฐ,
๊ฐ ๋จ๊ณ๋ณ๋ก ์ฝ๋ ์์ฑ โ ํ ์คํธ โ ๋ฌธ์ํ โ ๋ฐฐํฌ๊น์ง ์งํ ์์ ์ ๋๋ค.
-
๐ ์นดํ ๊ณ ๋ฆฌ ๊ธฐ๋ฐ ๊ฒ์๊ธ ์์ฑ
โ๏ธ ์ค๋์ ํ๋ / ๐ฐ ๋๋ง์ ์์ / ๐ต ์ค๋์ ํ๋ ์ด๋ฆฌ์คํธ / ๐ ํ์ค ๊ธฐ๋ก -
๐ผ๏ธ ์ด๋ฏธ์ง ์ ๋ก๋ (S3 ์ฐ๋)
ํ๋ ๊ฒ์ํ์ ์ฌ์ง ์ฒจ๋ถ ๊ฐ๋ฅ -
๐ ์ ํ๋ธ ๋งํฌ ๊ณต์
์์ ๊ฒ์ํ์์ ์ ํ๋ธ ๋งํฌ๋ก ๊ฐ์ ๊ณต์ -
โ ์์๋ฆฌ์คํธ ๋ฌ์ฑ ์ฒดํฌ ๊ธฐ๋ฅ
๋ชฉํ๋ฅผ ์ค์ ํ๊ณ , ๋ฌ์ฑ ์ฌ๋ถ๋ฅผ ๊ธฐ๋กํ ์ ์์ -
๐ฌ ๋๊ธ & ์ข์์(๊ณต๊ฐ)
๊ณต๊ฐ ๊ธฐ๋ฐ ์ํธ์์ฉ ์ง์ -
๐ท๏ธ ํ๊ทธ ๋ฑ๋ก ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ
๋ง์, ์ฐ์ฑ , ์ฌ์ ๋ฑ ๊ฐ์ ํ๊ทธ ๊ธฐ๋ฐ ๊ฒ์ ์ง์ -
๐ค ๋ง์ดํ์ด์ง ๊ธฐ๋ฅ
๋ด๊ฐ ์์ฑํ ๊ธ, ์ข์์ํ ๊ธ, ๋ฌ์ฑํ ์์๋ฆฌ์คํธ ์ด๋
- Java 17 โ ์์ ์ ์ธ LTS ๋ฒ์ (ํ์ฌ ์ฌ์ฉ ์ค)
- Spring Boot 3.4.x โ ์์ฐ์ฑ๊ณผ ๊ตฌ์กฐํ์ ์ต์ ํ
- Spring Data JPA โ ๊ฐ์ฒด ์ค์ฌ์ DB ์ฐ๋
- QueryDSL โ ํ์ ์์ ํ ์ฟผ๋ฆฌ ์์ฑ
- Spring Security โ API ์ ๊ทผ ์ ์ด
- JWT (JJWT 0.11.5) โ ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ ์ฒ๋ฆฌ
- BCryptPasswordEncoder โ ๋น๋ฐ๋ฒํธ ํด์ฑ
- MariaDB / MySQL โ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- AWS S3 โ ๊ฒ์๊ธ ์ด๋ฏธ์ง ์ ๋ก๋
- Jakarta Validation โ ์ ๋ ฅ๊ฐ ์ ํจ์ฑ ๊ฒ์ฆ
- JUnit, Mockito โ ๋จ์ ๋ฐ ๋ชฉ ํ ์คํธ ๊ตฌ์ฑ
- H2 DB โ ํ ์คํธ์ฉ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- IntelliJ IDEA โ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ
- Gradle โ ๋น๋ ์๋ํ
- Lombok โ ๋ฐ๋ณต ์ฝ๋ ์ ๊ฑฐ
- dotenv-java โ ํ๊ฒฝ๋ณ์ ์ค์ ๊ด๋ฆฌ
- AWS EC2 / RDS โ ์๋น์ค ๋ฐฐํฌ ๋ฐ ๋ฐ์ดํฐ ์ ์ฅ์ ๊ตฌ์ฑ
- Nginx โ ์ ์ ๋ฆฌ์์ค ์บ์ฑ ๋ฐ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ค์
- Docker & Docker Compose โ ์ปจํ ์ด๋ ๊ธฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ
- GitHub Actions or Jenkins โ CI/CD ์๋ ๋ฐฐํฌ ๊ตฌ์ถ
| Entity | ์ค๋ช |
|---|---|
User |
์ฌ์ฉ์ ์ ๋ณด (์ด๋ฉ์ผ, ๋์ด, ์ฑ๋ณ, ์ฃผ์ ๋ฑ) |
Post |
๊ฒ์๊ธ (์ ๋ชฉ, ๋ด์ฉ, ์นดํ ๊ณ ๋ฆฌ, ์ด๋ฏธ์ง, ๋งํฌ, ์ข์์ ๋ฑ) |
Category |
๊ฒ์๊ธ ์ฃผ์ ๋ถ๋ฅ (Enum ๋๋ ํ ์ด๋ธ) |
Comment |
๊ฒ์๊ธ์ ๋ํ ์ฌ์ฉ์ ๋๊ธ |
Tag |
๊ฐ์ /์ํฉ ํ๊ทธ (์: ๋ง์, ๋ง์ง, ์ค๋ ๋ฑ) |
PostTag |
Post โ Tag ๊ด๊ณ ๋งคํ ํ ์ด๋ธ |
- ์ ์ฒด ๊ธฐ๋ฅ ๊ธฐํ ๋ฐ ์์คํ ์ค๊ณ
- RESTful API ์ค๊ณ ๋ฐ ๊ตฌํ
- Spring Security ๊ธฐ๋ฐ ๋ก๊ทธ์ธ & ํ์ ์ธ์ฆ ์ฒ๋ฆฌ
- ๊ฒ์๊ธ CRUD + ์นดํ ๊ณ ๋ฆฌ๋ณ ๊ธฐ๋ฅ ๊ตฌํ
- AWS S3 ์ฐ๋ ๋ฐ ์ด๋ฏธ์ง ์ ๋ก๋ ์ฒ๋ฆฌ
- ์ข์์, ๋๊ธ, ๋ง์ดํ์ด์ง ๊ธฐ๋ฅ ๊ตฌํ
- Swagger ์ ์ฉ ๋ฐ ์์ธ ์ฒ๋ฆฌ ๊ตฌ์กฐ ์ค๊ณ
- ๐ฏ ์ธ๊ธฐ๊ธ ๋ญํน (์ข์์ ์ ์ ๋ ฌ)
- ๐จ ๊ฐ์ ํ๊ทธ ๊ธฐ๋ฐ ํต๊ณ ์๊ฐํ
- ๐๏ธ ๋ฌ๋ ฅ ๊ธฐ๋ฐ ๊ธฐ๋ก ํ์ธ ๊ธฐ๋ฅ (MyDay)
- ๐ฑ ๋ฐ์ํ ์น UI (๋ชจ๋ฐ์ผ ๋์)
- ๐ ์ธ๋ถ ์์ ํ๋ซํผ ์๋ ์๋ฒ ๋ฉ (์ ํ๋ธ, ์คํฌํฐํ์ด ๋ฑ)
ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ ํ, ์ง์ ํ๊ณ ๋ฅผ ์์ฑํ ์์ ์ ๋๋ค.
์ง๊ธ์ ๊ธฐ๋ฅ ๊ตฌํ์ ์ง์คํ๊ณ ์์ด์! ๐
๐ ๊ฐ๋ฐ ์ผ์ง ๋ฐ ํ๊ณ Notion ๋ณด๊ธฐ