채용공고 올리기

김원기님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
김원기
직업
백엔드 개발자
간단 소개

기술 스택

기술 스택

Java, Spring Boot, MSA, AWS, Redis, Docker, Kafka, Spring Security, JPA, MySQL, PostgreSQL

자기소개

자기소개

🚀 고객과의 신뢰 형성으로 만들어낸 성과

ACN 코리아에서 근무할 당시 개통, 고객 지원(CS), 배송, 사무 업무 등을 맡아 처리하였습니다. 저희 지점은 주로 연령대가 높은 고객분들이 방문하여 개통 업무를 보시는 경우가 많았기에, 상담 시 더욱 신중하고 공손한 태도로 응대하려 노력했습니다. 고객과의 친밀감을 형성하기 위해 근무 시간 외에도 식사를 함께하며 신뢰를 쌓으려 노력했고, 이러한 노력이 결실을 맺어 저희 지점은 다른 지점에 비해 많은 고객분들이 애용해 주셨습니다.

🧬 빠른 적응력과 끈기 있는 자세로 새로운 환경에 도전합니다

다양한 분야에서의 업무 경험을 통해 빠른 적응력과 끈기 있는 자세를 길렀습니다. 생산직 근무 시 높은 업무 강도 속에서도 자진하여 특근에 참여하며 빠르게 성과를 인정받은 경험은 새로운 도전과 변화에 강한 적응력을 발휘할 수 있도록 하였습니다. 이러한 경험은 IT 개발 프로젝트에서도 새로운 기술을 습득하고 문제를 해결하는 데 큰 도움이 되었습니다. 예를 들어, Sparta-Banking 프로젝트에서 처음 접한 Kafka를 활용해 비동기 시스템을 구현해야 했을 때, 빠르게 학습하고 적용하여 회원가입 알림을 비동기로 처리하고 성능을 향상시켰습니다.

프로젝트

프로젝트명

sparta-banking

소속/기관명

MSA 기반의 은행 뱅킹 시스템

프로젝트 기간

2024.09. ~ 2024.10.

프로젝트 내용

📌기술 스택

Java, Spring Security, MSA, JPA, Kafka, Redis, CI/CD, AWS, Zipkin, Grafana, Postgresql, Jmeter


🚲본인 역할

Gateway 및 Spring Security 인증/인가 처리

  • JWT 인증을 통해 클라이언트 요청을 검증하고, 유효한 요청만 각 서비스로 라우팅하여 보안성을 강화

  • Spring Security 기반의 인가 처리를 통해 사용자 권한에 따른 세분화된 접근 제어를 구현

회원가입 비동기 알림 및 보상 트랜잭션 처리

  • 회원가입 성공 시 Slack 알림을 Kafka로 비동기 처리하며, Slack 서버 오류 시 Fallback 메서드를 통해 보상 트랜잭션으로 회원가입 롤백을 수행

비밀번호 오류 및 계정 잠금 처리

  • 비밀번호 오류 시 부모 트랜잭션의 에러와 관계없이 트랜잭션을 분리시켜 시도 횟수 증가

  • 3회 이상 오류 시 계정 잠금 처리와 비밀번호 초기화를 구현하여 보안성 강화

로그아웃 처리 및 블랙리스트 토큰 관리

  • JWT 기반 로그아웃 시 블랙리스트 토큰 방식을 사용하여, 로그아웃된 사용자의 토큰을 즉시 무효화

Redis를 활용한 캐싱 처리

  • 자주 조회되는 데이터에 대한 캐싱을 구현함으로써 데이터 접근 속도를 향상시키고 시스템 부하를 감소

대출 데이터 자동 기록 시스템

  • 월별 및 연도별 대출 가입 건수와 상환 금액을 스케줄러을 통해 자동으로 기록하는 기능을 구현하여 데이터 관리의 효율성을 향상


💮 트러블 슈팅

캐시 무효화 및 갱신으로 인한 TPS 저하

  • 문제 상황

    • 직원 정보 수정 시 캐시 무효화 및 갱신으로 성능 저하 발생

  • 개선 방법

    • 캐시 어노테이션 제거

    • TTL 120초 → 20초로 단축 (일관성 문제 최소화)

  • 결과

    • TPS 72.7/sec -> 477.6/sec로 개선

    • 응답 속도 최적화 및 일관성 유지 달성

