Technical Portfolio
장애를 격리하는 견고한 백엔드 아키텍처와
무결성 AI 데이터 파이프라인을 설계합니다.
9년 차 백엔드 엔지니어(NHN DATA · 코스콤 · LG D&O)로서 축적한 캐시 장애 격리(NoOp 폴백), 실행계획 기반 DB 튜닝, 멀티테넌트 인가 보안 역량을 바탕으로, 결정적(Deterministic) 수집·검증 파이프라인과 Canvas 2D 실시간 시각화를 결합해 신뢰할 수 있는 프로덕션 시스템을 구현합니다.
Project Overview Matrix
핵심 포트폴리오 3초 요약 매트릭스AI위클리 (AI Weekly)
- 8개 매체 결정적 수집 + 사실 필드 Hard Override(환각 0%) +
--validate품질 게이트 - 설치 진입점 정적 스캐너(
scan-install-entry.js)로 공급망 악성 패키지 2건 탐지·차단 - 스타보드(620개 OSS 헤비·미들·라이트 3체급) 및 신규 점유율·성능(Benchmarks) 탭 구축
- 한/영(EN/KO) 실시간 전환, 로컬 북마크 및 옵시디언 볼트 자동 역동기화
bmad-2d-monitor
- 수백 개 오브젝트 렌더링 시 DOM 리플로우를 탈피하고 Konva.js 60 FPS 방어
- 동적 Y좌표 기반 깊이 정렬(Y-Sorting) 렌더링 파이프라인 자체 구현
- FSM(유한상태기계) 기반 백엔드-프론트엔드 자율 에이전트 애니메이션 동기화
- Spring AI & PostgreSQL
pgvector확장 기반 사고 로그 벡터 유사도 검색 구축
통합 관제 대시보드
- 상용 라이선스 절감을 위한 이기종 DB(Oracle ➔ PostgreSQL) 전면 무중단 이관
- JPA 다중 테이블 조인 N+1 쿼리 병목 식별 및
Fetch Join세밀 튜닝 - Spring Boot Proxy 계층 도입으로 서드파티 외부 API 종속성 캡슐화 및 CORS 해결
- OS별 파일 경로 동적 맵핑 및
SpotBugs정적 분석 기반 보안 취약점 6건 선제 조치
Detailed Engineering Highlights
문제 해결 및 아키텍처 심층 분석AI위클리 (AI Weekly) — 자율 AI 기술 신호 · 오픈소스 스타보드 · 벤치마크 플랫폼
매일 쏟아지는 글로벌 AI 기술 신호와 Claude Code 생태계 오픈소스 성장세, 그리고 프론티어 LLM 점유율·벤치마크 지표를
결정적(Deterministic) 수집기와 다단계 품질 게이트(--validate)로 정제하여 제공하는 무백엔드 정적 데이터 플랫폼입니다.
1. 결정적 수집기(Deterministic Collector) + 사실 필드 Hard Override로 환각 0% 격리
웹 크롤링부터 요약·메타데이터 생성까지 전 과정을 LLM에 위임할 경우, 네트워크 타임아웃이나 외부 DOM 변칙 시 파이프라인이 중단되고 가짜 URL·스타 수·날짜가 섞이는 환각(Hallucination) 발생.
8개 매체 크롤링·중복 제거·스키마 정규화는 Node.js 결정적 스크립트로 고정하고, 사실 필드(Stars, 원문 URL, 발행일, 작성자)는 크롤러 원본으로 강제 덮어쓰기(Hard Override)한 뒤 맥락 분류와 한국어 요약만 에이전트에 위임. 배포 전 --validate CLI 검증기로 포맷·문장 수·매체 쿼터를 강제하여 데이터 왜곡을 원천 차단.
2. 오픈소스 공급망 보안 정적 스캐너 (scan-install-entry.js) 도입
급상승 오픈소스 중 setup.py나 install.sh에 하드코딩된 공인 IP로 원격 페이로드를 내려받아 exec()/eval()을 실행하는 공급망 악성 드로퍼 위험 존재.
큐레이션 후보의 설치 진입점 파일을 정적 분석하는 보안 스캐너를 파이프라인에 내장하여, 실제 큐레이션 대상에서 악성 패키지 2건을 사전 탐지·격리 차단하고 안전한 도구만 인덱싱하도록 보호 계층 확립.
3. 620개 오픈소스 3체급 스타보드 & 증빙(evidence/) 기반 점유율·성능 벤치마크
거대 오픈소스와 신생 프로젝트가 단일 순위표에 섞이면 초기 급성장 도구가 묻히고, AI 모델 성능/가격 비교 데이터가 출처 없이 흩어져 객관적 의사결정이 어려움.
620개 리포지토리를 헤비급(10k+) · 미들급(1k~10k) · 라이트급(<1k) 3체급 리그로 정규화해 주간 스타 유입 속도(Velocity)를 추적하고, Statcounter 리퍼럴 점유율 · LMArena 종합/코딩 Elo · OpenRouter 단가를 원본 증빙(evidence/)과 함께 통합한 점유율·성능(Benchmarks) 탭을 구축.
4. 3초 스캐닝 정보 구조(Progressive Disclosure) & 옵시디언 볼트 역동기화
빽빽한 줄글 카드 나열로 인한 모바일 가독성 저하 및 일회성 웹 소비로 휘발되는 기술 인사이트 문제.
주황색 3대 핵심 포인트 넘버 배지(1, 2, 3)와 기본 접힘(<details>) 심층 해설, 한/영(EN/KO) 전환 및 로컬 북마크(⭐ 저장)를 적용하고, 배포 후 npm run sync:obsidian으로 로컬 옵시디언 지식 베이스에 자동 역동기화.
bmad-2d-monitor — 차세대 2.5D 가상 오피스 AI 모니터링 시스템
단순 텍스트 기반의 정적인 서버 로그 뷰어를 탈피하여, 다수의 자율 AI 에이전트들이 사고하고 협업하는 과정을 16-bit 픽셀아트 기반 가상 오피스 공간에 60 FPS로 실시간 시각화한 지능형 모니터링 플랫폼입니다.
1. Konva.js 2D Canvas 채택으로 HTML DOM 리플로우 병목 돌파 (60 FPS 방어)
수십 명의 에이전트 캐릭터와 수백 개의 오피스 가구 객체를 일반 HTML DOM 엘리먼트로 구성할 경우, 애니메이션 틱(Tick)마다 잦은 Reflow/Repaint가 발생하여 브라우저 프레임이 15 FPS 이하로 급락하고 메모리 누수 발생.
DOM 조작을 전면 배제하고 Konva.js 기반 2D Canvas 렌더링 파이프라인으로 전환. 스프라이트 캐싱 및 레이어 분리 기법을 적용하여 100개 이상의 동적 오브젝트가 상시 상호작용하는 환경에서도 안정적인 60 FPS 렌더링 유지.
2. 2.5D 입체 깊이 표현을 위한 동적 Y-Sorting 알고리즘 자체 구현
2D Canvas 공간에서 캐릭터가 책상, 모니터 등 고정 사물 앞뒤로 이동할 때 렌더링 Z-Index가 고정되어 있으면 캐릭터가 사물을 뚫고 지나가거나 책상 뒤로 들어갔을 때 사물 위에 겹쳐 렌더링되는 공간적 시각 왜곡 발생.
모든 동적 캐릭터 및 정적 사물의 지면 접점 실시간 Y좌표를 매 프레임마다 연산하여 렌더링 순서를 동적으로 재배열하는 Y-Sorting(깊이 우선 정렬) 알고리즘을 구현. 책상 뒤로 숨거나 앞으로 걸어 나오는 자연스러운 2.5D 깊이감(Depth) 재현.
3. FSM(유한 상태 기계) 기반 자율 에이전트 상태-애니메이션 동기화
백엔드에서 비동기로 전달되는 에이전트의 복잡한 사고 상태(Idle, Moving, Working, Thinking, Error)가 프론트엔드 렌더링 루프와 즉시 맞물리지 않으면 모션 전환 간 프레임 튐이나 잘못된 애니메이션 상태 고착 현상 발생.
Zustand 전역 상태 저장소와 연동되는 FSM(Finite State Machine) 아키텍처를 설계하여, 상태 전이(State Transition) 규칙에 정의된 경우에만 모션을 변경하도록 통제. 상태 변화에 따른 이동 경로 보간 및 스프라이트 전환 결함 차단.
4. Spring AI & PostgreSQL pgvector 기반 사고 로그 벡터 유사도 검색
누적되는 에이전트 사고 로그에서 단순 키워드 매칭(`LIKE`) 방식만으로는 유사한 맥락의 시스템 이상 징후나 에이전트 간 의사소통 오류 패턴을 포착하기 어려움.
Spring AI 프레임워크와 PostgreSQL pgvector 확장을 도입하여 에이전트의 사고 로그를 임베딩 벡터로 색인하고, 자연어 질의를 통한 코사인 유사도(Cosine Similarity) 검색으로 에이전트 오류 맥락을 신속히 추적하도록 구현.
엔터프라이즈 실시간 통합 대시보드 (DashBoard)
상용 라이선스 비용 절감을 위한 이기종 데이터베이스 마이그레이션부터 외부 서드파티 API 격리, 실시간 서버 시스템 자원 관제까지 백엔드 엔지니어링의 신뢰성과 보안성을 검증한 통합 대시보드 시스템입니다.
1. 이기종 DB 마이그레이션 (Oracle ➔ PostgreSQL) 및 JPA N+1 쿼리 최적화
상용 Oracle DB의 높은 라이선스 비용 이슈와 레거시 SQL 매핑(MyBatis)의 유지보수 한계 존재. 또한 JPA 전환 시 연관 관계 매핑에 따른 N+1 쿼리 발생으로 다중 차트 조회 지연 우려.
오픈소스 PostgreSQL로 데이터를 전면 이관하고 멀티차트 조회 및 인증 도메인부터 단계적으로 JPA로 전환. 연관 관계 조회 구간에 Fetch Join과 Lazy 로딩 전략을 세밀하게 적용하여 N+1 쿼리 병목을 해소하고 응답 지연을 단축.
2. 서드파티 API 종속성 캡슐화 및 브라우저 CORS 충돌 방어
브라우저 클라이언트가 외부 날씨·지도 API를 직접 호출할 경우 발생하는 브라우저 동일 출처 정책(CORS) 에러와, 외부 서비스 명세 변경 시 프론트엔드 코드가 직접 손상되는 강한 결합도 문제 발생.
외부 API 호출부를 백엔드 Service Layer로 캡슐화하고 Spring Boot 프록시(Proxy) 파이프라인을 구축하여 브라우저 CORS 제약을 해소하고 외부 API 변경이 프론트엔드로 전파되지 않는 느슨한 결합(Loose Coupling) 구조 확립.
3. 이기종 OS 파일 경로 종속성 해결 및 SpotBugs 정적 보안 감사
개발 환경(Windows)과 운영 서버(Linux) 간 파일 구분자 차이로 인해 이미지 로드 오류가 발생하고, 소스코드 레벨의 잠재적 보안 취약점 사전 검증 필요.
System.getProperty("os.name") 및 Spring ResourceLoader를 활용한 동적 OS 감지 경로 분기 체계를 구축하여 환경 종속 오류를 제거하고,
SpotBugs 정적 코드 분석으로 잠재적 취약점 6건을 선제 패치 및 해외 비정상 IP 차단 인터셉터 적용.