백엔드 개발자

장태현
포트폴리오

한 번 빠지면 시간 가는 줄 모르는,
개발이란 저에게 그런 존재입니다.
Introduce

Introduce

Back-end Engineer

장태현

Career

Career

플레이투게더 2025.04 ~ (재직중)
사원/개발

[현대백화점 앱/웹 플랫폼 개발]

  • 쿠폰 공통정보 조회 성능 개선
    타 시스템 API 매번 호출 → Redis 캐싱 방식으로 전환 ⇒ 페이지 렌더링 속도 약 30~40% 향상
  • 매장 상세데이터 조회 쿼리 최적화
    건수만큼 개별 쿼리 수행 → MyBatis 동적 쿼리로 일괄 조회 N → 1회 쿼리로 최적화
  • 통합 회원가입 프로세스 확장
    신규 참여사 서비스(NCP) 가입 프로세스 추가 개발
  • 매장팔로잉 신규 화면/기능 개발
  • 이벤트 페이지 렌더링 과정 분석 및 문서화
    앱/문자 발송형 이벤트 페이지 분석 후 PPT로 도식화하여 팀 내 공유
Spring JSP Oracle Confluence Bamboo Bitbucket
Projects

Projects

리틀뱅크 ⭐

아이들의 학습동기 부여 어플

기간 : 2025/03~2025/07
팀 구성 : App(PM) 1, Backe-end 2, Design 1
담당역할 : #Back-end, #PL
사용 기술 & 라이브러리 :
Spring Boot Nginx JPA QueryDSL MySQL Redis Swagger GitHub Actions Docker EC2 RDS CodeDeploy S3

팀에서의 역할

1. PL을 맡아, 팀원의 코드를 피드백하고 깃허브를 활용하여 코드를 병합하는 업무를 담당했습니다.

기여한 부분

1. GitHub Actions + CodeDeploy 기반 CI/CD 파이프라인 구축 ⇒ 배포 과정 자동화 및 운영 편의성 개선
2. 채팅방 정렬·읽음 상태를 클라이언트에서 처리하던 구조 ⇒ BFF 관점의 API로 분리, 클라이언트는 렌더링만 담당하는 구조로 전환
3. Toss Payments API 기반 결제 로직에서 [결제 전 정보 서버에 저장 ⇒ 승인 후 비교 검증] 을 통한 위변조 방지 플로우 구현

앱 화면

한눈에 보는 대시보드 스크린

App Screen 1

채팅

실시간 1:1 채팅, 그룹채팅 기능

App Screen 2

챌린지

전체 유저와 같이 동기부여 챌린지

App Screen 3

1:1 경쟁

1:1 경쟁을 통한 동기부여 시스템

App Screen 4

랭킹

전체 유저 랭킹 시스템

App Screen 5

피드

학습인증, 일상 글 등 소통창고

App Screen 6

결제

토스페이, 카카오페이 등 결제가능

App Screen 7

구독

구독권 관리 및 결제 내역

App Screen 8

혜택

2주무료 구독권등 마케팅 혜택

App Screen 9

보안

계좌 2차 핀번호 보안 시스템

App Screen 10

약관

서비스 이용약관 및 동의

App Screen 11

한눈에 보는 대시보드 스크린

App Screen 1

채팅

실시간 1:1 채팅, 그룹채팅 기능

App Screen 2

챌린지

전체 유저와 같이 동기부여 챌린지

App Screen 3

1:1 경쟁

1:1 경쟁을 통한 동기부여 시스템

App Screen 4

랭킹

전체 유저 랭킹 시스템

App Screen 5

피드

학습인증, 일상 글 등 소통창고

App Screen 6

결제

토스페이, 카카오페이 등 결제가능

App Screen 7

구독

구독권 관리 및 결제 내역

App Screen 8

혜택

2주무료 구독권등 마케팅 혜택

App Screen 9

보안

계좌 2차 핀번호 보안 시스템

App Screen 10

약관

서비스 이용약관 및 동의

App Screen 11

한눈에 보는 대시보드 스크린

App Screen 1

채팅

실시간 1:1 채팅, 그룹채팅 기능

App Screen 2

챌린지

전체 유저와 같이 동기부여 챌린지

App Screen 3

1:1 경쟁

1:1 경쟁을 통한 동기부여 시스템

App Screen 4

랭킹

전체 유저 랭킹 시스템

App Screen 5

피드

학습인증, 일상 글 등 소통창고

App Screen 6

결제

토스페이, 카카오페이 등 결제가능

