미리보기
기본 정보
안녕하세요. 밥 사주고 싶은 개발자 남은찬입니다. * 끊임없이 배움을 추구하고 기술을 탐구하려 노력하고 있습니다. * 팀 전체의 협업 분위기를 형성에 기여하는 긍정적이고 열려있는 태도로 함께합니다. * 새로운 기술 탐구와 트러블 슈팅에 대해서 기록하며 공유하려고 노력합니다.
기술 스택
Java, Kotlin, Spring, JPA, querydsl, MySQL, Redis, REST API, GitHub, github-actions, Docker, AWS, Notion, Slack
경력
주식회사 에스티씨랩
백엔드 개발자 | 넷퍼넬 팀
2024.02. ~ 2024.05. (4개월)
솔루션 관리 시스템 코드 리팩토링
[래거시 코드 리팩토링]
핵심 비즈니스 로직과 도메인 모델을 다루는 Domain 영역, DB 엔티티와 구현을 다루는 Infrastructure 영역, API 를 담당하는 Presentation 영역으로 코드 및 모듈 분리
외부 라이브러리가 침투되어 테스트가 불가능한 비즈니스 코드에서 외부 라이브러리 코드를 유틸 컴포넌트로 분리하여 테스트가 가능한 코드로 리팩토링
End User Monitoring(EUM) 시스템 개발
[백엔드 아키텍처 설계 및 개발환경 구축]
멀티모듈을 활용한 레이어드 아케텍처 설계
AWS 환경에서 Docker 를 활용한 개발환경 CI/CD 구축
[Vector 와 File 기반 폴링방식의 대용량 데이터 파이프라인 구축]
고성능 경량 파이프라인 컴포넌트인 Vector 를 도입하여 기존 Logstash 대비 메모리 사용량 절감
File 기반의 폴링 방식 데이터 파이프라인을 구축하여 기존의 파이프라인 컴포넌트의 부하 문제와 폭발적인 트래픽에서 서버가 못견디고 죽는 문제를 해결
프로젝트
Inter Ticket
프로그래머스 / (주)그랩
2023.12. ~ 2024.01.
[프로젝트 소개]
인터파크 티켓 서비스를 클론 타겟으로 삼고 백엔드 구성과 API 를 분석하고 구현하며 티켓팅 서비스에서 겪을 수 있는 기술적 문제를 경험하고 해결하는 과정을 경험하는 프로젝트
[수행 업무]
Redis를 활용한 캐시 기반의 공연 랭킹 기능 구현
랭킹 조회 쿼리를 MySQL Straint Join과 Covering Index로 튜닝하여 캐시 갱신 부하 감소
쿼리 수행시간 : 5.64sec → 1.02sec
분산락으로 구현된 티켓 예매 기능을 Redis를 활용해 락 없이 동시성 문제를 해결하며 성능 최적화
평균 TPS : 644TPS → 4,259TPS
스케줄러와 비동기 이벤트를 활용하여 예매대기 기능 개발
ShedLock 을 통해 failover 를 갖춘 스케줄러 서버 설계
We Share Wish Hair
경기대학교
2023.01. ~ 2023.06.
[프로젝트 소개]
AI 기반 얼굴형 분석을 통한 맞춤형 헤어스타일 추천 앱
[수행 업무]
Redis 를 도입해 좋아요 기능과 관련 조회기능 성능 개선
리뷰 조회 성능 : 7 TPS → 159 TPS
좋아요 성능 : 70 TPS → 177 TPS
새로운 테스트 환경을 구성하고 테스트 코드를 재작성하여 테스트 성능 개선
불필요한 통합테스트 환경을 제거하고 단위테스트에 집중
불필요한 해싱 시간을 잡아먹는 Bcrypt구현체를 Fake객체로 대체
테스트 총 실행시간 : 19초 → 5초
메일 인증 시스템 구축과 비동기 이벤트를 적용해 응답 속도 개선
aws 기반의 인프라 구축과 배포 자동화 환경 구축
헤어스타일, 리뷰, 회원 도메인 API 개발
AI 서버와 연동을 통한 헤어스타일 추천 기능 개발
포트폴리오
교육
경기대학교
대학교(학사) | 컴퓨터공학부
2018.03. ~ 2024.02. | 졸업
대외활동
프로그래머스 : 클라우드 기반 백엔드 엔지니어링 5기
프로그래머스 / (주)그랩
Spring 백엔드 개발자 역량 - Spring, JPA, DB 등
클라우드 서비스 역량 - AWS, Docker, CI/CD 등
멘토 및 동료 개발자와 교류 - 코드리뷰와 프로젝트 협업 경험
자격증
정보처리기사
합격 | 한국산업인력공단
2023.10.