๐ฑ growing up....
์๋ ํ์ธ์, ์ ๋ ์ ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๊น์น์์ ๋๋ค. JAVA์ SPRING BOOT์ ์ ๋ฌธ์ฑ์ ๊ฐ์ถ๊ณ ์์ผ๋ฉฐ, ํ ๋ชจ๋์๊ฒ ๊ธ์ ์ ์ธ ์ํฅ์ ์ค ์ ์๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ๊ฒ์ ๋ชฉํ๋ก ๊ฐ๋ฐ์ ๊ณต๋ถํ๊ณ ์์ต๋๋ค.
- ๐ง ์ด๋ฉ์ผ: kos7114@naver.com
- ๐ ์ ํ๋ฒํธ: 010-4220-7114
- ๐ GitHub: https://github.com/kss123456789
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด: Java, Python, JavaScript
- ํ๋ ์์ํฌ: Spring Boot, Django, Flask
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: MySQL, MongoDB, Redis, OracleDB
- ๋๊ตฌ ๋ฐ ํ๋ซํผ: AWS, Git, Nginx, Oracle,
- ๊ด์ฌ ๋ถ์ผ: Docker
- ์ค๋ช : LOL ๊ฒ์์ ๊ฒฝ๊ธฐ ์น๋ฅ ์ ์์ธกํ๋ ์๋น์ค์ ๋๋ค.
- ์ญํ : ๋ฐฑ์๋ ๊ฐ๋ฐ(๋จ๋ )
- ์ฌ์ฉ ๊ธฐ์ : Java, Spring, MySQL, Redis, Nginx, AWS, OracleDB
- ์ฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: JWT (io.jsonwebtoken:jjwt), Spring Security, Spring Data JPA, Lombok, AWS SDK
- ์ฃผ์ ์ฑ๊ณผ:
- ์ต์ ์ ๋ฐ์ดํธ์ ๋ณด์์ฑ๋ฑ์ ๊ณ ๋ คํ์ฌ Java21๋์
- AccessToken๊ณผ RefreshToken(Redis)์ ํตํ ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ด๋ฆฌ
- Google Oauth2๋ฅผ ํตํ ์์ ๋ก๊ทธ์ธ ๊ตฌํ
- ์ธ๋ถ API๋ฅผ ํตํด ๊ฐ์ ธ์จ ๊ฒฝ๊ธฐ ์ผ์ ๊ด๋ฆฌ ๋ฐ ์ถ๋ ฅ
- ์ฌ์ฉ์๋ค์ด ํฌ์ธํธ๋ฅผ ๊ฑธ๊ณ ๋ฐฐ๋น๊ธ์ ๊ฐ์ ธ๊ฐ ์ ์๋ ๊ธฐ๋ฅ ๊ตฌํ
- AI๊ฐ ์์ธกํด์ฃผ๋ ๊ฒฝ๊ธฐ์ ์นํจ์ฌ๋ถ ์ถ๋ ฅ
- ๊ฒฝ๊ธฐ์ผ์ ๋ฐ ๊ฒฐ๊ณผ์ ์ค์๊ฐ ์ ๋ฐ์ดํธ ๋ฐ ํฌ์ธํธ ๋ฐฐ๋ถ ์๋ํ
- ์ปค๋ฎค๋ํฐ ๊ฒ์ํ CRUD, AWS๋ฅผ ํตํ ์ด๋ฏธ์ง ๊ด๋ฆฌ
- AWS๋ฅผ ํตํด RDS(MySQL), Route53, EC2 ํด๋ผ์ฐ๋ ์๋ฒ ๋ฐฐํฌ
- Nginx๋ฅผ ํตํ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ค์ ๋ฐ https ssl ์ธ์ฆ, ๋๋ฉ์ธ ์ ์ฉ
- SSE๋ฅผ ํตํ ๊ฒฝ๊ธฐ ์์ ์๋ฆผ, ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ ์๋ฆผ ๊ตฌํ
- ํ์ฌ AWS์์ OCI๋ก ์ด์ ์์ ์ค...
- ์ค๋ช : ์ฐจ๋ ์ถ๊ณ ์ ์ฒญ ๋ฐ ๊ด๋ฆฌ ํ๋ซํผ์ ๋๋ค.
- ์ญํ : ๋ฐฑ์๋ ๊ฐ๋ฐ
- ์ฌ์ฉ ๊ธฐ์ : Java, Spring, MySQL, Redis, webRTC, Nginx, AWS
- ์ฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: JWT (io.jsonwebtoken:jjwt), Spring Security, Spring Data JPA, Lombok, AWS SDK, WebSocket (Spring WebSocket), Socket.io
- ์ฃผ์ ์ฑ๊ณผ:
- AccessToken๊ณผ RefreshToken(Redis)์ ํตํ ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ด๋ฆฌ
- Google, Kakao Oauth2๋ฅผ ํตํ ์์ ๋ก๊ทธ์ธ ๊ตฌํ
- ์ฌ์ฉ์ ์ฐจ๋ ์ถ๊ณ ์ ์ฒญ ๋ฐ ๊ด๋ฆฌ์์ ์น์ธ/๊ฑฐ์ ์ฒ๋ฆฌ
- ์ปค๋ฎค๋ํฐ ๊ฒ์ํ CRUD, AWS๋ฅผ ํตํ ์ด๋ฏธ์ง ์ ๋ก๋ ๋ฐ ์ธ๊ธฐ๊ธ, ๊ฒ์ ๊ธฐ๋ฅ ๊ตฌํ
- ๊ณต๊ณต API๋ฅผ ํตํ ์ฌ์ฉ์ ์ฃผ๋ณ ์๋์ฐจ ๋ฉํ์ต ๊ฒ์ ๋ฐ ํ๊ฐ, ๋๊ธ ๊ธฐ๋ฅ ๊ตฌํ
- Socket.io๋ฅผ ํตํ ์ค์๊ฐ ์ฑํ ๋ฐ ๊ด๋ฆฌ์์์ ํ์ํตํ ๊ธฐ๋ฅ ๊ตฌํ
- AWS๋ฅผ ํตํด RDS(MySQL), Route53, EC2 ํด๋ผ์ฐ๋ ์๋ฒ ๋ฐฐํฌ
- Nginx๋ฅผ ํตํ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ค์ ๋ฐ https ssl ์ธ์ฆ, ๋๋ฉ์ธ ์ ์ฉ
-
๋ฌธ์ ์๋ณ: ํ๋ก์ ํธ์์๋ ๊ธฐ์กด์ ์ฌ์ฉํ๋ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ OracleDB๋ก ์ ํํ๋ ๊ณผ์ ์์, ์ผ๋ถ ์ฟผ๋ฆฌ๊ฐ Native SQL๋ก ์์ฑ๋์ด ์์ด DBMS ์์กด์ฑ์ด ๋์์ต๋๋ค. ์ด๋ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ซํผ์ ์ข ์์ ์ด๋ฉฐ, ํฅํ ํ์ฅ์ฑ๊ณผ ์ ์ง ๋ณด์์ ์ ํ์ ์ด๋ํ ์ ์์์ต๋๋ค.
-
๋ถ์ ๋ฐ ์ค๊ณ: ์ ํ ๊ณผ์ ์์ ๊ธฐ์กด์ ์ฌ์ฉํ Native SQL ์ฟผ๋ฆฌ๋ค์ JPQL(Jakarta Persistence Query Language)๋ก ๋ณํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. JPQL์ ORM(Object-Relational Mapping) ํ๋ ์์ํฌ์์ ์ฌ์ฉ๋๋ ํ์คํ๋ ์ฟผ๋ฆฌ ์ธ์ด๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ซํผ์ ๋ ๋ฆฝ์ ์ด๋ฉฐ ์ ์ฐ์ฑ์ด ๋์ต๋๋ค.
-
๊ตฌํ: ๊ฐ๊ฐ์ Native SQL ์ฟผ๋ฆฌ๋ฅผ JPQL๋ก ๋ณํํ๊ธฐ ์ํด ํ์ํ ORM ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ต๋๋ค. ์ด ๊ณผ์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ์ฐจ์ด์ ์ ์ดํดํ๊ณ , JPQL์ ๋ฌธ๋ฒ๊ณผ ๊ธฐ๋ฅ์ ์์งํ๋ฉฐ ๊ฐ๋ฐ์ ์งํํ์ต๋๋ค.
-
๊ฒฐ๊ณผ ๋ฐ ์ฑ๊ณผ: JPQL๋ก์ ์ฟผ๋ฆฌ ๋ณํ ํ, ์์คํ ์ ์ ์ง ๋ณด์์ฑ๊ณผ ํ์ฅ ๊ฐ๋ฅ์ฑ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ซํผ์ ๋ ๋ฆฝ์ ์ธ ์ฟผ๋ฆฌ ์ธ์ด ์ฌ์ฉ์ผ๋ก ์ธํด, ํฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๊ฒฝ์ ๋์ํ ์ ์๋ ์ ์ฐ์ฑ์ด ๊ฐํ๋์์ต๋๋ค.
-
๋ฐฐ์ด ์ : ์ด ๊ฒฝํ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ซํผ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ดํดํ๊ณ , ORM ๊ธฐ์ ์ ์ค์์ฑ์ ๊น์ด ์ธ์งํ๊ฒ ๋์์ต๋๋ค. ๋ํ, ํ์คํ๋ ์ฟผ๋ฆฌ ์ธ์ด ์ฌ์ฉ์ ์ฅ์ ๊ณผ ๋์ ๊ณผ์ ๋ฅผ ๊ฒฝํํ๋ฉฐ ๊ธฐ์ ์ ์ญ๋์ ํค์ธ ์ ์์์ต๋๋ค.
-
๋ฌธ์ ์๋ณ: ์ด์ ์ ์ด์ ์ค์ธ ์์คํ ์์ ํน์ ์ฟผ๋ฆฌ์ ์คํ ์๊ฐ์ด ์ง๋์น๊ฒ ๊ธธ์ด์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ฌ์ฉ์๊ฐ ํน์ ํ์ด์ง๋ฅผ ๋ก๋ํ ๋๋ง๋ค ๊ธด ๋๊ธฐ ์๊ฐ์ ๊ฒฝํํ๊ณ , ์๋น์ค์ ์ฌ์ฉ์ฑ์ด ์ ํ๋์์ต๋๋ค.
-
๋ถ์ ๋ฐ ์ค๊ณ: ์ฟผ๋ฆฌ ์คํ ๊ณํ์ ๋ถ์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๊ฐ ๋ถ์กฑํ ์ ์ ํ์ธํ์ต๋๋ค. ํนํ ์์ฃผ ์ฌ์ฉ๋๋ ์ฟผ๋ฆฌ์ ํ๋์ ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ์ฌ ๊ฒ์ ์ฑ๋ฅ์ ๊ฐ์ ํ ํ์์ฑ์ ๋์ถํ์ต๋๋ค.
-
๊ตฌํ: ํ์ํ ์ธ๋ฑ์ค๋ฅผ ์ค๊ณํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฉํ๊ธฐ ์ํด ํ์ํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ต๋๋ค. ์ดํ ์๋ก์ด ์ธ๋ฑ์ค๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐฐํฌํ์ฌ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๊ฐ์ ํ์ต๋๋ค.
-
๊ฒฐ๊ณผ ๋ฐ ์ฑ๊ณผ: ์ธ๋ฑ์ค ์ ์ฉ์ผ๋ก ์ธํด ์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ๋ก๋ํ ๋ ๊ฒฝํํ๋ ๋๊ธฐ ์๊ฐ์ด 50% ์ด์ ์ค์ด๋ค์์ต๋๋ค. ์ด๋ก ์ธํด ์๋น์ค์ ์ฑ๋ฅ์ด ํฅ์๋์๊ณ , ์ฌ์ฉ์ ๋ง์กฑ๋๋ ์์นํ์ต๋๋ค.
-
๋ฐฐ์ด ์ : ์ด ๊ฒฝํ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค ์ค๊ณ์ ์ต์ ํ์ ์ค์์ฑ์ ๊น์ด ์ดํดํ๊ฒ ๋์์ต๋๋ค. ๋ํ, ์ค์๊ฐ ๋ชจ๋ํฐ๋ง๊ณผ ์ฑ๋ฅ ๋ถ์์ ํตํด ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ํด๊ฒฐํ ์ ์๋ ๋ฅ๋ ฅ์ ํค์ธ ์ ์์์ต๋๋ค.
- ๋ด์ฉ: ์ด๋ ธ๋ฒ ์ด์ ์บ ํ ๋๋ถ 2๊ธฐ์์๋ Java์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฒ๊ณผ ๋ฌธ๋ฒ๋ถํฐ ์์ํด์ Spring Boot์ Spring Security๋ฅผ ํ์ฉํ ์น ๊ฐ๋ฐ ์ค์ต์ ํตํด, ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๋ณด์ ๊ด๋ฆฌ์ ๋ํ ์ฌํ ์ดํด๋ฅผ ํ์์ต๋๋ค. ํนํ AWS ํด๋ผ์ฐ๋๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ๋ฐฐํฌ์ ๊ด๋ฆฌ๋ฅผ ์ค์ตํ์๊ณ , ์ด๋ฅผ ํตํด ์ค๋ฌด์์์ ์ ์ฉ ๊ฐ๋ฅ์ฑ์ ๋์ผ ์ ์๋ ๊ธฐ์ ์ต๋์ด ๊ฐ๋ฅํ์ต๋๋ค.