백엔드 개발자 | Java, Spring

운영 중인 서비스를 지키면서 개선하는
백엔드 개발자 정우진입니다.

KISTI 국가슈퍼컴퓨팅센터 웹 시스템 3종을 2년간 개발하고 운영했습니다. 화면, 서버 로직, SQL을 함께 추적해 같은 문제가 다시 생기지 않는 자리를 고칩니다.

정우진 프로필 사진

312개

JSP 출력 방어를 공통 태그로 표준화

7 → 0건

메인 요청당 외부 API 호출

3 → 1개

통계 집계 SQL 통합

3회

취약점 진단 무중단 대응

SKILLS

기술 스택

업무에서 사용

Java 8Spring MVCMyBatisJSP/JSTLJavaScriptjQueryMySQLTomcatSVN

개인 프로젝트에서 사용

Java 17Java 21Spring Boot 3.5Next.js 16MySQL 8PostgreSQL 16Redis 7NginxApacheDockerGitHub ActionsPrometheusGrafanaGitTypeScriptReactViteVercelSupabaseOpenAI APIPythondiscord.pyClaude APIJDA

EXPERIENCE

경력

(주)카이런소프트 | 개발팀 웹 개발자

2024.06 ~ 재직 중

KISTI 국가슈퍼컴퓨팅센터 웹 시스템 3종: 사용자 포털(KSC), 관리자 시스템(ESCORT), 계정과 계약 관리(SOS)

  • –웹 취약점 진단 지적사항 조치 (2025.04 ~ 2026.08, 3회): XSS 출력 이스케이프를 커스텀 태그로 만들어 JSP 312개에 적용하고, XXE, CSRF, 경로 조작을 대응했으며 권한 우회 구간에 소유권 검증 추가
  • –메인 사용현황 조회 구조 개선 (2026.01, 2026.05): 접속마다 호출하던 외부 API 7개를 1분 주기 수집 캐시로 전환하고 엔드포인트별 장애 격리와 timeout 적용
  • –R&D 혁신지원 신청서 고도화 (2025.03 ~ 2025.11): 연구 키워드, AI 활용, 재직증명서 등 신규 항목 5종을 공고 접수 전에 배포
  • –통계 정합성 개선 (2024.12 ~ 2026.07): 중복 집계와 승인 전 성과물 포함 문제를 고쳐 집계 SQL 3개를 1개로 통합, 종합통계 5개 화면의 기간 계산 오류 수정
  • –한강(6호기) 신규 시스템 대응 (2026.07 ~ 2026.09): 소개와 신청 페이지 개발, 유지보수 브랜치 54개 파일 trunk 병합

PROBLEM SOLVING

문제 해결 사례

01

웹 취약점 진단 지적사항을 공통 함수로 표준화

KSC, ESCORT, SOS | 2025.04 ~ 2026.08

XSS 출력 지점이 JSP 300개 이상에 흩어져 있어 화면별 수정으로는 누락과 재발을 막기 어려웠습니다. escape/sanitize 커스텀 태그를 만들고 CSRF 토큰 검증, 소유권 검증, canonical path 검증을 공통으로 적용했습니다.

진단 3회 지적사항을 서비스 중단 없이 반영, JSP 312개 적용, 미사용 페이지 47개 삭제

02

외부 API 장애가 메인 화면으로 번지는 구조 개선

KSC | 2026.01, 2026.05

메인 접속마다 외부 REST API 7개를 호출해 한 API의 지연과 예외가 메인 전체로 번졌습니다. 1분 주기 수집 스케줄러와 메모리 캐시로 바꾸고 엔드포인트별로 예외를 격리했습니다.

메인 요청당 외부 API 호출 7건 → 0건, 연결 5초와 읽기 10초 timeout 적용

03

평가와 성과 통계 오집계 복구

ESCORT | 2024.12 ~ 2026.07

미배정 과제가 LEFT JOIN으로 중복 집계되고 승인 전 성과물이 섞였습니다. 쿼리를 JOIN 단위로 분해해 행 수를 비교하며 원인을 특정하고 승인 상태 조건을 추가했습니다.