App Screen 7

구독

구독권 관리 및 결제 내역

App Screen 8

혜택

2주무료 구독권등 마케팅 혜택

App Screen 9

보안

계좌 2차 핀번호 보안 시스템

App Screen 10

약관

서비스 이용약관 및 동의

App Screen 11

DEVHUB

프로젝트 형상관리 기능을 활용하기 어려워하는 초보 개발자들을 위한 프로젝트 형상관리 서비스

기간 : 2024/07~2024/10
팀 구성 : Front-end 2, Backe-end 3
담당역할 : #Back-end, #PL
사용 기술 & 라이브러리 :
Spring Boot JPA Spring Security JWT MySQL Redis Nginx Docker AWS
프로젝트 자세히 살펴보기 : 프로젝트 형상관리 서비스 DEVHUB - Notion

팀에서의 역할

1. PL을 맡아, 팀원들의 코드를 피드백하고 깃허브를 활용하여 코드를 병합하는 업무를 담당했습니다.
2. 프로젝트의 핵심 서비스인 형상관리 기능을 설계하고 개발하는 일을 담당했습니다.

기여한 부분

1. 이메일 발신 기능 성능 개선
• 이메일 발신 기능이 동기 방식으로 처리되는 것은 실제 서비스에서 치명적인 문제가 될 것이라고 판단했습니다.
• 비동기 방식으로 처리되도록 바꾸고나서 결과적으로 1초 동안 각 요청으로부터 소요된 응답 시간을 평균 4.159초(4159ms) → 0.017초(17ms)로 개선하였습니다.
• 이메일 발신 기능의 성능 개선 과정에 대한 자세한 내용을 기술 블로그에 기록해 두었습니다.
이메일 발신 기능 성능 개선 과정 - Tistory

고민한&학습한 부분

1. 형상관리 전략 (”snapshot” VS “Git”)
• 프로젝트 형상관리 기능을 제공하기 위해 서버에서 어떤 방식으로 유저의 프로젝트를 저장하고 형상관리 해야할지에 대해서 많은 고민이 있었습니다.
디스크 용량 부족 문제 : 유저가 업로드하는 프로젝트 파일을 서버 디스크에 그대로 저장할 경우, 매번 새로운 버전을 업로드할 때마다 동일하거나 비슷한 용량의 파일이 반복적으로 저장되게 됩니다. 이런식으로 파일이 계속 저장된다면 서버의 디스크 용량이 빠르게 소진되어 결국 저장 공간 부족 문제가 발생할 것이라고 생각했습니다.
• 초기에는 “snapshot“ 기법을 활용하여 형상관리 전략을 설계 했지만 문제가 존재하여 결론적으로 Git 시스템을 이용하게 되었습니다.
• 형상관리 전략을 결정하기까지의 자세한 과정을 노션에 기록해 두었습니다.
형상관리 전략 결정 과정 - Notion
2. 팀 저장소 내에서 여러 팀원이 동시에 파일을 업로드할 경우
• 처음에는 하나의 프로젝트를 관리하는 팀 저장소 내에서 여러 팀원이 동시에 파일을 업로드했을 때 서버에는 최초 한 팀원의 파일만이 저장되는 것을 의도했습니다.
• 하지만 의도와 달리 여러 팀원이 동시에 업로드한 파일이 서버에 모두 저장되었고 이 부분을 어떻게 해결할지 많은 고민이 있었습니다.
• 결론적으로 DB 락을 걸어 우회적인 방법으로 해결하였으며 그 과정을 기술 블로그에 기록해 두었습니다.
파일 저장 로직의 동시 요청에 의한 동시 저장을 방지하는 방법 - Tistory
3. AWS + Docker를 이용한 프로젝트 배포 과정
• 이전에 AWS EC2 서버에 스프링부트 프로젝트를 배포해 본 적이 있지만 이번 프로젝트에서는 Docker를 이용하여 EC2 서버에서 스프링부트 프로젝트를 배포한다는 점에서 차이가 있습니다.
• RDS에 데이터베이스 생성하고 연동하는 과정을 기술 블로그에 기록해 두었습니다.
스프링부트 프로젝트와 AWS RDS를 연동하는 과정 - Tistory
• 또한, EC2에 Docker로 프로젝트를 배포하는 과정을 기술 블로그에 기록해 두었습니다.
AWS EC2에 Docker로 스프링부트 프로젝트를 배포하는 과정 - Tistory

게시판 프로젝트

