⚙️

유대선

Backend Engineer외부 연동 실패와 중복 실행을 트랜잭션 경계·잠금·멱등성으로 해결해 왔습니다.

🌍위치Toronto, ON (캐나다 취업 가능)
✉️이메일showep12@gmail.com
📝블로그daeseon.ai
🎬케이스 필름daeseon.ai/portfolio
💡

트랜잭션 경계, 행 잠금, 분산 락으로 상태 정합성을 지켰고, 같은 원칙을 개인 제품의 비동기 상태 전이와 변조 추적 로그에 적용했습니다.

🛠기술 스택

언어JavaC#GoTypeScriptSQL
백엔드Spring Boot.NETJPAMyBatisREST
데이터OraclePostgreSQL트랜잭션 설계SQL 튜닝
제품·운영Next.jsRustTauriDockerAWSGitHub Actions

💼경력

SK AX Software Engineer

2021.09 - 2026.05

EV 배터리 제조 시스템(MES·WMS·원가)의 백엔드 설계·운영

  • MES↔ERP 연동을 스테이징 테이블과 배치 워커로 분리해 평균 처리시간을 60% 단축하고, 월 약 20건이던 수동 재처리를 거의 없앰
    자세히 · 케이스 필름 보기

    ERP 실패가 MES 완공 기록을 롤백하지 않도록 경계를 분리하고, LOT 번호를 멱등키로 사용해 실패 요청을 재처리.

    case-01 케이스 필름 애니메이션

    🔬 딥다이브 — 코드 · 트레이드오프 · 팔로업 전문

  • 다중 인스턴스에서 발생한 LOT ID 중복 발급을 Oracle 행 단위 잠금(FOR UPDATE)으로 해결해 ID 유일성을 보장하고 생산 라인 중단을 방지
    자세히 · 케이스 필름 보기

    오늘 날짜의 카운터 행 하나만 잠그고, 잠금 구간을 원자적 UPDATE 한 문장으로 축소.

    case-04 케이스 필름 애니메이션

    🔬 딥다이브 — 코드 · 트레이드오프 · 팔로업 전문

  • 분산 락(ShedLock/job_lock)으로 서버 간 중복 실행을 제거하고, 스케줄러와 실행을 @Async로 분리해 월말 플랜트 마감 작업을 병렬화
    자세히
  • 모바일 스캔 요청을 전체 상태 전송에서 PK 전송·서버 최신 조회로 바꿔 HTTP 413을 해결하고, 배치 크기를 30에서 80으로 높임
    자세히 · 케이스 필름 보기

    공유 서버 한도 증설 대신 요청 모델을 줄여, 저장 시점에 낡은 클라이언트 상태가 반영되는 문제도 함께 제거.

    case-03 케이스 필름 애니메이션

    🔬 딥다이브 — 코드 · 트레이드오프 · 팔로업 전문

  • 미들웨어 엔드포인트 46개를 리플렉션 기반 단일 공통 API로 통합해 8개 사이트에 배포하고, 재배포 의존성을 없애 미들웨어 전담 1 FTE를 확보
    자세히 · 케이스 필름 보기

    작은 PoC로 허용 범위를 검증한 뒤 rate limit을 추가하고 사이트별 호출을 공통 인터페이스로 통합.

    case-02 케이스 필름 애니메이션

    🔬 딥다이브 — 코드 · 트레이드오프 · 팔로업 전문

  • 7.7K줄 PL/SQL 모놀리스 쿼리를 공정별 CTE로 리팩토링해 코드를 57% 줄이고, 주간 원가 티켓 처리량을 4건에서 7건으로 높임
    자세히 · 케이스 필름 보기

    요청 창구와 검증 절차를 먼저 정리한 뒤 공정별로 분리하고, 변경마다 현업 사용자와 결과를 확인.

    case-05 케이스 필름 애니메이션

    🔬 딥다이브 — 코드 · 트레이드오프 · 팔로업 전문

  • 사이트별 로직을 하드코딩 분기 없이 동적 디스패치하는 다형성 구조로 구현해 중앙 인력 증원 없이 8개 플랜트로 확장
    자세히

Dure Info Software Developer

2020.06 - 2021.09

제조 현장 클라이언트(PC·PDA·키오스크)를 위한 .NET TCP 소켓 서버

🚀사이드 프로젝트

🖥️ Talkak (딸깍) 여러 AI·CLI 작업을 한 창에서 운영·승인·검증하는 macOS 앱

RustTauriReacttmux
  • tmux 세션으로 장수명 서브프로세스 상태를 React 리마운트·앱 내비게이션에서도 보존하는 데스크톱 프로세스 매니저
  • 작업·결정·증거·승인·검증 영수증을 담는 append-only 로컬 JSONL 이벤트/그래프 저장소

🎧 Mimi YouTube 클립을 영어 쉐도잉 훈련으로 바꾸는 iOS 앱

Spring BootNext.jsPostgreSQLAWS
  • Spring AFTER_COMMIT + bounded @Async로 LLM 호출을 DB 트랜잭션 밖에서 실행 - PENDING → READY/FAILED를 짧은 트랜잭션으로 기록
  • 429·5xx·timeout만 최대 3회 제한 재시도하고, 영구 실패는 즉시 중단

🔐 DocVault 소규모 팀을 위한 Windows 엔드포인트 감사 플랫폼

GoPostgreSQLWindows Agent
  • 일회용 설치 토큰·하트비트·텔레메트리 자가진단을 갖춘 에이전트 온보딩
  • osquery + PostgreSQL 해시체인 로그로 위변조 흔적이 남는 감사 워크플로우, RBAC 파일 볼트

🎓학력

금오공과대학교산업공학 학·석사

2012.03 - 2019.02

이 페이지는 데이터 파일에서 생성됩니다 — 모든 숫자는 영문 이력서(PDF)와 동일 원본. 케이스 필름 전체 보기 →