허진혁

Software Engineer

Email: gjwlsgur4866@gmail.com

Phone: 010-4140-4866

Blog: https://velog.io/@wlsgur1533

Portfolio: /portfolio/

About Me

동시 요청에서도 데이터 규칙을 지키고, 외부 호출 실패를 복구할 수 있는 구조를 고민하는 백엔드 개발자입니다. MySQL·Redis를 활용한 발급 동시성 제어와, 실시간 집계 구조 전환으로 인기순 조회를 4.6초에서 145ms로 개선한 경험이 있습니다. 또한, 효과적인 의사소통을 중시하여 좋은 질문하는 문화를 조성하는 것을 좋아하며, NotionWBS 활용해 일정 공유와 기록을 통해 팀의 협업을 강화한 경험이 있습니다.

Project

My Rate (RealRate)

2026.09

개인 우대조건을 반영한 적금 세후 이자 비교 서비스

AI 도구 활용 개발 · Codex, Claude

AI 추출 데이터의 검증과 미검수 빌드 차단

  • 문제 · AI가 우대조건을 구조화하는 과정에서 상호배타 조건 중복 합산과 조건 코드 오배정 등 의미 오류가 발생했습니다.
  • 판단 · 원문 인용과 합계 검사만으로 의미 오류를 보장할 수 없어, 자동 검증과 전량 원문 대조를 함께 적용하는 방식으로 진행했습니다.
  • 해결/결과 · Codex·Claude를 활용해 원문 근거 검사와 미검수 상품 빌드 차단을 구현했습니다. 작업 기록상 43개 상품 대조에서 11개 상품의 오류가 수정됐으며, 최종 데이터의 조건 105개는 원문 근거와 일치합니다.

개인별 적용금리와 세후 이자 계산 규칙 검증

  • 문제 · 광고 최고금리에는 사용자가 충족하지 못한 조건이 포함돼 실제 받을 이자와 차이가 발생했습니다.
  • 판단 · 선택한 조건만 합산하고 불명확한 우대폭은 제외한 뒤, 같은 납입 조건의 세후 이자로 비교해야 한다고 보았습니다.
  • 해결/결과 · AI 도구로 정수 bp 금리 합산·최고금리 상한과 단리·월복리 계산을 구현했습니다. 프로젝트 테스트 66개가 통과했으며, 실데이터에서 광고 1위와 개인별 세후 이자 1위가 달라지는 시나리오를 포함합니다.

개발 한 스푼

2024.05 ~ 2024.06

문답 기반으로 CS 학습을 돕는 모바일 애플리케이션

팀 프로젝트 · 백엔드 기여 30% · Kotlin, Spring Boot, MySQL

사용자별 일일 질문 중복 발급 방지

  • 문제 · 동일 사용자의 동시 요청으로 하루 1회 질문 발급 정책이 깨질 수 있었습니다.
  • 판단 · 질문 발급 여부를 판단하는 전체 과정을 사용자 단위로 보호해야 한다고 보았습니다.
  • 해결/결과 · MySQL Named Lock과 Spring AOP로 동시 발급을 제어해, 3개 동시 요청이 동일한 질문 ID를 반환함을 확인했습니다.

신고 알림 누락의 추적·복구 구조 구축

  • 문제 · 운영 중 신고는 저장됐지만 Slack 알림이 누락되어 신고를 인지하지 못하는 사례가 발생했습니다.
  • 판단 · 신고 저장과 외부 알림의 실패를 분리하고, 실패한 알림을 추적·복구할 수 있어야 한다고 보았습니다.
  • 해결/결과 · Spring 트랜잭션 이벤트와 Outbox 상태 기록, 스케줄러 재처리로 Webhook 실패 알림을 복구하는 흐름을 구축했습니다.

Givemeticon

2023.09 ~ 2024.01

사용하지 않거나 만료가 임박한 기프티콘을 사고파는 중고거래 플랫폼

Java 17, Spring Boot, MyBatis, MySQL, Redis, Redisson

선착순 쿠폰 발급의 동시성 정합성 개선

  • 문제 · 동시 발급 요청에서 재고 초과 발급과 사용자별 중복 발급이 발생할 수 있었습니다.
  • 판단 · 분산락의 만료·장애 상황에서도 재고와 중복 발급 규칙은 DB에서 지켜야 한다고 보았습니다.
  • 해결/결과 · Redisson 분산락과 MySQL의 원자적 갱신·유니크 제약을 함께 적용해, 재고 100개 조건에서 발급 100개·잔여 재고 0개·중복 0건을 확인했습니다.

인기순 조회 성능 개선

  • 문제 · 좋아요 100만 건을 실시간 집계하는 인기순 Top 20 조회가 4.6초까지 느려졌습니다.
  • 판단 · 인덱스 추가 후에도 남는 반복 집계 비용을 줄이려면, 집계값을 관리하는 구조를 바꿔야 한다고 보았습니다.
  • 해결/결과 · 사전 집계 메타 테이블과 MySQL 커버링 인덱스로 조회 비용을 줄여, 상품 10만 개 기준 4.6초 → 145ms로 약 96% 개선했습니다.

Certifications

SQLD

취득

정보처리기사

취득

Education

f-lab

2023.07 ~ 2024.01

깊이있게 학습하는 방법을 익혀 사수가 없어도 혼자 성장할 수 있는 개발자로 성장할 수 있도록 멘토링을 진행하여, 자바의 기본 개념들을 학습한 후 프로젝트를 통해 설계, 구현, 문서화를 포함한 전체적인 과정에 참여하여 문제 해결 능력과 소프트 스킬을 배웠습니다.

멋쟁이 사자처럼 백엔드

2022.09 ~ 2023.02

Java/Spring을 배우고 프로젝트에 적용하는 부트캠프로 회고 문화와 효울적인 스터디 진행하는 방법을 배웠습니다. 또한, 프로젝트를 진행할 떄 구현 뿐 아니라 프로젝트 일정 관리, 협업 방식, API 설계 등을 배웠습니다.