안녕하세요, 엄태영입니다.

윈도우 데스크탑 애플리케이션과 백엔드 서버 개발을 주로 합니다.
사용자 경험을 중시하며 안정적이고 유지보수가 쉬운 코드를 지향합니다.

윈도우 개발
무인주문 키오스크
2018.10 – 2026.04
바나프레소 키오스크 스크린샷
C# WPF MVVM ASP.NET Core
매장형 통합 주문 관리 시스템 플랫폼 구축 솔루션중 무인 주문 KIOSK를 개발 담당 하였습니다. UI/UX를 고려하여 캐시화, 비동기 처리를 사용해서 성능 최적화를 진행했고 여러 매장에서 운영 중인 키오스크를 통합 관리하는 키오스크 관제 서버를 같이 개발 하였습니다.
  • 유지보수 고려 MVVM 아키텍처 도입
  • 비동기 기반 데이터 로드 및 처리
  • 캐시화
  • 다양한 결제수단 관리 및 처리 (Chain of Responsibility Pattern)
  • 로컬 결제 관련 트랜잭션 처리 (결제 정보 redo log/undo log 사용)


  1. 실시간 원격 컨트롤
  2. 장애 발생 또는 긴급 롤백 등 원격으로 키오스크를 제어해야 하는 상황에서 SignalR을 활용한 실시간 양방향 통신 시스템을 구축하여, 중앙 관제 서버에서 개별 키오스크의 상태를 모니터링하고 즉각적으로 명령을 전달할 수 있도록 구현했습니다.
  3. HID 장비 연동
  4. 높낮이 리니어 장비 연동 처리가 단순한 시리얼통신이 아닌 장비 드라이버 레벨에서의 통신이 필요했는데, C#에서 P/Invoke를 활용해 Win32 API를 직접 호출하여 HID 장비와 안정적으로 통신하는 인터페이스를 개발했습니다.
주문관리 및 결제 POS
2020.09 – 2024.04
바나프레소 푸드프로 스크린샷
C# WPF MVVM
매장형 통합 주문 관리 시스템 플랫폼 구축 솔루션중 주문 처리 및 결제 POS를 개발 담당 하였습니다. 외부 배달 플랫폼과 자체 처리 연동 및 주문 내역 가시성을 고려한 커스텀 주문 카드 UI개발, 주문 카드 그리드 UI 개발을 진행 하였습니다.
  • 유지보수 고려 MVVM 아키텍처 도입
  • 비동기 기반 데이터 로드 및 처리
  • 외부 배달 플랫폼 연동

외부 배달 플랫폼에서 공식으로 지원되는 API가 없어, 자체 기술로 배달 정보를 수집하고, 파싱하여 데이터를 가공해서 사내 주문 처리 시스템과 연동하는 솔루션을 개발했습니다.
백신 중앙관리 솔루션
2016.05 – 2018.09
하우리 VMS5.0 스크린샷
C# WPF MVVM Winform TypeScript Node.js Express MSSQL PostgreSQL
기업 및 관공서에서 사용 되는 백신 중앙관리 솔루션 입니다. 각 직원들의 PC에 백신 프로그램 & 에이전트가 설치 되어 있고 중앙관리 솔루션에서 바이러스 검사 스케줄링, PC제어, 방화벽 제어, 프로그램 사용 정책 적용 및 관리 등 통합으로 관리하는 솔루션을 개발 및 유지보수 담당 하였습니다.
  • 유지보수 고려 MVVM 아키텍처 도입 (WPF)
  • CAB (Composite UI Application Block) 설계

고객사 별로 납품되어 설치 되는 솔루션이 제공되는 기능에 따라 완젼히 UI가 달라지는 부분이 있습니다. 이러한 부분에 있어 효율적으로 처리할 수 있는 좋은 구조를 고민하면서 CAB (Composite UI Application Block) 방식으로 구조를 바꿔 신규 버전에 대해 개발 방향을 잡고 진행 했습니다. 고객사 별로 커스텀하게 UI 요소 및 기능 처리를 모듈 단위로 처리해서 유지보수 향상에 큰 도움이 된 경험이 있었습니다. 더불어 이번 프로젝트를 통해 처음 프로그램 설계와 구조 방향 선택이 유지보수에 있어 얼마나 큰 영향을 끼치는지 다시한번 몸소 깨닫게 되었습니다.
망 분리 시스템 관리 솔루션
2015.06 – 2016.04
🖥️ 기업 보안상 스크린샷 미제공
C# WPF MVVM Thrift DevExpress
내부.외부 망이 분리되어 있는 환경에서 보안 처리로 망 연계 처리에 대해 통합 관리 해주는 솔루션 입니다.
  • 서버와 RCP 통신 처리
  • 유지보수 고려 MVVM 아키텍처 도입
  • 비동기 기반 데이터 로드 및 처리