로그인 시 비밀번호 오류 처리 트랜잭션 문제

  • 문제 상황

    • 로그인 처리 중 예외 발생 시 전체 트랜잭션이 롤백되어 로그인 시도 횟수 증가 작업도 롤백됨으로써 시도 횟수가 제대로 처리되지 않음

  • 개선 방법

    • 로그인 시도 횟수 증가 로직을 별도 서비스로 분리하여 독립적인 트랜잭션으로 관리, Propagation.REQUIRES_NEW 설정을 적용하여 예외 발생 시에도 시도 횟수가 정상적으로 증가하도록 처리

  • 결과

    • 비밀번호 오류 시에도 시도 횟수 증가가 정상적으로 처리되며, 독립적인 트랜잭션 관리로 시스템 안정성 강화

프로젝트명

nuttty-delivery

소속/기관명

MSA 기반 물류 관리 및 배송 시스템 플랫폼

프로젝트 기간

2024.09. ~ 2024.09.

프로젝트 내용

📌기술 스택

Java, Spring Security, Querydsl, MSA, JPA, Redis, Docker, Zipkin, PostgreSql


🚲본인 역할

AOP 활용한 로그 관리

  • AOP를 통해 메서드 실행을 포인트컷으로 설정하여, 중앙 집중식 로그 관리를 구현하고 효율적인 디버깅과 모니터링을 지원

Config 서버 기반 yml 설정 관리

  • GitHub에 설정이 변경되면 Config 서버를 통해 이를 자동으로 반영하여 서비스의 일관성과 효율성을 유지.

Gemini AI 기반 주문 정보 요약 전송

  • 매일 오전 8시 허브별 주문 데이터를 분석하여 요약된 정보를 공통 배송 담당자에게 Slack으로 자동 전송, AI 기반 처리로 업무 효율성 향상.

날씨 API 기반 배송 지원

  • 매일 오전 6시 허브별 날씨 데이터를 번역하여 각 업체 배송 담당자에게 Slack으로 전송, 배송 환경 예측 지원.

Redis를 활용한 캐싱 처리

  • 자주 조회되는 데이터에 대한 캐싱을 구현함으로써 데이터 접근 속도를 향상시키고 시스템 부하를 감소


💮 트러블 슈팅

URL 인코딩 문제 해결

  • 문제 상황

    • UriComponentsBuilder로 URL을 생성할 때 serviceKey의 이중 인코딩 문제로 인해 지속적인 인증 오류 발생

  • 개선 방법

    • URI 클래스를 사용하여 자동 인코딩을 방지

    • UriComponentsBuilder의 build(false) 설정으로 수동 URI 구성도 가능

  • 결과

    • 이중 인코딩 문제 해결 및 인증 키 처리 정상화, URL 생성 오류 감소

Redis 페이지 검색 조건 키 문제 해결

  • 문제 상황

    • Redis 캐시 키가 page와 size로만 설정되어, 다양한 검색 조건이 반영되지 않아 잘못된 데이터가 조회되는 문제 발생

  • 개선 방법

    • 검색 조건과 정렬 조건의 해시 코드를 포함한 캐시 키 생성(@Cacheable 키 설정 개선) 및 캐시 만료 시간 조정

  • 결과

    • 검색 조건이 반영된 데이터가 정확히 캐싱 및 조회되며, 최신화된 데이터를 유지

경력

회사명

ACN코리아

직급 | 부서 | 근무 유형

사원 | 일반

근무 기간

2021.02. ~ 2022.07. (1년 6개월)

담당 업무

고객 서비스(CS) 관리

  • 유심 개통 및 상품 주문 등의 업무

발주 및 재고 관리

  • 상품 발주 프로세스를 체계적으로 관리하고, 재고를 적정 수준으로 유지하여 원활한 상품 공급을 보장

배송 관리

  • 고객이 원하는 일정에 맞춰 정확하게 상품이 도착하도록 관리

교육

소속/기관명

동서대학교

종류 | 전공

대학교(학사) | 경영학과

재학 기간 | 재학 상태

2015.03. ~ 2023.02. | 졸업

대외활동

활동명

Spring 심화과정

소속/기관명

팀스파르타(주)

연도

내용
활동명

백엔드 챌린지 – TDD

소속/기관명

원티드 프리온보딩

연도

내용
활동명

풀스택 양성자 과정

소속/기관명

부산더조은직업전문학교

연도

내용
댓글