← 목차

포트폴리오

하완수 · 풀스택 개발자 — 개인 프로젝트와 회사 시스템 작업.

Personal Project

Kosmogram

1인 풀스택 — 기획·설계·FE·BE·인프라·운영 · 라이브 서비스 중
● Live

노노그램을 풀어 자기 영지를 가꾸는 협력 모자이크 웹게임. 노노그램 풀이 엔진, 토러스 무한 월드, 이중 통화 경제 등 알고리즘·게임 수학·동시성까지 다뤘다. 기획·아키텍처·기술 선택은 직접 결정하고, 세부 구현은 AI 페어로 가속했다.

핵심 도전

노노그램 풀이·출제 검증

5~10 가변 화판의 풀이 수를 판정(2~5개는 연작 흡수). 라인 시뮬레이션으로 난이도 별점(1~5)·라벨(universal·color_only·mono_only·maniac·reject 5종)을 매기고, 거부 시 1셀 자동수정을 제안. 완전 동일 그림은 canonical SHA-256으로 차단(회전·반사는 별개).

solveAll(hints, size, 6) // 1=단일·2~5=연작·6+=거부 (size 5~10) // 출제검증(PVS) p99: 5×5<5ms·10×10<100ms · CI 회귀 게이트

토러스 무한 월드 — 엔진 없이 직접 렌더

좌표가 wrap되는 도넛 평면. 거리는 짧은 경로, 겹침은 wrap 경계까지 검사. 세계=SVG/DOM 직접 렌더, UI=React.

torusDelta(95,5,100)===10 // 직선 -90 대신 wrap +10

협력 경제 — 장부·동시성

모든 통화 변동을 장부 1행으로 원자적 기록. 더블스펜드는 조건부 감산으로 차단.

UPDATE ... SET bal = bal - :n WHERE bal >= :n -- 0행이면 롤백

군집 인식 연결망

영지들이 자연스러운 도시처럼 뭉치도록, 토러스-MST 백본에서 가까운 간선만 군집으로 묶고 군집 사이는 다리 하나로 잇는다. 같은 군집 안은 Gabriel 기반 근접 그래프(차수 상한)로 촘촘히.

MST(rest 가중) → 군집 = rest ≤ dLocal 연결요소 // intra: Gabriel(같은 군집) ∪ bridge: 군집쌍당 1 // 라이브 렌더에서 실제 호출 (gameWorld.ts)
테스트 133Prisma 27 모델API 라우트 15 5패키지 모노레포커밋 842~55,000 LOC Live (2026.06 기준)
React 18 · SVG/Canvas · Zustand · TanStack Query · Fastify · Prisma · SQLite · Zod · Clerk · Fly.io · Cloudflare · GitHub Actions
Team Project · 카카오클라우드 AIaaS 마스터 클래스

T-Curity — 티켓팅 봇 방지 2-Phase CAPTCHA

티켓팅 매크로·봇을 막는 행동 기반 2단계 CAPTCHA 서비스. 전체 구조 설계를 주도하고, 클라이언트 SDK와 데모 티켓사이트를 직접 구현했다.

※ 팀 프로젝트(t-curity). 본인 담당 = 시스템 설계 주도 + 클라이언트 SDK·데모(프론트). 백엔드·AI 모델은 팀원.

★ = 직접 설계·구현

2-Phase 행동 검증 — 프론트 비신뢰 → S2S

사용자 행동을 클라이언트가 캡처·인코딩하고, 최종 검증은 서버 간(S2S) 통신으로만 수행.

사용자 행동드로잉 · 선택
CAPTCHA SDK ★TS · Phase A/B · 무의존성
행동 캡처·인코딩 ★포인터·궤적 · 타입 계약
백엔드 S2S 검증FastAPI · 팀
AI 봇탐지Isolation/Random Forest · 팀
  • 전체 구조 설계 주도 — 2-Phase · "프론트 비신뢰" S2S 검증 모델
  • 클라이언트 SDK(TypeScript·무의존성) 주 작성 — Phase A(캔버스 드로잉) + Phase B(이미지 선택), 포인터·궤적 행동 캡처→인코딩, 타입 계약·정책(비활성 타임아웃·한도)·Mock 클라이언트
  • 데모 티켓사이트(React 19·Vite·Tailwind) — 예매·대기열·SDK 통합·GitHub Pages CI/CD
Company Work

앱테스트에이아이 — 시스템 개념도

원격 테스트 플랫폼 ReX(Windows 호스트 에이전트)에서 담당한 분산 업데이트·실시간 미러링·세션 격리.

※ 사내 기밀 구조(내부 토폴로지·식별정보)는 제외하고 역할·데이터 흐름만 추상화했습니다.

★ = 직접 설계·구축한 컴포넌트

분산 자동 업데이트 (풀스택)

