미리보기
기본 정보
매일 더 나은 나를 만들기 위해 노력하는 4년 차 백엔드 개발자 길현준입니다.
자기소개
새로운 기술을 배우고 이를 실무에 적용하는 과정에서 성장과 보람을 느낍니다.
기존 프로젝트를 리팩토링하여 성능을 개선하는 작업을 좋아하며, 코드의 효율성과 안정성을 중시합니다.
꾸준히 학습하고 개선을 추구하며, 배움과 경험을 회고하고 기록함으로써 지속적으로 성장하고 있습니다.
기술 스택
Node.js, JavaScript, TypeScript, NestJS, Express, TypeORM, MySQL, Java, Spring, Spring Boot, AWS, JPA, React, aws-serverless
경력
제이앤피메디 (JNPMEDI)
Backend Developer | Dev 2 Team, Docs Squad
2023.06. ~ 2024.08. (1년 3개월)
임상시험 데이터 플랫폼 기반 IT 스타트업
MSA 및 AWS 서버리스 기반 Maven Clinical Cloud 서비스 유지보수 및 기능 개선, 신규 서비스 구현.
Docs 시스템: 전자 동의서 관리 및 대량 전송 기능 구현, DeadLock 이슈 해결.
Mailing 시스템: 이메일 모니터링 시스템 개발, 이벤트 드리븐 아키텍처 도입.
Billing 시스템: 테스트 코드 도입, Lambda 호환성 확보 위한 Node.js 업그레이드.
TMF, VDR 신규 서비스 설계 및 백엔드 개발.
사용자 요구사항 기반 사용성 개선, 레거시 시스템 유지보수 및 청산.
Skill Keywords
Node.js, TypeScript, Cyan, React, Jest, Lambda, S3, Aurora, SNS, SQS, Serverless, IaC
메드고 (MedGo)
Backend Developer | Dev Team
2022.04. ~ 2023.06. (1년 3개월)
비대면 진료 및 약배달 서비스 ‘바로필’ 운영 IT 스타트업
Node.js 기반 백엔드 서비스 개발 및 아키텍처 개선.
Express.js에서 NestJS로 마이그레이션.
Hexagonal Architecture 도입으로 유지보수성 및 확장성 강화.
Socket.IO와 Web Push API를 통한 실시간 알림 기능 구현.
OCR 기반 처방전 인식 및 복약지도 시스템 구현.
진료 예약 시스템 및 실시간 에러 모니터링 시스템 개발.
JWT 기반 인증 시스템 구축 및 보안성 강화.
Skill Keywords
Node.js, TypeScript, JavaScript, Express, NestJS, TypeORM, React, EJS, Jest, EC2, S3, MySQL, Nginx, Web Push API, Socket.IO, Hexagonal Architecture
심플한 (SimpleHAN)
Software Engineer | Dev Team
2021.07. ~ 2022.04. (10개월)
고객 맞춤형 소프트웨어 솔루션을 제공하는 SI 중소기업
Spring Framework, MySQL 기반 웹 서비스 개발 및 유지보수.
인천 스마트 그린 산단 통합관제센터 웹 플랫폼 개발.
LMS 서비스 Excel 업로드 기능 구현으로 대규모 데이터 처리 시간 단축.
JasperReports를 활용한 동적 수료증 생성 기능 개발.
JOB Agent 서비스를 Spring Boot 기반으로 개발하고, 기존 PHP 시스템과 iframe으로 통합.
Spring Security와 JWT를 결합한 보안성 강화 및 확장성 향상.
GitHub Pages 및 배포 자동화를 통해 사내 기술 블로그 운영 비용 절감.
Skill Keywords
Java, Spring, Spring Boot, Spring Security, MyBatis, MySQL, MariaDB, JSP, jQuery, EC2, Ubuntu
프로젝트
TDD 기반 콘서트 예매 시스템 개발
항해 플러스(스파르타코딩클럽)
2024.09. ~ 진행 중
프로젝트 설명: 대기열 시스템을 통한 좌석 예약 서비스 구현. 예약과 결제 프로세스를 관리하며, 잔액 충전 및 조회 기능을 제공. RDS 기반으로 대기열 시스템을 설계하여 예약 처리의 효율성을 높임.
주요 기여:
유저 대기열 토큰 시스템: 대기열을 관리하는 토큰 발급 및 유저 검증 시스템 구현.
예약 가능 날짜 및 좌석 조회 API: 사용자가 예약 가능한 날짜와 좌석을 조회할 수 있는 기능 구현.
좌석 예약 요청 API: 좌석 예약 시 임시 배정 후, 결제가 완료되지 않으면 배정을 해제하는 기능 구현.
잔액 충전 및 조회 API: 유저 잔액을 관리하는 기능 구현.
결제 API: 결제 완료 시 좌석 소유권 배정 및 대기열 토큰 만료 처리.
RDS 기반 대기열 시스템 구축: 예약 처리의 효율성을 높이기 위한 대기열 시스템 설계.
GitHub: hhplus-concert
기술 스택: Java, Spring Boot, MySQL, JUnit, Mockito, Clean Architecture
Maven Docs 고도화
제이앤피메디 (JNPMEDI)
2023.06. ~ 2024.08.
프로젝트 설명: Maven Docs는 전자 서명을 지원하는 임상시험 문서 통합 관리 서비스로, 문서 작성, 열람, 승인 및 전자 서명을 제공하는 시스템.
주요 기여:
Deadlock 이슈 해결: 전자 서명 알림 프로세스의 Deadlock 문제를 해결하여 알림 누락을 100% 방지.
Event-Driven Architecture 구현: AWS SNS/SQS를 활용해 시스템 내 데이터 정합성 강화.
전자 동의서 시스템 개발: 대량 전송 기능을 포함한 전자 동의서 시스템을 구축해 임상시험 프로세스 효율화.
문서 편집기 개선: 상호참조 및 고급 표 편집 도구 기능 추가, 사용자 인터페이스 최적화로 사용자 생산성 향상.
문제 1: 전자 서명 알림 프로세스의 동시성 이슈(Deadlock) 해결
상황:
전자 서명 기능의 다양한 Lambda 함수(시작 알림, 서명 요청 알림, 자동 서명)가 비동기로 실행되면서 주기적인 Deadlock 발생.
문제:
자동 서명과 서명 요청 알림 프로세스가 동시 실행될 때 Deadlock 발생, 전자 서명 알림 누락 현상.
원인 분석:
AWS Aurora 데이터베이스 사용.
서명 요청 알림 프로세스에서 외래키 값 Insert 시 S Lock(Shared Lock) 획득.
동시에 자동 서명 프로세스에서 같은 외래키 값에 대해 X Lock(Exclusive Lock) 획득 시도.
두 프로세스가 서로의 Lock 해제를 기다리며 Deadlock 상태에 빠짐.
해결 방안:
서명 요청 알림 프로세스에서 외래키 값 Insert 전 X Lock을 먼저 획득하도록 로직 수정.
알림 발송 실패 시 재시도 메커니즘(최대 3회 재시도) 도입.
결과:
Deadlock으로 인한 알림 누락 건수 100% 감소 (모니터링 기간: 3개월).
학습 및 개선점:
분산 환경에서의 동시성 관리 중요성 인식.
Deadlock 발생 원인 및 DB Lock에 대한 이해.
비동기 프로세스 간 상호작용 설계 시 고려사항 학습.
기술 스택: Node.js, TypeScript, Express.js, React, Serverless, AWS Lambda, AWS Aurora, AWS S3, AWS SNS, AWS SQS
Maven Billing 유지 보수
제이앤피메디 (JNPMEDI)
2023.06. ~ 2024.08.
프로젝트 설명: Maven Billing은 Maven 플랫폼의 구독, 사용량 기반 과금 및 결제 프로세스를 관리하는 MSA(Microservice Architecture) 서비스입니다.
주요 기여:
테스트 코드 도입: 테스트 코드를 도입하여 미확인 버그를 식별하고 해결.
Node.js 버전 업그레이드: Node.js 버전 14에서 18로 업그레이드하여 Lambda와의 호환성 및 성능 개선.
문제 1: 테스트 코드 도입으로 미확인 버그 식별 및 해결
상황:
Maven Billing 서비스 운영 중 유저 삭제 기능이 추가되었으나, 기존 코드는 유저 삭제 시나리오를 고려하지 않음.
문제:
삭제된 유저에 대한 빌링 처리 시 예외 상황 발생, 잠재적 데이터 불일치 및 과금 오류 위험.
해결 방안:
유저 삭제 시나리오에 대한 단위 테스트 및 통합 테스트 작성.
삭제된 유저에 대한 예외 처리 로직 및 로깅 메커니즘 추가.
과거 청구 데이터 유지 및 새로운 과금 방지 로직 구현.
결과:
삭제된 유저 관련 버그 100% 해결, 시스템 안정성 및 데이터 정합성 향상.
학습 및 개선점:
MSA 환경에서의 종단 간(End-to-End) 테스트 중요성 인식.
요구사항 변경 시 시스템 전반에 미치는 영향 분석 프로세스 개선.
기술 스택: Node.js, TypeScript, Express.js, Serverless, AWS Lambda, AWS Aurora, AWS S3, AWS SNS, AWS SQS
Maven Mailing 고도화
제이앤피메디 (JNPMEDI)
2023.06. ~ 2024.08.
프로젝트 설명: Maven Mailing은 Maven 플랫폼의 이메일 발송 및 유효성 검사를 담당하는 MSA(Microservice Architecture) 서비스입니다.
주요 기여:
Event-Driven Architecture 구현: AWS SNS/SQS를 활용한 Event-Driven Architecture 도입으로 데이터 정합성 개선.
이메일 생명주기 모니터링 시스템 개발: AWS SES를 활용한 이메일 전송 상태 추적 및 모니터링 시스템 구축.
이메일 이미지 첨부 기능 구현: Nodemailer의 CID 기능을 사용해 이메일 이미지 첨부 기능 구현.
문제 1: 이메일 누락 문제 해결을 위한 모니터링 시스템 개발
상황:
AWS SES를 통해 대량 이메일을 발송하는 과정에서 이메일 누락 사태가 빈번하게 발생, 사용자 경험 저하 및 비즈니스 프로세스에 차질 발생.
문제:
AWS SES 특성상 이메일 전송 실패 로그를 확인하기 어려워, 이메일 누락 원인 파악이 어렵고 문제 대응 시간이 지연됨.
해결 방안:
AWS SES Configuration Set을 활용하여 이메일 전송 이벤트를 세분화하고 추적 가능하게 설정.
Serverless 프레임워크를 활용한 IaC(Infrastructure as Code) 기반 모니터링 시스템 구축.
알림 시스템 구축: 이메일 전송 실패 시 Slack Webhook을 통한 실시간 알림 시스템 구현.
결과:
Infrastructure as Code로 인프라 구성하여 환경 간 일관성 확보 및 관리 효율성 향상.
문제 발생 시 원인 파악 및 대응 시간이 대폭 감소.
학습 및 개선점:
IaC 활용으로 인프라 관리 효율성 및 일관성 향상.
세분화된 모니터링과 실시간 데이터 처리의 중요성 인식.
기술 스택: Node.js, TypeScript, Express.js, Serverless, AWS Lambda, AWS Aurora, AWS S3, AWS SNS, AWS SQS, AWS SES
Maven VDR 신규 프로젝트 백엔드 개발
제이앤피메디 (JNPMEDI)
2024.06. ~ 2024.07.
프로젝트 설명: Maven VDR은 신약 개발 및 임상 시험 과정에서 발생하는 기밀문서와 데이터를 안전하게 관리하며, 라이선스 비즈니스에 필요한 문서와 기술 지원 자료를 거래할 수 있도록 지원하는 서비스입니다.
주요 기여:
QnA 기능 백엔드 설계 및 구현: VDR 내 QnA 기능의 백엔드 시스템 설계 및 구현.
데이터 모델 및 데이터베이스 최적화: QnA 데이터 모델 설계 및 데이터베이스 구조 최적화.
접근 제어 로직 구현: 사용자 권한에 따른 QnA 접근 제어 로직을 구현하여 보안 강화.
문서 PDF 변환 기능 구현: 문서를 비동기적으로 PDF로 변환하는 기능 개발.
기술 스택: Node.js, TypeScript, Express.js, React, Serverless, AWS Lambda, AWS Aurora, AWS S3, AWS SNS, AWS SQS
Maven TMF 신규 프로젝트 프론트 개발
제이앤피메디 (JNPMEDI)
2024.02. ~ 2024.05.
프로젝트 설명: Maven TMF는 임상시험의 전체 수명 주기에 걸쳐 필수적인 임상 문서와 기록을 저장, 관리, 추적할 수 있도록 설계된 서비스입니다.
주요 기여:
Admin 페이지 구현: 임상시험 문서 관리를 위한 Admin 페이지 개발.
문서 이력 Archive 시스템 개발: 규제 준수를 위한 문서 이력 관리 및 아카이브 시스템 개발.
임상 문서 모니터링 DashBoard 구축: 임상 문서 현황을 실시간으로 모니터링할 수 있는 대시보드 구축.
문서 Viewer 및 검토 시스템 개발: 효율적인 임상 문서 관리를 위한 문서 뷰어 및 검토 시스템 구현.
기술 스택: Node.js, TypeScript, Express.js, React, Serverless, AWS Lambda, AWS Aurora, AWS S3, AWS SNS, AWS SQS
Maven Auth 고도화
제이앤피메디 (JNPMEDI)
2023.10. ~ 2023.11.
프로젝트 설명: Maven Auth는 Maven 플랫폼의 사용자 및 조직 관리를 위한 MSA(Microservice Architecture) 서비스입니다.
주요 기여:
다중 조직 가입 및 관리 시스템 구현: 기존 단일 조직 가입 시스템을 다중 조직 가입 및 관리가 가능한 시스템으로 개선.
기술 스택: Node.js, TypeScript, Express.js, React, Serverless, AWS Lambda, AWS Aurora, AWS S3, AWS SNS, AWS SQS
바로필 의사 웹서비스 아키텍처 개선 및 기능 고도화
메드고 (MedGo)
2022.04. ~ 2023.06.
프로젝트 설명: 바로필 의사 웹서비스는 진료 예약, 환자 관리, 처방 등 의료 업무 전반을 디지털화하여 효율적으로 관리할 수 있게 지원하는 백오피스입니다.
주요 기여:
진료 예약 시스템 구현: 진료 예약 시스템 구현으로 사용자 경험 개선.
Express.js에서 NestJS로 프레임워크 마이그레이션: 시스템 성능과 유지보수성 향상.
Hexagonal Architecture 도입: 유지보수성과 확장성을 강화하기 위한 아키텍처 도입.
테스트 코드 구현: 시스템 안정성 및 유지보수성 강화를 위해 테스트 코드 도입.
Socket.IO 기반 실시간 서비스 구축: 실시간 알림 서비스 구현으로 사용자 경험 개선.
Web Push API 알림 기능 개발: 사용자 경험 개선을 위한 Web Push API 알림 기능 구현.
레거시 청산 및 기존 비즈니스 유지보수: 시스템의 레거시를 청산하고 기존 서비스 유지보수.
기술 스택: Node.js, JavaScript, TypeScript, Express.js, NestJS, EJS, React, MySQL, AWS EC2, AWS S3
바로필 약사 웹서비스 아키텍처 개선 및 기능 고도화
메드고 (MedGo)
2022.04. ~ 2023.06.
프로젝트 설명: 바로필 약사 웹서비스는 처방전 관리, 조제 업무, 약 배달 등 약국 운영에 필요한 전반적인 업무를 디지털화하여 효율적으로 관리할 수 있게 지원하는 백오피스입니다.
주요 기여:
처방전 자동 인식 시스템 구현: OCR 기술을 활용하여 처방전을 자동으로 인식하고 복약지도를 제공하는 시스템 구현.
Express.js에서 NestJS로 프레임워크 마이그레이션: 시스템 성능과 유지보수성 향상.
Hexagonal Architecture 도입: 유지보수성과 확장성을 강화하기 위한 아키텍처 도입.
테스트 코드 구현: 시스템 안정성 및 유지보수성 강화를 위해 테스트 코드 도입.
Socket.IO 기반 실시간 서비스 구축: 실시간 알림 서비스 구현으로 사용자 경험 개선.
Web Push API 알림 기능 개발: 사용자 경험 개선을 위한 Web Push API 알림 기능 구현.
레거시 청산 및 기존 비즈니스 유지보수: 시스템의 레거시를 청산하고 기존 서비스 유지보수.
기술 스택: Node.js, JavaScript, TypeScript, Express.js, NestJS, EJS, React, MySQL, AWS EC2, AWS S3
바로필 서비스 에러 모니터링 개발
메드고 (MedGo)
2022.05. ~ 2022.05.
프로젝트 설명: 디스코드 웹훅을 활용한 실시간 에러 알림 시스템을 통해 신속한 문제 감지 및 대응 체계를 구축하고, 개발팀의 협업 효율성과 서비스 안정성을 향상시킨 프로젝트입니다.
주요 기여:
실시간 에러 알림 시스템 개발: 디스코드 웹훅을 이용한 실시간 알림 시스템 구축으로 신속한 문제 감지 및 대응 체계 확립.
서비스 안정성 개선: 실시간 모니터링을 통해 서비스 안정성 대폭 향상.
팀 협업 효율성 향상: 에러 발생 시 개발팀 간 빠른 커뮤니케이션을 지원해 협업 효율성 개선.
기술 스택: Node.js, JavaScript, TypeScript, Express.js, NestJS
바로필 서비스 회원 인증 관리 서비스 개발
메드고 (MedGo)
2022.04. ~ 2022.04.
프로젝트 설명: 독립적인 회원 인증 서버를 구축하고, 세션 기반 인증에서 JWT 기반 인증으로 전환하여 동시 로그인 문제를 해결하고, 서비스 확장성을 향상시킨 프로젝트입니다.
주요 기여:
회원 인증 서버 구축: 독립적인 회원 인증 서버를 구축하여 인증 프로세스를 분리.
JWT 기반 인증 도입: 세션 기반 인증에서 JWT 기반 인증으로 전환하여 확장성 향상.
동시 로그인 문제 해결: 동시 로그인 세션 문제를 해결하여 서비스 안정성 및 사용자 경험을 개선.
기술 스택: Node.js, JavaScript, TypeScript, Express.js, NestJS, MySQL, AWS EC2, AWS S3
인천 스마트 그린 산단 통합관제센터 웹 플랫폼 개발
심플한 (SimpleHAN)
2022.01. ~ 2022.04.
프로젝트 설명: 인천 스마트 그린 산단 통합관제센터 웹 플랫폼은 산업단지의 운영 현황을 실시간으로 모니터링하고 통합 관리할 수 있는 디지털 관제 시스템입니다.
인천 스마트 그린 산단 통합관제센터 웹페이지
주요 기여:
회의실 예약 시스템 및 관리자 대시보드 구현: 산업단지 내 회의실 예약 시스템 및 관리자 대시보드를 개발하여 통합 관리 기능을 강화.
메시징 서비스 구현: 비즈뿌리오 API 연동을 통해 실시간 메시징 서비스 구현.
기술 스택: Java, Spring Framework, 전자정부 프레임워크, JSP, MySQL, GitHub
학습 관리 시스템 (LMS) 서비스 개발
심플한 (SimpleHAN)
2021.07. ~ 2022.04.
프로젝트 설명: 온라인 교육을 위한 종합적인 학습 관리 시스템 개발 프로젝트입니다.
주요 기여:
Excel 업로드 기능 개발: 대규모 회원 데이터를 일괄 처리할 수 있는 Excel 업로드 기능을 개발하여 처리 시간을 단축.
동적 수료증 생성 기능 구현: JasperReports를 활용하여 동적 수료증을 생성하고, 이를 통해 관리자 업무 시간을 절감.
사용성 개선 및 신규 비즈니스 로직 구현: 사용자 요구에 맞춘 시스템 사용성 개선과 신규 비즈니스 로직을 구현.
기술 스택: Java, Spring Boot, JSP, MariaDB, GitLab
미래 서비스 JOB Agent 서비스 개발
심플한 (SimpleHAN)
2021.08. ~ 2021.12.
프로젝트 설명: 사용자가 자신의 직업 가치관과 창업 역량을 평가할 수 있는 온라인 검사 서비스 개발 프로젝트입니다.
주요 기여:
온라인 검사 서비스 개발: 직업 가치관 및 창업 역량 평가를 위한 온라인 검사 서비스 개발.
iframe을 통한 서비스 통합: 기존 미래 서비스(PHP로 구축)와의 iframe 연동을 통해 새로운 서비스를 통합.
백오피스 개발: 관리 기능을 강화하기 위한 백오피스 개발.
기술 스택: PHP, Java, Spring Boot, JSP, MariaDB, GitLab
kfriends 회원 관리 시스템 개발
심플한 (SimpleHAN)
2021.09. ~ 2021.09.
프로젝트 설명: kfriends 플랫폼을 위한 신규 회원 관리 시스템 개발 프로젝트입니다.
주요 기여:
Spring Security와 JWT를 통한 인증 및 인가 시스템 구축: Spring Security와 JWT를 결합하여 인증 및 인가 시스템을 구축.
Stateless 인증 방식 도입: 서버 확장성을 향상시키기 위해 Stateless 인증 방식을 도입.
RESTful API 설계: 다양한 클라이언트 플랫폼 지원을 위한 RESTful API 설계.
기술 스택: Java, Spring Boot, Spring Security, JSP, MariaDB, GitLab
사내 기술 블로그 리뉴얼 및 배포 자동화
심플한 (SimpleHAN)
2021.09. ~ 2021.09.
프로젝트 설명: 기존 사내 기술 블로그의 디자인과 기능을 개선하고 배포 프로세스를 자동화하여 효율성을 극대화한 프로젝트입니다.
주요 기여:
배포 시간 단축: 배포 프로세스를 자동화하여 배포 시간을 80% 단축.
호스팅 비용 절감: GitHub Pages를 활용하여 호스팅 비용을 100% 절감.
휴먼 에러 감소: 배포 과정에서 발생할 수 있는 휴먼 에러를 100% 감소.
카테고리 기반 페이지네이션 도입: 사용성을 향상시키기 위해 카테고리 기반 페이지네이션 기능 도입.
기술 스택: Jekyll, GitHub Pages
대외활동
항해 플러스 백엔드 6기
항해 플러스(스파르타코딩클럽)
사전 준비 과정: Java와 Spring Boot 기초 학습 및 TDD 스터디 진행.
1~5주차: TDD와 클린 아키텍처를 적용한 콘서트 예매 시나리오 기반 서버 구축.
TDD, 클린 아키텍처, 레이어드 아키텍처 학습 및 적용.
Java와 Spring Boot를 활용한 콘서트 예매 시스템 개발.
6~9주차: 대용량 트래픽 처리 및 데이터 관리. (진행 예정)
Redis와 Kafka를 활용한 고성능 트래픽 처리 및 캐싱 전략 구현.
비동기 처리와 Message Queue 적용.
10주차: 장애 대응 훈련 및 고가용성 설계. (진행 예정)
장애 탐지, 복구, 고가용성 설계를 위한 다양한 기술 적용.
GitHub: hhpb-code
오픈소스 기여 - cyan
제이앤피메디 (JNPMEDI)
Node.js TypeScript 기반 웹 애플리케이션 프레임워크
데이터베이스 쿼리에서 "NOT IN" 조건을 추가
메일링 시스템의 이메일 발송 결과 수신 기능 도입 발표
제이앤피메디 (JNPMEDI)
사내 메일링 시스템 개선을 위해 AWS SES 이벤트 알림 기능을 구현에 대한
기술 세미나 발표
포트폴리오
교육
인하공업전문대학
대학교(학사) | 컴퓨터정보공학과
2022.03. ~ 2023.02. | 졸업
인하공업전문대학
대학교(전문학사) | 컴퓨터정보학과
2017.03. ~ 2022.02. | 졸업
자격증
정보처리기사
기사 | 한국산업인력공단
2023.06.