Backend Developer


About Me.

"시스템 구조를 보는 눈으로, 근본적 해결책을 설계하는 개발자"

안녕하세요. 체계적인 시스템 분석과 원칙 기반 개발을 통해 지속 가능한 소프트웨어를 만드는 백엔드 개발자 노건우입니다.

단순한 기능 구현을 넘어서, 시스템의 근본 구조와 문제의 본질을 파악하여 장기적으로 확장 가능하고 유지보수가 용이한 솔루션을 설계하고 구현하는 것을 추구합니다.


개발 철학 및 접근 방식

구조 중심의 체계적 개발

  • 아키텍처 우선 설계: 코딩보다 시스템 구조와 데이터 플로우 설계에 충분한 시간을 투자
  • 원인 기반 문제 해결: 표면적 증상이 아닌 시스템 구조적 근본 원인을 분석하고 해결
  • 표준 기반 일관성: 업계 표준과 팀 컨벤션을 준수한 예측 가능하고 확장 가능한 코드 작성
  • 지속적 품질 향상: 개발 과정에서 지속적인 리팩토링을 통해 코드 품질을 단계적으로 개선

원칙 기반 개발 문화

  • RESTful API 설계 원칙: 자원 중심의 명확한 API 설계와 HTTP 메서드의 의미적 사용
  • 모듈화된 아키텍처: 독립적이고 재사용 가능한 컴포넌트 설계로 시스템 확장성 확보
  • 타입 안전성: TypeScript 기반 정적 타입 검사로 런타임 오류 방지 및 개발 효율성 향상
  • 테스트 가능한 코드: 의존성 주입과 관심사 분리를 통한 테스트 친화적 구조 설계

기술적 성장과 실무 적용

학습-적용-개선의 순환 구조

최신 기술 트렌드를 단순히 학습하는 것을 넘어서, 실제 프로젝트에 적용하고 비즈니스 가치로 연결하는 것에 집중합니다.

최근 기술 도입 및 성과:

  • NestJS 도입: Express.js에서 NestJS v11로 전환하여 의존성 주입과 모듈화된 아키텍처 구현
  • Prisma ORM 적용: Raw SQL에서 Prisma로 전환하여 타입 안전성과 개발자 경험 대폭 향상
  • TypeScript 전면 도입: 런타임 오류를 컴파일 타임에 방지하고 코드 품질 향상
  • React 18 + 상태 관리: Redux Toolkit과 React Query를 활용한 복잡한 클라이언트 상태 관리

실무 중심의 기술 선택

새로운 기술을 도입할 때는 항상 **"왜 이 기술을 선택해야 하는가?"**에 대한 명확한 근거와 기대 효과를 정의하고, 실제 프로젝트 적용을 통해 검증합니다.


협업과 소통

코드로 소통하는 개발자

  • 자기 문서화 코드: 주석보다는 명확한 네이밍과 구조로 의도를 전달하는 코드 작성
  • 일관된 코딩 스타일: 팀 내 컨벤션과 ESLint/Prettier 규칙을 통한 일관성 있는 코드베이스 유지
  • 점진적 개선: 급진적 변화보다는 단계적 리팩토링을 통한 안정적인 시스템 개선
  • 지식 공유: 새로운 기술 도입 시 팀원들과 학습 내용과 적용 경험을 적극적으로 공유

기술은 수단이고, 목표는 사용자와 비즈니스에 실질적 가치를 제공하는 것입니다. 원칙을 지키면서도 실용적인 해결책을 제공하는 개발자가 되겠습니다.



Tool & Skill.

Language

  • Javascript
  • Typescript

FE/BE

  • Node.js
  • Nestjs
  • React

Infra/DB

  • MySQL, MariaDB, MSSQL, Postgre
  • Prisma ORM
  • Docker
  • AWS EC2

ETC

  • Git
  • Jetbrain


Project.

기상 관측 데이터 통합 API 시스템

우보재난시스템 /

백엔드 개발

2025.05-2025.09

제주도 기상관측 데이터를 제공하는 API

프로젝트 인원: 1명

기술스택: NestJS v11, TypeScript, Prisma ORM, MariaDB


프로젝트 개요