서버와 통신시 보안 프로토콜 SSL 적용을 하는데 WPF 클라이언트 담당인 저는 닷넷 에서 TCP통신시 SSL 처리를 하는 방법이 어려웠습니다. 그 이유는 닷넷에서는 C++과 달리 개별 프로세스에서 SSL 핸드쉐이크 처리 과정에 있어 Cipher List를 설정할 수 있는 방법이 없기 때문이었습니다.
당시 관련 질문 링크 : [.NET Framework: 646. SslStream의 CipherAlgorithm 선택이 가능할까요? (sysnet.pe.kr)]

레지스트리 조작을 통해 SSL Cipher List를 설정하면 OS 전역 설정으로 반영 되어 기타 다른 프로그램이 제대로 동작되지 않는 문제가 발생되고 있는 상황이었습니다. 계속해서 방법을 모색하고 인터넷 자료를 확인해보고 최종 결론으로는 닷넷 자체적으로는 해결 방법은 없다고 결론 짓고 C++로 만들어진 OpenSSL 라이브러리를 CLI로 래핑해서 C#에서 사용할 수 있도록 처리해서 해결한 경험이 있습니다. C++에 익숙하지 않아 C++과 CLI문법 등을 찾아가면서 힘들게 해결 했었던 기억이 크게 남아 있습니다.
백엔드 서버
주문 서버
2024.10 – 현재
🔌아키텍처 다이어그램 추가 예정
TypeScript Node.js Nest.js MSSQL RabbitMQ MSA 설계 CQRS 도입 WebSocket Jenkins
PC 및 모바일 주문 사이트 백앤드 서버 개발 담당 하였습니다. 기존 네이티브 모바일, 키오스크 주문을 처리하는 TCP Raw Socket 방식의 레거시 서버를 대체해서 Web restful API 서버로 재개발 하였습니다. 사이트에서 배달 주문에 대해 실시간 위치 등을 처리 하기 위해 웹소켓 기반 실시간 통신 처리를 구현했고,
현재 매장수가 급격히 늘어나는 추세로 추후 트래픽 증가 대비에 데이터 분산 처리 구조 개편을 고려 하고 있습니다. (CQRS 패턴 도입)
  • MSA 아키텍처 (API Gateway, 상품 서비스, 주문 서비스, 결제 서비스)
  • CQRS 패턴 도입 (Read/Write 분리)
  • GitHub Actions CI/CD + Docker Compose 자동 배포

서비스 특성상 사용자가 몰리는 피크 시간에 서버 부하가 발생하여, 서버 확장성과 성능을 고려한 대응 방안을 마련했습니다. 특히 주문 처리 시점에 DB 부하를 줄이기 위해 캐싱 전략을 도입하고, CQRS 패턴으로 읽기/쓰기 작업을 분리하여 데이터베이스의 부하를 효과적으로 분산시켰습니다. 또한 주문 처리 과정에서 문제 발생시 트랜잭션 롤백과 보상 처리 메커니즘을 구현하여, 데이터 일관성을 유지하면서도 사용자 경험을 저해하지 않도록 설계했습니다.
키오스크 통합 관리 서버
2024.11 – 2025.02
🔌아키텍처 다이어그램 추가 예정
C# ASP.NET Core MSSQL SignalR
여러 매장에서 운용중인 키오스크를 중앙에서 통합 관리하는 서버 입니다.
키오스크 장애 발생시 긴급 롤백, 원격 재시작, 로그 수집 등 기능을 제공하기 위해 SignalR을 활용한 실시간 양방향 통신 시스템을 구축하여,
관리 서버에서 개별 키오스크의 상태를 모니터링하고 즉각적으로 명령을 전달할 수 있도록 구현했습니다.
  • SignalR을 활용한 실시간 양방향 통신
  • Layerd 아키텍처 적용 (Controller → Service → Repository)
전자서명 서버
2025.03 – 2025.12
OLOBBY 전자서명 아키텍처 구조
TypeScript Node.js Nest.js PostgreSQL RabbitMQ PDF Lib MSA 설계 Docker AWS ECS AWS S3
전자 서명 처리를 위한 백앤드 서버를 제로 베이스 부터 설계 및 총괄 개발을 담당 하였습니다.
보안과 신뢰가 중요한 서비스 도메인으로 사용자의 행동 감사 추적 로깅 처리 및 위.변조 시스템을 고려하면서 개발 했습니다.
또한 MSA 설계로 각 서비스간 원활한 통신을 위해 메세징 기반을 채택하고, 트랜잭션 보상 처리 부분을 견고하게 처리 했습니다.
  • MSA 아키텍처 (API Gateway, 전자서명 서비스, 메일 서비스, 알림 서비스)
  • Layerd 아키텍처 적용 (Controller → Service → Repository)
  • 사용자 서명 감사 추적 로깅 처리
  • P12 인증서 서명 처리

계약 문서 위.변조 처리에 대해 단순히 해시값 비교만 했을 경우 국외 전자서명법에 만족하지 않고, 확율상 해시 충돌까지 고려해야 했습니다.
이 부분을 P12 인증서를 사용한 사이닝 처리 + 자체 해시 알고리즘 결합을 통해 위.변조 검증 시스템을 구현 하였습니다.
위.변조, 검증 부분이 중요한 서비스 도메인이었기 때문에, 상세한 로그 처리 부분에 대해 고려하며 개발 하였습니다.