에이전트와 디바이스 관리 서버의 상태를 WebSocket으로 동기화.

에이전트 ★C# .NET
↔ WebSocket ↔
디바이스 관리 서버 ★Python
디바이스 상태점유 → 가용
  • update_completed(WebSocket) 수신 시 디바이스 상태(점유→가용)를 전환하는 분산 상태머신을 C#·Python 양쪽 구현
  • 버전 무변경(이미 최신) 등 엣지 케이스 처리 · 진행률 GUI 업데이터

빌드·코드 서명·배포 파이프라인

데스크톱 클라이언트의 빌드부터 서명·인스톨러·릴리스까지.

소스 빌드C#/.NET
코드 서명 ★SafeNet USB · DigiCert
Inno Setup 인스톨러 ★restartreplace · 다국어
배포 · 릴리스v1.7.6.x 주도
  • 코드 서명 자동화 — SafeNet USB 토큰 + DigiCert 통합, 운영 가이드(CODESIGN.md) 정립
  • 인스톨러 — 설치 마법사 다국어, 파일 잠금 시 restartreplace, LOCAL/REMOTE 모드 서비스 등록·중지 순서
  • v1.7.6.1 → .18 빌드·릴리스 주도 운영(18회)

원격 미러링·실시간 통신

화면 캡처를 WebRTC로 원격 전송, 양방향 클립보드.

화면 캡처 ★WGC
WebRTC ★ICE · 시그널링 · DataChannel
원격 뷰어
  • 캡처 제외 플래그 동적 토글로 미러링 회귀 수정, ICE 실패 추적 → 방화벽 차단 규칙 원인 발견
  • 성능 캡처 타임아웃을 PerformanceCounter 프리웜업으로 해소, WGC Win10/11 화질 PSNR +12dB·OCR +47%
  • WebRTC DataChannel 양방향 클립보드(SCTP 청킹·Echo 방지·역유출 차단)

브라우저 세션 격리

공유 테스트 기기의 사용자 간 세션 누출 차단.

디바이스 임대회수 · 준비
세션 정리 ★멀티 프로필 · Local State
깨끗한 다음 세션
  • 임대 경계(회수·준비)에서 브라우저 세션 데이터(멀티 프로필·Local State·Secure Preferences)를 정리해 사용자 간 세션 누출 차단
Company Work

이지케어텍 — 시스템 개념도

전국 17개 병원이 쓰는 의료 EMR에서 담당한 백엔드·시스템 통합 작업.

※ 사내 기밀 구조(실제 토폴로지·기관 식별정보·IP 등)는 제외하고, 역할과 데이터 흐름만 추상화했습니다.

★ = 직접 설계·구축한 컴포넌트

협력업체 프록시 서버

망분리 환경에서 협력업체 요청을 인증·중계하는 프록시.

협력업체외부
방화벽 · 망분리
프록시 서버 ★C#/.NET · 토큰 인증
Mirth Connect메시지 연동
내부 EMR
  • REST API 설계와 망분리·방화벽 정책 수립
  • 접근 권한용 토큰 발급·인증, 진료대기 전광판 Mirth 연동
  • 스트레스 테스트·에러 추적

공공기관 프록시 서버

DUR·HIRA·공단·CDC 등 공공기관 연동을 중계하는 프록시.

공공기관DUR · HIRA · 공단 · CDC · KICA
고정 IP · 방화벽
공공기관 프록시 ★C#/.NET · WSDL · REST
내부 EMR
  • 망분리 설계, DUR·HIRA Broker 연동
  • 공단 자격조회 WSDL · CDC(예방접종) 서비스 연동
장애 복구 사례 — KICA 서버 3대 중 2대 장애로 병원 업무가 중단됐을 때, 연동이 유동 IP에 의존해 장애 서버로 연결되던 것이 원인임을 진단. 정상 서버 고정 IP로 전환해 임시 복구하고, KICA 장애 해소 후 원래 구성으로 롤백해 정상화.

주변기기용 로컬 웹서버

브라우저 EMR이 로컬 주변기기를 제어하도록 중계하는 로컬 서버.

EMR 브라우저프론트
↔ WebSocket/TCP ↔
로컬 웹서버 ★C#/.NET
주변기기VAN 결제 · 사인패드
프린터 · 인증서
  • WebSocket·TCP 통신 설계·구현
  • VAN 결제·사인패드·인증서 로그인·HIRA·구 EMR 연동
  • 프린터·메신저·라이브 업데이트 연동

라이브 업데이트

자사 프로그램의 버전 관리·자동 업데이트·롤백.

배포 서버버전 · 패키지
업데이트 클라이언트 ★WPF · C#/.NET
버전 체크변경 감지
다운로드 · 교체 · 재시작
  • 실행 시 파일 버전·변경 사항 체크 후 자동 업데이트·실행
  • 배포·롤백 관리 시스템 구축