제주도 기상 관측 데이터 통합 API 시스템 구축

  • 데이터 표준화: 제주도 전역 94개 관측소의 서로 다른 데이터 구조와 형식을 하나의 일관된 API로 통합
  • 대용량 시계열 데이터: 1분/10분/1시간 단위로 수집되는 강우량, 적설량 등 대용량 시계열 데이터의 효율적 처리
  • 실시간 성능 요구사항: 외부 시스템에서 실시간으로 호출되는 API의 응답 속도 최적화 및 안정성 확보
  • 확장 가능한 설계: 향후 추가 관측소 및 새로운 관측 항목 확장을 고려한 유연한 아키텍처 설계

핵심 성과

  • RESTful API 설계: 실시간 환경 센서 데이터 제공 API 구축
  • 로깅 시스템: Winston 기반 일별 로그 순환 및 HTTP 요청 추적 구현
  • 데이터 최적화: 제주도 94개 관측소 시계열 데이터 효율적 관리
  • 데이터 통합: 각기 다른 구조의 데이터를 하나의 구조로 통합하여 RESTful API 시스템 제공

API 아키텍처 & 성능 최적화

  • 모듈화 설계: NestJS 표준 패턴 (Controller-Service-DTO) 적용
  • 데이터 검증: class-validator 기반 입력 데이터 유효성 검증
  • 복합키 처리: 관측소 코드 + 날짜 기반 효율적 데이터 조회
  • 응답 구조: 중첩 없는 평면화된 JSON 구조로 클라이언트 성능 최적화

시계열 데이터 관리

  • 대용량 처리: 연도별 파티셔닝을 통한 빅데이터 효율 관리
  • 실시간 API: 강우량/적설량 1분, 10분, 1시간 단위 데이터 제공
  • 자동 조인: 시계열 데이터와 관측소 정보 관계형 자동 조인
  • 성능 튜닝: 인덱싱 최적화 및 쿼리 성능 개선


재난방재 통합관제플랫폼

우보재난시스템 /

풀스택 개발 및 프로젝트 리드

2024.01-2025.04

재난방재를 위한 통합 모니터링 관제 플랫폼

프로젝트 인원: 3명

Backend Stack: Node.js v22, TypeScript, Express.js v5, MySQL(MariaDB)

Frontend Stack: React 18, TypeScript, Material-UI v7, Redux Toolkit, Vite, React Query


프로젝트 개요

