# 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 프로그램으로 완전 디지털화 - 데이터 분실 위험 제거 및 체계적인 데이터베이스 기반 관리 체계 구축 - 데이터 입력 오류율 감소 및 검체 추적 시간 단축 ### 임상시험 검체분석기관(C-LAB) 시스템 구축 세이프소프트 / 네트워크 인프라 구축 및 전산 관리 2022.01-2023.08 > **C-LAB 네트워크 인프라 시스템 구축 및 운영** > **개발인원**: 1명 **기술스택**: Windows Server, MS-SQL, Microsoft Azure, FortiGate --- ## 프로젝트 개요 임상시험 검체분석기관(C-LAB) 운영을 위한 네트워크 전산 시스템 구축 및 운영 - 네트워크 아키텍처 설계 - 방화벽 정책 관리 - **데이터 백업 및 복구시스템 설계** - NAS 기반 통합 스토리지 시스템 구축 ### 스마트 임상 시험 센터(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 (졸업)