집계 SQL 3개 → 1개, 종합통계 5개 화면의 13개월 계산 오류 수정

04

"알 수 없는 오류" 장애 당일 해결

SOS | 2025.03

netgroup 등록 시 원인 없는 오류만 노출됐습니다. 화면 요청부터 매퍼까지 호출 흐름을 역추적해 음수 인덱스, 파라미터 오전달, CDATA 누락을 레이어별로 분리했습니다.

장애 접수 당일 정상화, 등록일시 조건절 보강으로 재발 방지

SIDE PROJECTS

개인 프로젝트

CBT Exam Platform

Full-stack

2025.11 ~ 2026.10 | 운영 중

여러 자격증의 기출문제를 실제 시험처럼 풀어 보는 CBT 웹 서비스

문제 해결

  1. 1응시가 쌓일수록 응시 시작이 느려지던 문제
  2. 2동시 제출과 자동 저장이 겹칠 때의 답안 정합성
  3. 3배포가 조용히 막혀 있던 문제
  4. 4기출 PDF에서 보기 이미지가 엉뚱한 보기에 붙던 문제

7.04s → 10.1ms

응시 20만 건 시험의 응시 시작 p95

101회 → 3회

제출 1회당 DB 왕복

TECH STACK

Java 17Spring Boot 3.5Next.js 16MySQL 8Redis 7Nginx

지원서 평가기

Full-stack

2026.10 | 운영 중

이력서를 0~100점으로 채점하고, 빠진 사실은 빈칸 질문으로 묻는 첨삭으로 점수 개선을 돕는 AI 웹 서비스

문제 해결

  1. 1첨삭을 반영하면 점수가 오히려 떨어지던 문제
  2. 2첨삭이 점수를 올리지 못하던 문제

3회 모두 같은 점수

같은 이력서 반복 채점

63 → 86점

단계적 보강 시 점수 단조 증가

TECH STACK

TypeScriptReact 19ViteVercelSupabaseOpenAI API

주식 신호 알림 봇

Backend

2026.10 | 운영 중

감시 종목의 지표 신호를 디스코드로 알리고, 신호 규칙을 26년치 백테스트로 검증한 개인용 시세 감시 서버

문제 해결

  1. 1교과서 신호가 실제로는 근거가 없던 문제
  2. 2토큰이 서로를 무효화해 401이 반복되던 문제
  3. 3VM 배포 뒤 시세를 하나도 못 받던 문제

294종목 · 26년

일봉 백테스트로 신호 규칙 검증

신호 4개 하향·삭제

매수·매도 근거가 없던 규칙 정리

TECH STACK

Python 3.12discord.pyOpenAI APIClaude APIDockerNginx

loslung

Full-stack

2026.03 ~ 2026.10 | 배포 구성만 검증

로스트아크 고정팀의 주간 일정 제출부터 자동 확정, 캘린더 반영까지 디스코드 슬래시 명령으로 처리하는 팀 운영 플랫폼

문제 해결

  1. 1Lost Ark API 장애 때 캐시 대체값이 나오지 않던 문제
  2. 2죽은 컨슈머가 쥔 메시지가 다시 처리되지 않던 문제
  3. 3동시 토큰 갱신에서 로그아웃되거나 탈취 토큰이 살아 있던 문제

Redis Streams 5종

Consumer Group과 DLQ로 나눈 비동기 처리

고위험 결함 8건

결함마다 회귀 테스트를 붙여 일괄 수정

TECH STACK

Java 21Spring Boot 3.5Next.js 16PostgreSQL 16Redis 7JDA

EDUCATION & CERTIFICATES

학력과 자격

2022.03 ~ 2024.02

한밭대학교 컴퓨터공학과

졸업 (3.48/4.5)

2026.06

ADsP

한국데이터산업진흥원

2025.12

정보처리기사

한국산업인력공단

2021.10

네트워크관리사 2급

한국정보통신자격협회