모호한 요청을 구현 가능한 범위로 정리합니다.
누가 사용하는지, 어떤 처리가 필요한지, 무엇을 성공과 실패로 볼지 먼저 정리합니다. 기술적으로는 system boundary, state, transaction과 acceptance criteria를 다룹니다.
Backend / AI Integration / Reliable Systems
데이터, 권한, 처리 상태와 실패 조건을 명확하게 설계하고, AI 기능은 서버의 검증과 사람의 승인 안에서 실제 업무와 연결합니다. Java/Spring과 Python/FastAPI를 업무 특성에 따라 사용하며, 두 기술 축 모두 회사 코드와 독립된 공개 구현과 실행 검증으로 보여드립니다.
제가 잘하는 일
먼저 쉽게 이해할 수 있는 결과를 설명하고, 필요한 경우 아래에 구현 기술과 검증 근거를 붙입니다.
누가 사용하는지, 어떤 처리가 필요한지, 무엇을 성공과 실패로 볼지 먼저 정리합니다. 기술적으로는 system boundary, state, transaction과 acceptance criteria를 다룹니다.
화면, API, DB와 분석 결과가 하나의 사용자 흐름으로 이어지게 만듭니다. Spring Boot, FastAPI, SQL, Oracle과 PostgreSQL을 사용해 왔습니다.
LLM은 초안, 검색과 질의를 돕고, 권한, 상태와 업무 규칙은 서버가 최종 확인합니다. Text2SQL/NL2SQL과 structured output 검증을 적용했습니다.
정상 상황뿐 아니라 실패, 권한, 중복, 잘못된 입력과 외부 시스템 장애를 테스트하고 가능한 경우 실제 실행 환경에서 E2E로 다시 확인합니다.
인증과 권한, 사용자별 작업 분리, 감사 기록과 안전한 실패 처리를 백엔드 설계에 함께 반영합니다.
Linux, Docker, Tomcat, Nginx와 CI/CD 환경에서 health check, rollback, network boundary와 복구 절차를 확인합니다.
공개 검증
실제 모델, 실패 조건, 권한 경계와 실행 환경처럼 채용 검토자가 다시 확인할 수 있는 범위를 우선합니다.
Ollama `gemma3:12b`를 사용해 구매 요청부터 초안 생성까지의 핵심 합성 시나리오를 실제 모델로 실행했습니다.
실패 경계: 잘못된 모델 출력이나 모델 장애가 중요한 데이터 저장으로 이어지지 않게 차단
실제 Internet HTTPS 경로에서 서로 다른 사용자의 작업이 섞이지 않는지, 과도한 요청이 차단되는지, DB와 모델이 외부에 직접 노출되지 않는지 확인했습니다.
복구: 서비스를 닫고 같은 검증 버전으로 다시 열 수 있는지까지 확인
Python/FastAPI 멀티사용자 API에서 자연어 질문을 SQL로 연결하고 PostgreSQL Docker runtime에서 사용자별 workspace, SQL 정책과 DB 권한을 함께 확인했습니다.
실패 경계: 다른 사용자 접근 차단, 위험 SQL 실행 전 차단, analytics reader의 write 거부
로그인과 권한, 데이터 정합성, 배포와 복구, 업무 규칙 일관성 문제를 회사 코드와 독립된 Java/Spring 샘플로 다시 구현했습니다.
검증: 정상 흐름과 함께 권한 오류, 기간 경계, 잘못된 설정과 상태 불일치를 자동 테스트
대표 프로젝트
`OpsMate Local`은 구매 요청부터 승인과 발주까지의 백엔드 업무 흐름에 AI 초안 생성을 연결한 프로젝트입니다.
Controlled AI Integration
AI는 요청을 이해하고 초안을 제안하지만, 사용자 권한, 상태 변경, 중복 방지와 발주는 서버가 최종 검증합니다. 모델이 잘못된 결과를 반환하거나 사용할 수 없으면 중요한 처리를 진행하지 않습니다.
기술적으로: Spring Boot, Spring Security, JPA/PostgreSQL, local LLM adapter, RBAC, idempotency, fail-closed, audit event, isolated session workspace를 적용했습니다.
확인한 범위: 실제 모델 E2E, 내부 배포와 네트워크 경계, Internet HTTPS의 사용자 작업 분리, rate limit, 비노출, close/reopen을 확인했습니다. 장기 production SLA는 주장하지 않습니다.
Python / Data & AI Backend
`Text2SQL Workspace`는 Python/FastAPI, PostgreSQL과 Docker로 구현한 독립 공개 멀티사용자 데이터 질의 서비스입니다.
Multi-user Text2SQL
사용자가 workspace에서 자연어 질문을 보내면 모델은 SQL 후보만 제안합니다. 서버가 사용자 소유권과 SQL 정책을 확인한 뒤 전용 PostgreSQL reader로만 실행하며, 결과 평가는 SQL 문자열이 아니라 실제 columns와 rows를 기준으로 합니다.
기술적으로: Python, FastAPI, SQLAlchemy, SQLGlot, PostgreSQL, psycopg, Docker Compose, result-based evaluation을 적용했습니다.
한계: 현재 실제 LLM의 통계적 정확도, production IdP, 대규모 동시 사용자와 SLA는 검증하거나 주장하지 않습니다.
실무 문제 해결 사례
회사 코드와 데이터를 공개하지 않고 직접 담당한 문제를 일반화해 독립 샘플과 테스트로 재현했습니다.
사용자별 작업을 분리하고 모델이 만든 SQL을 서버 정책과 PostgreSQL read-only 권한 안에서만 실행하도록 구현했습니다.
핵심: 기술: Python, FastAPI, SQLGlot, PostgreSQL, Docker
사례 읽기서로 다른 인증 경로에서도 사용자와 권한이 잘못 연결되지 않는지 정상 흐름과 권한 오류를 함께 검증했습니다.
핵심: 기술: Spring Security, RBAC, session/CSRF, assertion 검증
사례 읽기여러 연도와 월을 함께 조회할 때 조건이 겹치거나 빠지지 않는지 기간 경계와 중복 조건을 검증했습니다.
핵심: 기술: Spring Boot, MyBatis, SQL, H2
사례 읽기서버 설정이 달라져도 같은 애플리케이션을 배포하고 상태를 확인한 뒤 문제가 생기면 되돌릴 수 있는지 검증했습니다.
핵심: 기술: Spring Boot WAR, Tomcat, profile, rollback
사례 읽기사용자 식별과 최신 기준이 화면, service와 data access에서 다르게 적용되지 않는지 검증했습니다.
핵심: 기술: Spring Boot, MockMvc, service/mapper boundary
사례 읽기AI를 활용해 개발하는 방식
AI를 조사, 계획, 구현과 리뷰에 활용하지만 결과를 그대로 완료로 보지 않습니다.
다른 개발자나 AI가 작업을 이어받아도 현재 상태, 제한과 검증 기준을 파악할 수 있도록 작업 규칙과 검증 근거를 함께 관리합니다.
쉽게 말하면: AI가 만든 코드와 설명도 다시 테스트하고 실제로 실행해 확인합니다.
사용하는 기술
기술 이름은 역할 자체가 아니라 문제를 해결하기 위한 구현 도구로 설명합니다.
Java, Spring Boot, Spring Security, JPA, MyBatis, Python, FastAPI
Oracle, PostgreSQL, SQL, Text2SQL/NL2SQL, LLM integration, structured output validation
Linux, Docker, Tomcat, Nginx, Jenkins, GitHub Actions, health check, rollback
공개 범위
실무 사례에는 회사 코드, 고객 데이터와 내부 식별자를 포함하지 않습니다. 독립 재현 샘플과 검증된 공개 evidence를 구분하며, 확인하지 않은 장기 운영, 성능과 팀 전체 성과는 주장하지 않습니다.