Building Services from Scratch

아이디어를 서비스로 구현하는
풀스택 개발자 이준수

회사 업무뿐만 아니라, 개인적인 아이디어를 서비스로 구현하는 개발자입니다.
인프라 구축부터 백엔드, 프론트엔드, AI 활용까지
주도적으로 문제를 해결하며 성장하고 있습니다.

Developer & Infrastructure

자체 인프라 구축 및 운영 역량

단순 코드 작성을 넘어, 개인 서버(Oracle Cloud)를 활용하여 서비스 배포, 도메인 연결, DB 관리 등 전체 인프라 라이프사이클을 직접 관리합니다.

Project Common Infrastructure

AI Infrastructure Open Source Analysis

HyperCLOVA X SEED 분석 및 환경 구축

"사내 분석 요청에 따른 오픈소스 모델 HyperCLOVA X SEED 구동 및 기술 검토를 위한 환경 구축"

구축 배경

사내에서 네이버 클라우드가 오픈소스로 공개한 HyperCLOVA X SEED 모델에 대한 기술 분석 요청을 받아 구축하였습니다. 보고 전 실제 모델의 동작 확인 및 분석을 위해
Hugging Face 를 분석, 개인 서버에 구동 환경을 구축하여 기능을 검증했습니다.

🎯 주요 수행 내용

  • 📋 오픈소스 모델 분석: SEED 모델(0.5B, 1.5B)의 파라미터 사이즈별 실제 리소스 사용량 및 추론 결과 확인
  • 📦 Hugging Face 연동: Clova X Seed 공식 저장소를 이용하여 Seed 모델 구축
  • 🛡️ Python venv 독립성 확보: 시스템 환경과의 충돌 방지 및 보고용 분석 환경의 독립성 유지를 위한 가상환경 구축
  • 🖥️ Chainlit 기반 테스트 UI 구현: 오픈소스 UI 프레임워크인 Chainlit을 연동하여 분석 결과를 시각적으로 확인하고 모델 응답을 실시간으로 검증

기술 분석 개요 (HyperCLOVA X SEED)

HyperCLOVA X SEED는 네이버 클라우드에서 오픈소스로 공개한 효율성 중심의 모델 시리즈입니다. 사내 분석 요청에 맞춰 0.5B, 1.5B 모델이 실제 리소스 환경에서 어떻게 동작하는지 확인하고, Chainlit을 사용하여 인터페이스 환경에서의 활용성을 분석했습니다.

분석 환경 구축 전략

기존 시스템 및 타 프로젝트와의 환경 충돌을 방지하고 시스템 안정성을 확보하기 위해 Python venv를 통한 의존성 격리를 적용했습니다. 특히 분석용 UI로 Chainlit을 도입하여, 모델의 성능과 응답 품질을 효율적으로 검증할 수 있었습니다.

Tech Stack

CLOVA X SEED
Python
Chainlit(UI)
Hugging Face
Architecture Stability

감사로그 시스템 구축

"서비스와 로그 시스템을 완전히 분리하여, 로그 장애가 서비스에 영향을 주지 않는 아키텍처 구현"

시작하게 된 이유 (Background)

이 프로젝트는 10년 이상 된 레거시 그룹웨어 시스템의 한계에서 시작되었습니다. 수백 개의 모듈(전자결재, 인사, ERP 등)이 있었지만, 정작 "누가 무엇을 바꿨는가"를 추적할 수 있는 기능이 전무했습니다.

  • 🚫 로그 부재: 변경, 삭제, 조회 이력이 기록되지 않음
  • 🧠 디버깅 한계: 장애 발생 시 원인 파악을 오직 SQL 로그에만 의존
  • 🔐 보안 취약: 클라우드 전환 후 감사 추적(Audit Trail) 필수 요구

🎯 프로젝트 목표

기존 비즈니스 로직 수정 없이(AOP), 등록/수정/삭제/조회 행위를 자동으로 기록하고, 일자별/모듈별로 검색 가능한 인덱스 구조를 설계하는 것이 목표였습니다.

System Architecture

Spring Boot (AOP) Async Queue Worker Thread Fluent Bit OpenSearch
Hybrid Search Reranking

채용 사이트 크롤링 + AI 추출 파이프라인

"DOM Pre-processing으로 토큰 비용을 최적화한 채용공고 크롤링 플랫폼"

시작하게 된 이유 (Background)

이직을 준비하면서 여러 채용 사이트(사람인, 잡코리아, 원티드 등)와 기업별 커리어 사이트를 일일이 확인하는 것이 너무 번거로웠습니다. "흩어진 채용 공고를 한곳에서 모아보고 싶다"는 개인적인 니즈에서 출발한 프로젝트입니다.

🎯 프로젝트 목표

단순 크롤링을 넘어, 사이트마다 제각각인 HTML 구조에 의존하지 않고, AI를 통해 핵심 정보(기술스택, 자격요건 등)를 표준화된 JSON으로 추출하여 나만의 채용 대시보드를 구축하는 것이 목표였습니다.

System Architecture

Vue 3 Client Python (Selenium) DOM Pre-processor Gemini API (Parser) Vector DB + Reranker
Side Project Knowledge Base

웹 가이드 (WebGuide) 프로젝트

"AI 임베딩(Semantic)PGroonga(Keyword)의 장점을 결합하여 검색 성능을 극대화한 엔터프라이즈 지식 관리 시스템"

시작하게 된 이유 (Background)

현재 재직 중인 회사의 서비스는 기능이 매우 방대했지만, 정작 사용자가 참고할 수 있는 통합 가이드/매뉴얼 사이트가 부재했습니다. "이런 기능이 있으면 업무가 훨씬 편해지지 않을까?"라는 단순한 아이디어로 시작한 개인 사이드 프로젝트입니다.

🎯 프로젝트 목표

단순한 게시판이 아닌, 엔터프라이즈 환경에서 실제로 쓸 수 있는 수준의 SaaS형 지식 관리 시스템(Knowledge Base)을 직접 기획하고 구축해보는 것이 목표였습니다.

Vue 3 SPA Spring MVC PostgreSQL + PGroonga
Jenkins CI/CD Spring Automation

Spring Framework 자동 빌드 및 배포 시스템 구축

"크롤링 시스템과 웹가이드 프로젝트의 Spring WAR 파일 자동 빌드 파이프라인 구축을 통한 생산성 향상"

Jenkins 도입 및 Spring 자동화 성과

🛠 도입 이전 (수동 환경)

  • 개별 로컬 빌드: 개발자가 직접 WAR 파일을 생성하여 서버로 전송
  • 배포 지연: 다수의 Spring 프로젝트를 수동으로 배포하며 불필요한 공수 발생

🚀 도입 이후 (Jenkins 자동화)

  • 원클릭 빌드: Jenkins 서버에서 Maven/Gradle을 이용해 순수 WAR 자동 생성
  • 운영 안정성: 빌드 성공 여부를 대시보드에서 즉시 확인하여 안정적인 배포 유지
Node.js Developer Linux Admin DevOps

오픈소스 커스텀 구축 및 유지보수 (Rocket.Chat)

"인프라 제약을 넘어 PM2 프로세스 관리와 소스 수정을 통한 안정적 서비스 운영"