재난방재 통합관제플랫폼의 레거시 플랫폼(PHP/C# 기반)을 모던 풀스택 아키텍처로 완전 재구축

  • 구형 시스템 재구축: PHP/HTML5/Javascript/CSS/C# -> React/Node.js로 MVC패턴을 준수하여 개발
  • 개발 규모: 백엔드(Node.js) + 프론트엔드(React) 풀스택 개발
  • 비즈니스 임팩트: 기존 시스템에 비해 사용자 만족도 및 시스템 성능 대폭 향상으로 관급 기관들로부터 긍정적 평가

레거시 시스템 분석 및 모더나이제이션

  • 레거시 분석: 기존 PHP/C# 기반 시스템의 비즈니스 로직, 데이터 플로우, API 구조 전체 분석
  • 기술 스택 전환: 구형 기술에서 Node.js/React 모던 스택으로 완전 마이그레이션
  • 아키텍처 재설계: 모놀리식 구조를 백엔드/프론트엔드 분리형 아키텍처로 전환
  • 성능 최적화: 레거시 대비 응답속도 70% 향상, 메모리 사용량 50% 절약 달성

백엔드 개발

처음부터 끝까지 설계 및 구현

  • Express.js v5 서버: TypeScript ES 모듈 기반 고성능 웹 서버 아키텍처 구축
  • RESTful API 설계: 15개 모듈 (auth, admin, alert, data-api, map-api, dashboard-api, equip, gate, display, sms 등)
  • JWT 보안 시스템: httpOnly 쿠키 기반 보안 인증, CORS/Helmet.js 보안 미들웨어 구현
  • 데이터베이스 스키마 재설계: 재난방재 표준 데이터베이스 재설계, 대용량 데이터 조회를 위한 튜닝, 마이그레이션 관리
  • 미들웨어 아키텍처: 인증, 검증, 로깅, 에러처리를 위한 Express 미들웨어 체계 구축

실시간 시스템 개발

계측기부터 웹까지 End-to-End 개발 역량

  • 스케줄링 엔진: node-cron 기반 5개 자동화 모듈 (기상동기화, 레이더처리, 위성영상, 대기질모니터링, 예약경보)
  • 하드웨어 통신: Serial/TCP 프로토콜 이용하여 계측기 센서, SMS 모듈, 차단기 제어 시스템 직접 연동
  • 경보 방송 시스템: CAP 표준 준수, 즉시/예약 방송 로직, XML 파일 자동 생성 구현
  • 외부 API 통합: 기상청, VWorld, 공공데이터포털 등 정부 API 연동 및 데이터 파싱

프론트엔드 개발

현대적 UX/UI 및 복잡한 상태 관리 구현

  • 복잡한 상태 관리 시스템: Redux Toolkit + Redux Persist + React Query 조합으로 서버 상태와 클라이언트 상태를 분리하여 관리, 캐싱 전략으로 API 호출 최적화
  • 반응형 모바일 최적화: Material-UI v7 기반 디자인 구현, 스마트폰에서 공무원 사용자가 편리하게 사용할 수 있도록 터치 친화적 인터페이스 설계
  • 복합 지도 시스템 통합: Leaflet, OpenLayers, VWorld 3개 지도 엔진을 상황별로 선택 사용, GeoJSON 기반 한국 행정구역 시각화로 직관적인 재난 상황 파악 제공
  • 실시간 대시보드: 기상 데이터, 센서 정보, 위성/레이더 영상을 통합한 실시간 모니터링 대시보드로 재난 상황 종합 관제 환경 구축

개발자 성장 및 비즈니스 성과

개인 역량 성장과 회사/고객 만족도 향상

  • 기술적 성장: PHP/C# → Node.js/React 스택 전환으로 모던 웹 개발 역량 대폭 향상
  • 풀스택 역량: 백엔드 API 설계부터 프론트엔드 UX까지 전체 개발 사이클 숙련
  • 모바일 친화적 개발: 기존 구형 시스템의 PC 전용 한계를 극복하여, PC 웹 및 모바일 환경 모두에서 최적화된 반응형 시스템 구축
  • 사용자 편의성 혁신: 공무원 사용자들이 스마트폰으로 외부에서도 웹 접속하여 실시간 데이터 확인 및 장비 제어 가능한 환경 제공으로 사용성 대폭 개선
  • 사내 인정: 레거시 시스템 모더나이제이션 성공으로 사내 핵심 주요 개발자로 자리매김
  • 고객 만족: 관급 공공기관들로부터 UI/UX 개선, 모바일 접근성, 시스템 안정성 대폭 개선 평가


LIMS

세이프소프트 /

C# 개발

2022.01-2023.08


LIMS(Laboratory Information management System) 개발

개발인원: 2명

기술스택: C#, WinForms, Spread.NET, MS-SQL


프로젝트 개요

CRO 임상/비임상 검체 분석 업무의 효율성 향상을 위한 통합 검체분석 데이터 관리 시스템 개발

  • 기존 문제점: 검체 분석 결과를 문서로 수기 작성/관리/보관하여 데이터 분실 위험 및 업무 비효율성 발생
  • 디지털 전환: C# WinForms 기반 프로그램으로 완전 대체하여 체계적인 데이터 관리 체계 구축
  • 검체 분석 데이터 관리: 과제 기반 검체 분류 및 분석 데이터 입력/저장/관리 시스템
  • SOP 기반 보고서 생성: 사내 표준 운영 절차에 맞는 엑셀 보고서 자동 생성 시스템
  • 데이터베이스 최적화: 대용량 검체 데이터 처리 및 성능 최적화
  • 사용자 권한 관리: 역할별 접근 제어 및 데이터 보안 관리

검체 분석 데이터 관리

  • 과제 기반 분류 시스템: 임상/비임상 과제별 검체 데이터 분류 및 관리
  • 실시간 데이터 입력: 사용자 친화적 인터페이스를 통한 검체 분석 데이터 입력
  • 데이터 검증 및 추적: 입력 데이터 검증, 이력 관리, 감사 추적(Audit Trail) 기능

SOP 기반 보고서 생성 시스템

  • 동적 엑셀 보고서: Spread.NET 기반 SOP 템플릿에 맞는 보고서 자동 생성
  • 맞춤형 출력 포맷: 분석 항목별 다양한 출력 형식 지원 및 품질 체크
  • 배치 처리 시스템: 대용량 데이터의 효율적인 엑셀 변환 및 출력

데이터베이스 설계 및 최적화

  • 스키마 설계: 정규화된 데이터베이스 구조 설계 및 관계 정의
  • 성능 최적화: 인덱스 및 파티셔닝 전략, 저장 프로시저 개발
  • 백업 및 복구: 데이터 안전성을 위한 백업 정책 수립 및 복구 시스템

사용자 권한 관리

  • 역할 기반 접근 제어: 사용자별 권한 설정 및 데이터 접근 제어
  • 보안 관리: 데이터 무결성 보장 및 보안 정책 적용
  • 시스템 모니터링: 사용자 활동 로그 및 시스템 성능 모니터링

주요 성과

  • 수기 문서 기반 업무를 C# WinForms 프로그램으로 완전 디지털화
  • 데이터 분실 위험 제거 및 체계적인 데이터베이스 기반 관리 체계 구축
  • 데이터 입력 오류율 감소 및 검체 추적 시간 단축


스마트 임상 시험 센터(STC) 시스템 구축

세이프소프트 /

네트워크 인프라 구축 및 전산 관리

2022.05-2023.05


스마트 임상 시험 센터 네트워크 인프라 구축 및 운영

프로젝트 인원: 1명

기술스택: Windows Server, MS-SQL, Microsoft Azure, AXGate


프로젝트 개요

스마트 임상시험센터 운영을 위한 대학병원 1개층 규모 네트워크 전산 시스템 구축 및 운영

  • 네트워크 아키텍처 설계: 운영, 실무자, 클라이언트 운영에 적합한 네트워크 설계
  • 방화벽 정책 관리: AXGATE 기반 보안 체계 구축 및 접근 제어
  • 데이터 백업 및 복구 시스템 설계: MSSQL 증분백업 및 Microsoft Azure 클라우드 백업

네트워크 아키텍처 설계

  • 3-Tier 네트워크 구조 설계
  • VLAN 네트워크 세그멘테이션으로 사용자별 접근 제어

방화벽 정책 관리

  • 세그먼트별 접근제어 정책
  • 포트 및 프로토콜 제어
  • 로깅 및 모니터링 시스템 활용 보안 이벤트 알림 체계 구축

데이터 백업 및 복구 시스템 설계

  • MSSQL 증분백업
  • Microsoft Azure 클라우드백업
  • 복구 시나리오벼 대응 계획 메뉴얼 확립


전파인증 시험 자동화 프로그램

세이프소프트 /

C++ 소프트웨어 개발

2019.11-2021.12


전장 전파시험 자동화를 위한 시스템

프로젝트 인원: 3명

기술스택: C++, MFC, OpenCV


프로젝트 개요

수동적인 시험인증 과정을 자동화 프로그램으로 인하여 반복적인 인력의 낭비 구조 개선

  • 이미지 처리: OpenCV를 이용하여 시릿간으로 이미지 전후를 비교하여 시험체의 노이즈 등의 변경점 감지
  • CAN통신 데이터 처리: CAN통신 프로토콜 기반의 데이터 수신 및 파싱하여 비정상 데이터 감지
  • 결과 레포트: 테스트 중 이상 부분 및 에러률 등을 레포트화 하여 사용자에게 제공

실시간 이미지 비교 처리 시스템 개발

  • IP카메라 연동을 통한 실시간 영상 스트리밍 처리
  • ROI(Region of Interest) 설정을 통한 작업영역 마킹 기능
  • 그레이스케일 변환 및 가우시안 블러 필터링을 통한 노이즈 제거
  • Template Matching 기법을 활용한 기준 이미지 매칭

TCP/Serial 통신 데이터 검증 모듈 개발

  • STX/ETX 기반 프레임 경계 검출
  • 커맨드 코드 매핑 테이블을 통한 메시지 타입 식별
  • 타임스탬프 기반 패킷 순서 검증 및 누락 감지

현장 맞춤형 자동화 스크립트 개발

  • C 기반 스크립트를 활용한 시험 시나리오별 자동화 로직 구현
  • 현장 환경에 따른 파라미터 설정 및 최적화
  • 시험 결과 자동 문서화 시스템 구축

주요 성과

  • 전자기파 적합성 시험 자동화를 통한 시험 효율성 향상
  • 실시간 이미지 처리 및 Serial 통신 검증 시스템 구축으로 인력 투입 절감
  • 기존 육안 검사 대비 높은 정확도의 자동화 감지 시스템 구현
  • 24시간 연속 운영 시험으로 무인 자동화 환경 구축


Career.

우보재난시스템

기술연구소 / 전임연구원

2024.01 ~ 현재

재난방재 통합관제플랫폼 Full-Stack 개발을 담당하여 레거시 시스템(PHP/C#)을 Node.js/React 모던 스택으로 완전 재구축했습니다. 백엔드 API 설계부터 프론트엔드 UX까지 전체 개발 사이클을 담당하며, 데이터 처리 및 응답속도 향상과 메모리 사용량 절약을 달성했습니다. 특히 기존 PC 전용 시스템의 한계를 극복하여 모바일 친화적 반응형 시스템을 구축해 시스템 사용자들이 스마트폰으로 외부에서도 실시간 데이터 확인 및 장비 제어가 가능하도록 개선했습니다.

  • 레거시 시스템 모더나이제이션: PHP/C# → Node.js/React 전환, 아키텍처 현대화
  • Full-Stack 개발: 백엔드 API 설계부터 프론트엔드 UX까지 전체 개발 사이클 담당
  • 실시간 시스템 개발: WebSocket 기반 실시간 데이터 처리, 자동화 모듈, 하드웨어 연동
  • 프론트엔드 개발: React 기반 SPA 구축, 상태 관리, 통합 Map System 구현
  • 모바일 최적화: 반응형 웹 디자인, 터치 친화적 UI/UX, 모바일 장비 제어 시스템
  • 관측 데이터 연동 API: NestJS 기반 관측소 데이터 통합, RESTful API 설계 및 구현
  • 성능 최적화: 시스템 로깅, 모니터링, 메모리 최적화를 통한 안정적 운영환경 구축

세이프소프트

솔루션팀 / 주임연구원

2019.11 ~ 2023.08

임상/비임상 시험 데이터 통합 관리 플랫폼을 구축하여 종이 문서와 수기 데이터를 완전 디지털화했습니다. C# WinForms 기반 LIMS로 임상시험 분석 데이터의 전자문서 관리 시스템을 개발하고, JSP 웹 시스템으로 실시간 프로토콜 검체관리 모니터링 환경을 구축했습니다. GCLP 준수 Audit Trail 시스템과 계층적 보안 시스템을 통해 규제 준수 요건을 충족하도록 개발했습니다.

  • LIMS 전자문서화 시스템 개발: C# .NET Framework + WinForms 기반으로 임상/비임상 분석 데이터의 CRUD 전자문서 시스템 구축, GrapeCity Spread.NET을 활용한 엑셀 유사 데이터 입력/조회 인터페이스 구현
  • 스마트 임상시험센터 네트워크 인프라 구축: Windows Server 기반 대학병원 1개층 규모 네트워크 전산 시스템 구축, 3-Tier 아키텍처 설계 및 VLAN 세그멘테이션을 통한 사용자별 접근 제어, AXGATE 방화벽 기반 보안 체계 구축, MS-SQL 증분백업 및 Azure 클라우드 백업 시스템 설계
  • 전파인증 자동화 프로그램 개발: C++ MFC 기반 전자기파 적합성 시험 자동화 시스템 구축, OpenCV를 활용한 실시간 이미지 비교 처리 및 ROI 설정 기능, Serial/CAN 통신 프로토콜 데이터 검증 모듈, 현장별 맞춤형 C 스크립트 기반 자동화 로직 및 결과 레포트 시스템


Education.

전주대학교

컴퓨터공학과 / 학사

2013.03 ~ 2019.02 (졸업)

Description
No description provided
Readme 41 KiB