정운직 프로필
Who will work for me if I don't work for myself

개발자 정운직입니다

성능 병목을 발견하면 원인을 파악하고 개선하는 과정을 즐깁니다.

데이터 기반으로 문제를 정의하고, 측정 가능한 방식으로 해결합니다.

서울특별시 구로구
010-6550-5226dnswlrsla@gmail.com

Tech Stack

C++
C++
C#
C#
Java
Java
TypeScript
TypeScript
JavaScript
JavaScript
React
React
Nextjs
Nextjs
WPF
WPF
C++
C++
C#
C#
Java
Java
TypeScript
TypeScript
JavaScript
JavaScript
React
React
Nextjs
Nextjs
WPF
WPF
NestJS
NestJS
Nodejs
Nodejs
Express
Express
MySQL
MySQL
SQLite
SQLite
Redis
Redis
TypeORM
TypeORM
NestJS
NestJS
Nodejs
Nodejs
Express
Express
MySQL
MySQL
SQLite
SQLite
Redis
Redis
TypeORM
TypeORM
OpenCV
OpenCV
Docker
Docker
Nginx
Nginx
CMake
CMake
Win32-API
Win32-API
Github-Actions
Github-Actions
Firebase
Firebase
OpenCV
OpenCV
Docker
Docker
Nginx
Nginx
CMake
CMake
Win32-API
Win32-API
Github-Actions
Github-Actions
Firebase
Firebase
Prometheus
Prometheus
Grafana
Grafana
k6
k6
Github
Github
Git
Git
Notion
Notion
Prometheus
Prometheus
Grafana
Grafana
k6
k6
Github
Github
Git
Git
Notion
Notion

Featured Projects

LOLFIGHT
Nest.jsTypeScriptTypeORMMySQLRedisNginxDockerGithub ActionsNext.jsTailwindcssPrometheusGrafana
LOLFIGHT

LOLFIGHT

롤파이트는 League of Legends의 사설 스크림 플랫폼 입니다. 수준 높은 스크림 게임을 즐길 수 있도록 하며, 실력 있는 유저의 스크림 서비스를 제공하고 PC방 대회와 사설 리그는 아우르는 통합 스크림 플랫폼 서비스를 목표로 개발했습니다.

Problems & Solutions
SCROLL

Q.Riot Esports API 응답 지연 개선

리그 정보/순위/일정 데이터 Redis 캐싱 및 TTL 차등 적용(10분~6시간), 순차 호출되던 리그별 스케줄 API를 Promise.all 기반 병렬 구조로 개편

Q.스크림 서비스 부하 테스트

순차적 DB 조회/저장을 Promise.all 기반 병렬 처리로 변경, k6를 활용한 부하 테스트로 성능 검증

Q.Next.js 웹 성능 최적화

폰트 WOFF2 변환(6.5MB→2MB), Firebase/Toast UI 에디터 동적 import, next.config.js 이미지 최적화 설정, React.memo를 통한 BoardSection 메모이제이션, 이미지 priority/sizes 속성 추가, BetModal 에러 상태 처리

GersangTracker
.NET 10C#WPFMVVMOpenCVTesseract OCRSQLiteEF Core
GersangTracker

GersangTracker

온라인 게임 '거상'의 아이템 드랍을 실시간으로 감지하여 수익 및 사냥 효율을 자동 계산하는 WPF 기반 데스크톱 애플리케이션입니다.

Problems & Solutions
SCROLL

Q.Tesseract OCR 인식률 저하 및 오인식

게임 특유의 폰트와 배경색으로 인해 기본 OCR 인식률이 실사용 불가 수준으로 낮았습니다. OpenCV 기반 전처리 파이프라인(3배 확대, HighQualityBicubic 보간, 이진화)을 구축하고 Levenshtein 알고리즘을 도입해 유사도 매칭으로 오타를 자동 보정하여 인식 성공률을 95% 이상으로 끌어올렸습니다.

Q.UI와 비즈니스 로직의 강한 결합

초기 구조에서 OCR 처리·DB 접근 로직이 코드비하인드에 혼재되어 유지보수와 테스트가 불가능했습니다. CommunityToolkit.Mvvm 기반 MVVM 패턴을 전면 도입하여 OcrService·DatabaseService를 ViewModel에서 분리하고 단위 테스트 가능한 구조로 개선했습니다.

Q.1초 주기 캡처 루프의 UI 쓰레드 차단