다양한 기술 활용과 코드 디자인, 코드 리뷰를 통한 서비스 최적화 과정으로 실무 프로젝트 수준의 개발을 목표로 진행한 프로젝트

기간 : 2023/03~2023/05
팀 구성 : Leader 1, Back-end 2
담당역할 : #Back-end
사용 기술 & 라이브러리 :
Spring Boot JPA Querydsl H2 Redis
GitHub : Board - GitHub

트러블 슈팅

1. JPA N+1 문제
• 게시글 조회 시, 연관관계 설정된 태그 엔티티 객체를 사용하려는 과정에서 태그 엔티티에 대한 N만큼의 추가 쿼리가 발생하는 현상을 발견했습니다.
• @Query 어노테이션과 JDBC 쿼리문을 구현해서 태그 엔티티를 Fetch Join 하여 해당 문제를 해결하였습니다.
• 다음에도 학습한 과정을 복습할 수 있도록 트러블 슈팅 과정을 기술 블로그에 기록해 두었습니다.
N+1 문제 트러블 슈팅 - Tistory

2. 게시글 좋아요 기능 동시성 문제
• 게시글 좋아요 기능에서 여러 Thread가 동시에 API 요청을 보냈을 때 예상한 결과와 다르다는 것을 파악했습니다.
• JMeter 부하 테스트 도구를 이용하여 동시성 문제가 발생한 것을 발견했고 문제가 발생하는 레코드에 베타락을 거는 방식으로 문제를 해결하였습니다.
• 다음에도 학습한 과정을 복습할 수 있도록 동시성 문제를 트러블 슈팅한 과정을 기술 블로그에 기록해 두었습니다.
좋아요 기능 동시성 문제 트러블 슈팅 - Tistory

재활센터 홈페이지

홈페이지 제작 외주를 받아 진행한 개인 프로젝트

기간 : 2026/01~(진행중)
사용 기술 & 라이브러리 :
Next.js React TypeScript Tailwind CSS ESLint Cursor Vercel

성과

1. 노션 MCP Server를 활용하여 [고객이 RFP 작성 ⇒ Agent가 추가된 요구사항 감지 ⇒ 검증 및 소스코드 반영] 프로세스 자동화

FYB(Fit Your Balence)

빅데이터 기반 개인 맞춤형 쇼핑몰 추천 서비스

기간 : 2022/03~2022/11
팀 구성 : Back-end 1, Android 1, Design 2
담당역할 : #Android
사용 기술 & 라이브러리 :
Android Java Retrofit2 OkHttp3 Gson
프로젝트 자세히 살펴보기 : 맞춤형 쇼핑몰 추천 서비스 FYB - Notion

담당한 부분

안드로이드 애플리케이션 구현

앱 화면

메인화면

유저 맞춤형 쇼핑몰을 추천

FYB App Screen 1

검색화면

찾고자 하는 쇼핑몰을 검색

FYB App Screen 2

3D모델링화면

유저의 체형 정보를 기반으로 구현한 3D모델에 옷 입히기

FYB App Screen 3

장바구니

구매하고자 하는 옷을 장바구니에 추가

FYB App Screen 4

내옷장

자신이 갖고 있는 옷을 설명과 함께 업로드

FYB App Screen 5

메인화면

유저 맞춤형 쇼핑몰을 추천

FYB App Screen 1

검색화면

찾고자 하는 쇼핑몰을 검색

FYB App Screen 2

3D모델링화면

유저의 체형 정보를 기반으로 구현한 3D모델에 옷 입히기

FYB App Screen 3

장바구니

구매하고자 하는 옷을 장바구니에 추가

FYB App Screen 4

내옷장

자신이 갖고 있는 옷을 설명과 함께 업로드

FYB App Screen 5

메인화면

유저 맞춤형 쇼핑몰을 추천

FYB App Screen 1

검색화면

찾고자 하는 쇼핑몰을 검색

FYB App Screen 2

3D모델링화면

유저의 체형 정보를 기반으로 구현한 3D모델에 옷 입히기

FYB App Screen 3

장바구니

구매하고자 하는 옷을 장바구니에 추가

FYB App Screen 4

내옷장

자신이 갖고 있는 옷을 설명과 함께 업로드

FYB App Screen 5
Skills

Skills

Certificate

Certificate

LICENSE 취득완료
DB

SQLD

SQL 개발자

한국데이터산업진흥원 2025.04 취득
LICENSE 필기취득
IT

정보처리산업기사

Industrial Engineer Information Processing

한국산업인력공단 2026.04 실기예정