From 119d36e8a1a3022d8c454f4802d4703d1711e3b4 Mon Sep 17 00:00:00 2001 From: Austin Date: Sat, 27 Sep 2025 10:04:40 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=9D=BC=EB=B3=B8=EC=B9=A8=EA=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 541 +++++++----------------------------------------------- 1 file changed, 66 insertions(+), 475 deletions(-) diff --git a/README.md b/README.md index ebcf28b..ea196b5 100644 --- a/README.md +++ b/README.md @@ -1,475 +1,66 @@ -# 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 (졸업) \ No newline at end of file +# 2025일본침공 일정 + +## 0927 +### 인천(2T) -> 나리타(1T) +13:50 출발 16:20 도착 +체크인 후, 저녁 야키니쿠 + +## 0928 +9시까지 세히집 (https://maps.app.goo.gl/jmuQ3gTH9XXkdPdT8) +9시반까지 하나마사 도착 후 장보기 +후지산(꽉, 동세히) +저녁 바베큐 후 근처 술집 + +## 0929 +후지산 체크아웃 +스카이트리 +긴자체크인 +유라쿠초 후 술 + +## 0930 +10시 아침 츠지한 니혼바시 본점 +시부야에서 텐동? +5시 타츠키치 신주쿠본점 (쿠시카츠 오마카세) +신주쿠 구경 후 귀가 (이소마루?) +도쿄타워? + +## 1001 +아침 츠키지 시장 +아키하바라 +점심 텐동 +7시 포스(sake-to-kotobuki https://maps.app.goo.gl/dbNWvY3uPEfssREm9) + +## 1002 +11시 예약 나고야 빈쵸 히츠마부시 긴자 +쇼핑 +점심 라멘 +쇼핑 +저녁 긴자 돈카츠 사이토 +긴자 바 하이 파이브 (11시반까지 영업) + +## 1003 +### 나리타(1T) -> 인천(2T) +아침 츠케맨 +14:30분 정도 나리타천엔버스 탑승 +16:00 나리타 도착 +19:05 출발 21:35 도착 + + + +신주쿠 +시부야 +긴자 +아키하바라 +센소지 +아사쿠 +쓰키지 시장 +오다이바 +하라주쿠 +이케부쿠로(bar) + + +** 필수 먹방 +아부라소바 +츠지한 +알로하 bar 이케부쿠로 +츠케맨