๊ฐ์ธ๊ณผ ๊ฐ์ธ๊ฐ์ ๋ฐ๋ ค๋๋ฌผ ๋ถ์ ์ค๊ฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๋ถ์ ํ๋ซํผ์ ๋๋ค.
์๋น์ค ๋งํฌ ๐ Pet-Hub๋ก ์ด๋
๋ฐฑ์๋ ๊ฐ๋ฐ์ 2๋ช , ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ 2๋ช ์ด ์งํํ ํ๋ก์ ํธ ์ ๋๋ค.
- ์์ฑ๋ ๋ถ์ ๊ฒ์๊ธ์ ์ค์๊ฐ ์ฑํ ์ ์ด์ฉํ ๋ฌธ์๊ฐ ๊ฐ๋ฅํ๊ณ , ์ฑํ ์ ์๋๊ฐ ์ฝ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ ์์ฝ์ ํ์ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค.
- ๊ฒ์๊ธ์ ๋๊ธ์ด ๋ฌ๋ฆฌ๊ฑฐ๋, ์ฑํ ๋ฐฉ์ ์๋ก์ด ์ฑํ ์ด ์์ ๊ฒฝ์ฐ SSE๋ฅผ ์ด์ฉํ ์ค์๊ฐ ์๋์ด ๋ฐ์ก๋ฉ๋๋ค.
- ๊ฒ์๊ธ๊ณผ, ๋ถ์๊ธ์ ์์ฑํ๊ณ ์ฌ์ง์ ์ ๋ก๋ ํ ์ ์์ต๋๋ค. ๊ฒ์๊ธ๊ณผ ๋ถ์๊ธ์ ์ข์์๋ฅผ ๋๋ฌ์ค ์ ์์ต๋๋ค.
- Google, Naver, Kakao 3๊ฐ์ง ํ๋ซํผ์ผ๋ก ๊ฐํธ ๋ก๊ทธ์ธ์ ์ง์ํ๊ณ ์์ต๋๋ค.
- Open JDK 11
- Spring Boot 2.7.11
- MySQL
- MongoDB
- Spring Data JPA & QueryDsl
- Spring Security & OAuth 2
- Spring Data Redis
- Spring Rest Docs
- AWS Infra (EC2, S3, IAM, CodeDeploy, Route 53)
- Docker(Docker Compose)
- Kafka & Stomp
- NginX
- Prometheus & Grafana
- Github Actions
- Web Socket
- Blue/Green ๋ฐฐํฌ์ ๋ฐํ์ ์๋ฌ๋ก ์ธํ ์๋ฒ๋ค์ด ๋ฌธ์ ํด๊ฒฐ
- MySQL ๋ฐ์ดํฐ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ์ํ Master-Slave ์ด์คํ ๊ตฌ์ฑ
- AOP๋ฅผ ํ์ฉํ ๋ก๊น ๊ธฐ๋ฅ ๋ถ๋ฆฌํ๊ธฐ
- ์ฑํ ์์ฝ์ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํ ์ฑํ ๋ฐฉ ์ ์์ ๊ด๋ฆฌํ๊ธฐ
- ์ฑํ ๋ฐฉ ํด์ฅ์ Authorization Header๋ฅผ ํฌํจํ์ง ๋ชปํ๋ ๋ฌธ์ ํด๊ฒฐ
- Spring Security ํ๊ฒฝ์์ Spring Rest Docs Custom ์ธ์ฆ๊ฐ์ฒด ์ฌ์ฉ ๋ฌธ์ ํด๊ฒฐ
- DB Server ์ธ์คํด์ค์ ์ฉ๋ ๋ถ์กฑ์ผ๋ก ์ธํด ๋ฐ์ํ PessimisticLockException ๋ฌธ์ ํด๊ฒฐ
- SSE(Sever-Sent-Event)๋ฅผ ์ด์ฉํ ์ค์๊ฐ ์๋ฆผ ๊ตฌํ์ ๋ฌธ์ ํด๊ฒฐ
- ์ด๋ฏธ์ง๊ฐ ํฌํจ๋ ๊ฒ์๊ธ ๋ฑ๋ก์ ์ง์ฐ์๊ฐ ๋ฌธ์ ํด๊ฒฐ
- ์ค๋ณต ๋ฐ ๋จ์ ๋งคํ ์ฝ๋ ์ต์ํ๋ฅผ ์ํ ๊ฐ์ ์๋