미리보기
기본 정보
![](https://cdn.rallit.com/image/2023-05-18/n140pkwTmvbWkE78AExUq.jpeg?w=360)
안녕하세요, 백엔드 개발자 이중원입니다. 흔들림이 없는 편안한 서비스 개발을 지향합니다.
기술 스택
Java, Spring, Spring Boot, Spring Security, JPA, AWS, MariaDB, MySQL, PostgreSQL, Docker, Github, github-actions, MSA, Kubernetes
경력
티멕스메타에이아이
연구원 | MA2-2팀 | 재직 중
2024.08. ~ 재직 중 (7개월)
- 내부 게임 동기화 서버 구매 및 배포 웹페이지 관리
- 게임 동기화 서버를 요청할 경우 사내 k8s 기반 클라우드에 새롭게 배포해주는 java/spring 서버 관리 게임 동기화 서버 기반 웹 메타버스 환경 프로젝트 수행
- 클라이언트의 요청에 따라 게임 서버를 이용해 여러 사용자가 동시 접속하여 게임을 플레이할 수 있는 웹 환경의 java/spring 기반 서버 SI 프로젝트 수행
- 주로 헬스케어 산업분야에서 환자와 의료진을 위한 교육 목적용 체험 앱을 웹 환경에서 다룰 수 있는 프로젝트 담당
프로젝트
전국 12개 국립 암센터에서 제공할 환자 및 전문가 헬스케어 교육용 메타버스 체험 통합 웹 플랫폼 사업 서버 개발
티맥스 메타에이아이
2024.08. ~ 진행 중
프로젝트 설명
전국 12개 국립 암센터에서 제공할 환자 및 전문가 헬스케어 교육용 메타버스 체험 통합 웹 플랫폼 사업 서버 개발
역할
- 유니티 게임 앱들을 체험할 수 있게 만든 웹 공간의 백엔드 설계와 기능 구현 담당
- 암센터 관리자가 볼 수 있는 방문자 관련 통계 DB 설계 및 API 개발
- Spring Security 기반 서버 보안시스템 설계 및 적용
- Redis 기반 세션 발급으로 동일 유저 동시 접속 제어
- 게임 아바타 관련 기능 설계 및 구현(동시성)
성과
TestContainers 기반 테스트 환경 조성 및 테스트 시간 최적화(기여도 100%)
- 백엔드 개발자끼리 동일한 테스트 인프라 환경을 사용할 수 있게 구축
- 데이터베이스 및 오브젝트 스토리지 테스트 환경을 구성
- 매 테스트마다 새롭게 테스트 환경을 만들던 것을 한번 환경을 구성하면 그 환경에서 모든 테스트를 진행할 수 있게 수정
- 테스트 한 개 당 실행 시간 약 5초 단축하여 (5*test) 개수의 시간을 테스트마다 감축
다중 유저가 게임 맵에 동시접속 할 때 발생하는 동시성 문제 해결(기여도 100%)
- 최대 60명 한정 입장 가능하며 게임 아바타를 서로 구분해야 하는 문제 발생
- 동시접속 인원수가 많지 않음을 고려하여 DB락으로 동시성 제어하며 아바타 구분
BBangle(건강한 베이커리를 판매하는 곳을 모아주는 플랫폼)
사이드 프로젝트
2023.11. ~ 진행 중
프로젝트 설명
저당, 글루텐 프리 등 건강한 베이커리를 찾는 사람들을 위해 판매처를 모아주고 추천해 주는 플랫폼
(11월 공식 출시 후 약 300명의 유저 보유)
관련 링크
Github Repository | 빵그리의 오븐 깃헙 주소
Web Site | 빵그리의 오븐
사용 기술
Java
, Spring
, Spring Data JPA
, Querydsl
, Spring Security
, OAuth2
, MariaDB
, Redis
,
Github Actions
, Docker Compose
, NCP
, AWS
역할
- 초기 유저 맞춤 게시글 추천시스템 알고리즘 구축 및 구현
- 데이터 팀과 협업하여 머신러닝 모델 기반 유저 게시글 추천 시스템 구현
- 유저 게시글 위시리스트 기능 구현
- spring security 기반 카카오톡 OAuth2 소셜 로그인 구현
성과
사용자 이벤트 기반 게시글 랭킹 시스템 개발 및 성능 개선(기여도 100%)
- 100만 건의 대용량 데이터 조회 상황에서 서버의 병목지점을 확인
- DB 쿼리 튜닝을 통해 응답속도 99.6% 감축
게시글 랭킹 조작 방지 시스템 개발(기여도 100%)
- 상품 구매 링크 접속 및 상세 페이지 조회 등 사용자 이벤트를 일정 시간 내 반복
시 랭킹에 반영되지 않도록 설정하여 랭킹 조작 방지 개발 서버
GithubActions 기반 자동 배포 파이프라인 개발(기여도 100%)
- 배포 시간 5분 이상 단축(비동기로 진행)
- 자동화를 통해 수동 배포에서 발생하는 실수 방지
메모리 사용 최적화로 서버 리소스 (메모리) 사용량 30% 감축(기여도 100%)
- 모니터링 툴(VisualVM)을 이용해 API 호출 시 메모리 사용량이 과도한 요청 확인
- 정상적으로 메모리 자원이 정리될 수 있도록 코드 수정하여 메모리 사용량 감축
가장 빈번히 호출되는 API에 대해 캐싱을 적용(기여도 100%)
- 메인 페이지 접속 시 반드시 호출 되는 API에 Redis 캐싱을 적용
- jmeter 기반 부하 테스트로 평균 소요 시간 95% 감축, 사용자 체감 로딩 시간 개선
- TPS를 약 20배 상승시켜 대량의 트래픽 상황에서도 견딜 수 있는 고가용성 서버 구축
위시리스트 추가 기능에서 발생하던 동시성 문제해결(기여도 100%)
- 모든 위시리스트 추가 로직에서 DB 쿼리를 1회 줄이며 동시성 문제도 해결
포트폴리오
교육
동국대학교
대학교(학사) | 융합소프트웨어
2016.03. ~ 2024.02. | 졸업
동국대학교
대학교(학사) | 사회학전공
2016.03. ~ 2024.02. | 졸업
대외활동
동국대학교 융합프로그래밍1 튜터링
동국대학교
코딩을 처음 배우거나 자바 이외의 언어만 배운 학생을 대상으로 자바의 기초를 가르치는 활동
동국대학교 자료구조및알고리즘1 튜터링
동국대학교
자료구조및알고리즘의 기초를 자바 언어의 기초만 배운 학생을 대상으로 가르치는 활동
자격증
OPIC
IH | ACTFL
2024.03.
외국어
일본어
일상 회화 가능
영어
비즈니스 회화 가능
자기소개
안녕하세요, 백엔드 개발자 이중원입니다.
흔들림이 없는 편안한 서비스 개발을 지향합니다.
안정적인 서비스를 위해 부하테스트와 모니터링을 통해 서버 리소스(메모리) 사용량을 30% 감축하였고, 빈번히 호출되는 API의 평균 소요 시간을 95% 감축시켰습니다.
또한 테스트를 중요시 여겨 테스트 커버리지를 90% 이상 달성한 경험이 있으며 사용자 요청 중 동시성 문제가 있는 로직을 찾아 해결하였습니다.