๐ย ์ ๊ฐ ๋ง๋ ์๋น์ค๋ก ๋ง์ ์ฌ๋์ ํ๋ณตํ๊ฒ ํ๊ณ ์ถ์ต๋๋ค.
์ผ๋ณดํํด ์ด๋ณด์ ์ง์ ๋ง์์ ๊ฐ๊ณ ๋ฐ์ ํ๊ธฐ ์ํด ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๐ง๐ปโ๐ป
โ๏ธย Email - [email protected]
๐ย Phone - 010-9654-2933
๐ฑย LinkedIn - **https://www.linkedin.com/in/jungwook-park/**
๐ ย Tech Stacks
Backend
- Java
- Spring Boot, Spring MVC, Spring Data JPA, Spring Batch, Spring Security
- MyBatis, JPA, QueryDSL
- MariaDB, PostgreSQL, Redis
- JUnit5
DevOps
- AWS EC2, AWS RDS
- Nginx, Jenkins
- Docker, Kubernetes
Tools & Collaboration
- IntelliJ, Eclipse
- Git
- Jira, Slack
๐ป Career
๋กฏ๋ฐ์ด๋
ธ๋ฒ ์ดํธ
ํ๋ซํผTechํ
2025.01 ~ ํ์ฌ
์ง์ฃผ ๋ํํ ๊ฒฝ์์ ๋ณด ์๋น์ค ๊ฐ๋ฐ
Java 21, Spring Boot 3.4, Spring Data JPA, MyBatis, Spring Batch, PostgreSQL, 2FA
- PL ์
๋ฌด
- Redmine, Teams์ ์ด์ฉํ ์๊ท๋ชจ ๊ฐ๋ฐํ ๋ฆฌ๋ฉ ๋ฐ ์ผ์ ๊ด๋ฆฌ
- ๊ฐ๋ฐ ์
๋ฌด ๋ถ๋ฐฐ ๋ฐ ์ง์ฒ๋ ๋ชจ๋ํฐ๋ง
- ๊ธฐ์ ์คํ ์ ์ ๋ฐ ๊ฐ๋ฐ ๋ฐฉํฅ์ฑ ์ค์
- SonarLint ํ๋ฌ๊ทธ์ธ ๋์
์ ํตํ ์ฝ๋ ํ์ง ํฅ์ ์๋
- 11๊ฐ ๊ทธ๋ฃน์ฌ ๋์ ๋ฐ์ดํฐ ์ ์ก ํ์ ์งํ
- ๊ทธ๋ฃน์ฌ ์ค์ ๋ฐ์ดํฐ ์ ์ฌ API ๊ฐ๋ฐ
- JWT ๊ธฐ๋ฐ API ๊ถํ ์ธ์ฆ ๋์
- ์๋น์ค ๋์ ์ ์ฒด ๊ทธ๋ฃน์ฌ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์์ฐ๋ฅผ ์ ์๋ ํํ์ ERD ์ค๊ณ
- 11๊ฐ ๊ทธ๋ฃน์ฌ๋ณ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋ฐฐ์น ๊ฐ๋ฐ
- ๋๊ท๋ชจ ์ ํฌ๋ณ ์ค์ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ์, ์ ํฌ ๋ง์คํฐ ์กฐํ ๋ก์ง์ HashMap ๊ธฐ๋ฐ ๋ก์ปฌ ์บ์๋ฅผ ์ ์ฉํ์ฌ DB I/O ์ต์ ํ ๋ฐ ๋ฐฐ์น ์ฑ๋ฅ ์ฝ 80% ๊ฐ์
- ๊ทธ๋ฃน์ฌ ์ ํฌ๋ณ ์ค์ ๋ฐ์ดํฐ์ ์ ์ฌ ์๋ฒ(SEQ) ๋์
ํ์ฌ ์ ์ฒ๋ฆฌ์ ๋ฐ์ดํฐ ์ ํฉ์ฑ ํ๋ณด
- Concurrent ๊ธฐ๋ฐ ์๋ฃ๊ตฌ์กฐ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ๋์
ํ์ฌ ๋ฐฐ์น ์ฑ๋ฅ ํฅ์
- Text2SQL ์์ฑ ์ฟผ๋ฆฌ ์คํ API ๊ฐ๋ฐ
- JSQLParser ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ SQL ๊ตฌ๋ฌธ ๋ถ์ ๋ฐ ํ์ฑ
- SQL์ ๊ตฌ๋ฌธ ์ ํจ์ฑ ๊ฒ์ฆ (๋ฌธ๋ฒ ์ค๋ฅ ์ฐจ๋จ)
- SELECT ์ฟผ๋ฆฌ๋ง ํ์ฉ ๋ฐ DML/DDL ๋ช
๋ น์ด ์ฐจ๋จ์ผ๋ก ๋ณด์์ฑ ๊ฐํ
- DB ๊ธฐ๋ฐ ํ
์ด๋ธ ์ ๊ทผ ๊ถํ ํ์ธ์ผ๋ก ๋ณด์์ฑ ๊ฐํ
- JWT ๊ธฐ๋ฐ API ์คํ ๊ถํ ํ์ธ์ ํตํด ๋ณด์์ฑ ๊ฐํ
- ์์คํ
์์ ์ฑ ๋ฐ ์ฑ๋ฅ ๊ฐ์
- ํ
์ด๋ธ ํํฐ์
๋์ ํตํ ๋๊ท๋ชจ ์ ํฌ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๊ทธ๋ฃน์ฌ ๋งค์ถ, ์ฆ๊ฐ๋ฅ ์กฐํ API ์๋ต์๋ ๊ฐ์
AI๊ธฐ์ ํ
2024.02 ~ 2025.01
Lotte AI Data Storage(Object Storage) ์๋น์ค ๊ฐ๋ฐ
Python 3.11, FastAPI, SQLAlchemy, Rocketry, MariaDB, Kubernetes, Ansible, Jenkins, Harbor
- ํ์ผ, ํด๋ ์
๋ก๋/๋ค์ด๋ก๋ API ๊ฐ๋ฐ
- ์
๋ก๋์ Chunk ๋จ์๋ก ํ์ผ์ ์ชผ๊ฐ์ด ์
๋ก๋ ์ค๋จ(์ค๋ฅ, ์ฅ์ ๋ฑ) ์ดํ์๋ ์ด์ด์ ์
๋ก๋ ๊ฐ๋ฅํ๊ฒ ๊ฐ๋ฐ
- ๋ค์ด๋ก๋ ๋ณด์ ๋ฐ API ์๋ฒ ๋ถํ ๋ถ์ฐ์ ์ํด Presigned URL ๋ฐฉ์์ผ๋ก ๊ฐ์ โ Nginx์ auth_request ๋ชจ๋์ ์ด์ฉํ์ฌ url ๊ฒ์ฆ
- Python Click ๊ธฐ๋ฐ Server-to-Server ๋ฐ์ดํฐ ์ ์ก CLI ๋๊ตฌ ๊ฐ๋ฐ
- ์๋ฒ ๊ฐ ์ง์ ์ ์ก ๋ฐฉ์ ๋์
์ ํตํด ๋ฐ์ดํฐ ์ด๋ ์๊ฐ ๋จ์ถ ๋ฐ ์๋ ์์
์ต์ํ๋ก ์ฌ์ฉ์ ํธ์์ฑ ๊ฐ์
- ๋๋ ํ์ผ ๋ณ๋ ฌ ์
๋ก๋๋ฅผ ํตํ ํ์ผ ์
๋ก๋ ์๋ ๊ฐ์
- ์ฌ์ฉ์ ๋ก๊ทธ์ธ, ํ์๊ฐ์
API ๊ฐ๋ฐ
- JWT ๊ธฐ๋ฐ ์ธ์ฆ/์ธ๊ฐ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- RDB ๊ธฐ๋ฐ์ ๋์์ ์ ์ ํ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- ํํด์ ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ๋ฐ ์ฅ๊ธฐ ๋ฏธ์ฌ์ฉ ๊ณ์ ํด๋ฉด ์ ํ ๋ฐฐ์น ๊ฐ๋ฐ
- ๋ฐฐ์น ์ด๋ ฅ ๊ด๋ฆฌ DB ํ
์ด๋ธ์ ์ด์ฉํ ํด๋ฌ์คํฐ ๋์์ฑ ๋ฌธ์ ํด๊ฒฐ
- Ansible ๊ธฐ๋ฐ ํด๋ฌ์คํฐ ๊ตฌ์ถ โ ๋ฐ๋ณต ๊ตฌ์ถ ์๊ฐ ๊ฐ์
- Jenkins CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ถ