미리보기
기본 정보

"이유있는 개발"을 추구하는 백엔드 개발자입니다. "이유 있는 개발"을 통해 생각하는 개발과 피드백에 열려 있는 개발자입니다. "과거를 개선"하여 개발품질을 향상시키고, 성장을 추구하는 개발자입니다.
기술 스택
Java, Spring Boot, JPA, querydsl, Docker, MySQL, aws-s3, Git, Jenkins, AWS
포트폴리오
교육
순천향대학교
대학교(학사) | 사물인터넷 (4.21 / 4.5)
2019.03. ~ 현재 | 재학 중
자격증
SQLD
SQL개발자 | 한국데이터산업진흥원
2022.09.
OPIc
IL | ACTFL
2024.09.
프로젝트
사진 관광 플랫폼 서비스 "Photoravle" 개발
2024 관광데이터 공모전 출품 서비스
2024.05. ~ 진행 중
[사진관광 플랫폼 서비스 개발]
2024 관광데이터 공모전 출품 서비스로 관광객들이 사진을 찍고 관광명소를 공유할 수 있도록
플랫폼을 제공하는 서비스를 개발하였습니다
[주요 개발 업무]
주요 서비스 모델인 관광명소, 사진스팟, 리뷰 도메인 기능 개발
Mysql Spatial을 활용한 위치기반 주변 관광명소 검색 기능 개발
Spring Event를 이용한 DB-S3간 데이터 정합성 불일치 문제 해결
S3 Bucket으로 다중 이미지 업로드/삭제하는 기능 구현
협업 배포 자동화를 위한 Jenkins CI/CD 파이프라인 구성
서비스 품질향상을 위한 백엔드 파트간 Github Merge전 코드 리뷰 문화 형성
[세부 내용]
Mysql Spatial DB를 활용한 위치기반 주변 관광명소 검색 기능 개발
공공데이터 포탈의 open Data들을 탐색하기 위해, 별도로 검색할 수 있는 기능 개발 필요성 파악
사용자의 현재 위치를 기반,으로 범위내의 위도/경도를 가지는 관광장소 READ 기능개발
Hibernate-Spatial의 dialect 문제를 발견하고, Mysql Spatial로 개발/운영 DB를 통합하여 개발
S3 Bucket으로 다중 이미지 업로드/삭제하는 기능 구현
Cloudfront와 S3를 연결하여, 프론트엔드 측이 직접 Cloudfront를 통해 S3 이미지를 조회하도록 개발
S3 과금 방지 및 팀원별 독립된 로컬 객체 저장소를 관리하도록, MinIO를 이용하여 개발 환경 구성
생산성 높은 협업을 위해, Facade 패턴으로 리팩토링하여 내부로직을 몰라도 쉽게 사용하도록 개발
Spring Event를 이용한 DB-S3간 데이터 정합성 불일치 문제 해결
Transaction에서 Rollback 발생 시, DB는 Rollback되지만 S3는 Rollback되지 않는 문제 파약
Spring Event로 Transaction Commit 후에만, S3 업로드/삭제 기능 동작하도록 하여 문제 해결
학내순환버스 도착/출발 안내 서비스 개발
순천향대학교
2023.09. ~ 2024.06.
[학내순환버스 도착/출발 정보 안내 서비스 개발]
학내순환버스 도착/출발 정보를 알 수 있는 방법이 없다는 문제를 발견하고,
사용자들이 모바일/PC를 통해 확인할 수 있도록 정보를 안내하는 서비스를 개발하였습니다
[주요 개발 업무]
1인 백엔드개발,배포/운영 환경 구축
정류장별로 설치된 디바이스의 정보를 수집하여 저장하는 서버 개발
MVC 패턴의 서비스 서버를 개발하여 사용자에게 정류장 별로 도착/출발 정보를 제공
모놀리식 구조에서 마이크로서비스 구조로의 재설계
보안을 위한 리버스 프록시 구조의 Nginx 환경 구성
디바이스 이상 탐지를 위한 모니터링 환경 구성
[세부 내용]
모놀리식 구조에서 마이크로서비스 구조로의 재설계
사용자 요청 과다 시, 디바이스의 patch 요청이 지연되는 문제 방지 목적
ngrinder 이용하여 서버에 1500명 동시요청을 했을 때, patch 요청 평균 지연 시간 2.5s -> 0.2s로 단축
보안을 위한 리버스 프록시 구조의 Nginx 서버 구축
WAS가 있는 8080포트로 사용자가 접속할 시, Acutator가 노출되는 문제 발생
Nginx 프록시 서버를 80번 포트로 노출
이외 포트는 AWS VPC 인바운드 규칙으로 외부 접근 차단하여 문제 해결
디바이스 이상 탐지를 위한 모니터링 기능 구축
정류장에 설치된 디바이스의 이상 여부를 위치 제약 없이 확인하기 위한 솔루션
일정시간마다 요청이 들어오지 않을 경우 alert가 발생하여, 이메일로 알림을 주도록 해결
대외활동
GDSC SCH (구글 학생 개발자 동아리)
교외학생 개발자 동아리
2023 GDSC 연합 해커톤 Namuton 참여
GDSC 연합 해커톤에 참여하여, 다른 대학교 학생들과 협업 프로젝트를 진행
자립준비청년 보호종료아동들을 위한 정보 제공 서비스 프로젝트 진행
백엔드 파트로 참여하여, REST API 서버 개발
Android 파트와 협업 경험
GCP배포 경험
프로젝트 노션 링크: https://www.notion.so/dksu-space/N-dfdec27918fd4268834f6f6daa271c10