안녕하세요. 백엔드 개발자 백경환입니다.
사용자에게 서비스를 전달하는 것을 최우선으로 생각합니다. 사용자의 문제를 해결하여 빠른 주기로 사용자에게 서비스를 제공하려 합니다.
사용자에게 좋은 가치를 빠르게 전달하기 위해 협업과 생산성을 중요하게 생각합니다. 따라서 TDD와 클린코드에 관심이 많습니다.
코드 리뷰를 하며 팀원들과 생각을 교류하는 것을 좋아합니다. 코드 리뷰는 서로의 코드를 더 좋게 발전시키고, 더 나아가 서로 구현한 영역의 이해도를 높일 수 있는 방법이라고 생각합니다.
사용자가 행복하고 팀원이 행복한 개발을 하는 것이 목표입니다.
연락처
[email protected]
010-2851-5445
깃허브
github.com/dooboocookie
블로그
velog.io/@dooboocookie
프로젝트
나아가
2023.06 ~2023.11
[자세히 보기]
포트폴리오
깃허브
다운로드
소개
사용자 주변의 장소 사진을 보여주고 사용자가 직접 이동하여 장소를 맞추는 안드로이드 게임 앱
기여
쿼리 성능 개선
- 위도, 경도로 WHERE 절에서 거리 계산하는 조회에 공간 인덱스 적용
- 지도 기반한 게임으로 좌표에 대한 도메인이 존재 (ex. 장소, 쪽지)
- SELECT문 당 0.03초의 조회 쿼리를 0.005초로 6배 속도 개선
- JPA의 연관관계에 대해서 엔티티의 전체 목록 조회 시 N+1 문제 발생하는 문제 해결
- 연관관계에 지연로딩과 fetch join으로 findAll()에서 쿼리문 1번만 발생되도록 수정
로그인 기능 구현
- 간단한 로그인을 지향, OAuth와 JWT를 통한 로그인 기능 구현
- 자동 로그인 기능을 위하여 리프레시 토큰 발급 및 관리
- 유저가 등록한 사진을 관리자가 검수하는 기능으로 인해 특정 path가 HTTP Method 별로 다른 인가처리가 필요
- 스프링의 인터셉터를 프록시로 감싸서 HTTP Method 별로 인가처리 가능하도록 구현
CI/CD 구축과 무중단 배포 그리고 코드리뷰 문화 개선
- 메인 브랜치 중심적인 개발 및 배포 자동화를 위해 Github Actions으로 CI/CD를 구축
- 이슈 추정 시간을 4시간, PR 변경 코드를 2-300라인으로 제한하여 코드 리뷰 문화 개선하여 지속적 통합이 더 잘 이루어지도록 함
- NGINX를 리버스 프록시로 이용하고 Docker 컨테이너로 서버를 띄우는 방식으로 블루/그린 배포
사진 업로드 기능 구현
- 유저가 등록하는 사진 파일을 EC2에 직접 저장하는 방식으로 구현 (버전 1)
- NGINX 이용하여 EC2 내 정적 파일 서빙
- EC2 리소스 부족으로 S3 도입하여 사진 파일 관리 (버전 2)
- 어플리케이션에 Spring Cloud AWS 의존성 추가하여 S3로 파일 쓰기, 삭제
- CloudFront 를 통하여 api 서버 접근과 S3 접근 분기 나누어 S3의 파일 조회
도메인 간 의존성 순환 해결
- 각 컨텍스트 별로 패키지를 나누고 패키지간 의존성을 최소한으로 하고, 의존성 순환이 생기지 않도록 도메인 설계
- 패키지 간 의존성 순환이 생긴 부분을 DIP로 해결
경험
우아한테크코스 5기
2023.2 ~ 2023.11
활동
프로그래밍 언어
- 자바 프로그래밍 언어를 객체의 책임 분리를 통해 객체지향 프로그래밍에 대해 학습
- 변경에 용이한 코드를 작성하도록 단위 테스트, TDD등을 학습
웹 프로그래밍
- SpringBoot를 이용하여 웹 어플리케이션 구현
- JDBC와 JPA를 통하여 데이터 영속화 및 조회하는 기술 학습
- 안정적인 웹 어플리케이션 구현하도록 통합 테스트와 인수 테스트 학습
협업
- 리뷰어 혹은 피어와 적극적인 코드리뷰
- 페어 프로그래밍 기반한 미션 진행
팀 프로젝트
기획 → 구현 → 배포 → 사용자 유치 → 유지보수
개발 사이클 경험
- 협업(회의, 코드리뷰, 회고, …) 경험
발표 및 글쓰기
[10분 테코톡] 루카의 CI/CD
- 협업 시, 메인 레파지토리 중심적 개발을 지향하고자는 주제로 CI/CD 관련 발표
우아한테크코스 학습로그 저장소
- Spring을 처음 배우기 시작했을 때, 나와 크루들의 이해를 높이고자 Spring MVC에 대한 글 작성
자격증 및 교육
정보처리기사
인하대학교
물리학과
2022.11.25
2013.03 - 2021.02 (졸업)