이미지 처리 작업이 메인 UI 스레드에서 동기 실행되어 화면 버벅임이 발생했습니다. Task 기반 비동기 루프로 전환하고 관심 영역(Crop)만 처리하도록 최적화하여 CPU 점유율을 낮추고 매끄러운 UI 응답성을 확보했습니다.

C++20Win32 APIETWPDHGDI+MultithreadingCMake
Rastreador

Rastreador

Windows 커널 수준의 ETW 이벤트를 직접 핸들링하여 프로세스별 CPU·Memory·Network 사용량을 실시간 추적하고, 클릭 통과(Pass-through) 투명 오버레이 UI로 렌더링하는 C++ 네이티브 시스템 모니터링 도구입니다.

Problems & Solutions
SCROLL

Q.프로세스별 실시간 네트워크 사용량 측정 불가

일반 Win32 API(GetExtendedTcpTable 등)는 현재 연결 상태만 반환할 뿐, 프로세스 단위의 실시간 대역폭을 제공하지 않습니다. Windows 커널의 ETW 세션을 직접 열어 네트워크 패킷 이벤트를 수신하고, 이벤트 헤더에서 PID를 추출하여 PID별 수신량을 누적하는 ETWMonitor를 구현해 정밀한 프로세스 단위 대역폭 측정을 실현했습니다.

Q.멀티스레드 환경에서의 데이터 경합 및 UI 지연

1초 주기의 수집 루프와 렌더링 루프가 동일한 메모리에 동시에 접근하면 데이터 경합이 발생합니다. ETW 콜백 데이터에 더블 버퍼링(s_pidBytes[2]) 구조를 적용하고 스왑 방식으로 Lock 구간을 최소화했으며, 수집·렌더링 스레드를 완전히 분리하여 UI 프리징 없는 오버레이를 구현했습니다.

Q.누적 CPU 시간 기반 실시간 점유율 산출

Windows는 프로세스 CPU 사용률을 직접 제공하지 않고 누적 커널·유저 시간만 반환합니다. 이전 주기의 CPU 틱을 캐싱하고 현재 값과의 차분(Delta)을 경과 실시간으로 나누는 수식을 직접 구현하여 작업 관리자 수준의 신뢰도를 달성했습니다.

Career

2024.12 — 2025.05

법인 이사 / Lead Developer - [ 주식회사 헤드버트 ]

자회사 플랫폼의 Next.js 기반 반응형 UI/UX 개발 및 백엔드 API 연동을 총괄했습니다. NestJS 기반의 서버 아키텍처 설계와 DB 로직 개발을 주도하였으며, 정부지원사업을 위한 서비스 프로세스 및 데이터 흐름 시각화를 담당했습니다.

Next.jsNestJSArchitecture DesignStrategic Planning
2023.07 — 2024.02

Software Engineer (국가근로) - [ 유니팅 ]

외주 프로젝트 'FIST'의 NestJS 백엔드 구축과 Socket.io를 활용한 실시간 통신 기능을 개발했습니다. Flutter 기반 안드로이드 앱 개발 및 React와 TypeScript를 활용한 디자인대학 졸업 작품 등의 다양한 웹 프로젝트 UI/UX와 퍼블리싱을 수행했습니다.

NestJSSocket.ioFlutterReactTypeScript

Education

2026.02 — 2026.07Education

KOSTA-AI를 활용한 Node.js와 JavaScript 기반 웹 개발자 양성

C/C++을 활용한 저수준 프로그래밍부터 Modern JS/TS 기반의 풀스택 개발 역량을 체계적으로 습득했습니다. 자료구조와 알고리즘 등 SW 기초 체력을 바탕으로 실무 프로젝트를 수행하며 응용력을 길렀습니다.

2018.02 — 2024.02Academic

계명대학교 컴퓨터공학 학사 (Bachelor of CS)

컴퓨터공학 전공 학사 과정을 통해 운영체제, 네트워크 등 시스템 전반의 핵심 이론을 습득했습니다. 학위 과정 동안 다져진 CS 지식을 바탕으로 복잡한 기술적 문제를 구조적으로 해결하는 역량을 길렀습니다.

Certification

SQL 개발자 (SQLD)

한국데이터산업진흥원 (KDATA)
2024.09.20

정보처리기사 (Information Processing Engineer)

한국산업인력공단 (Q-Net)
2024.06.18