미리보기
기본 정보
안녕하세요. 백엔드 개발자 신경주입니다. - 실무 경험을 바탕으로 다양한 시스템을 구축한 경험이 있습니다. - 개발 리드로서 팀의 성장과 협력의 중요성을 깊이 이해한 경험이 있습니다. - 안정적이고 지속 가능한 소프트웨어 개발을 위해 고민하고 노력합니다.
기술 스택
Java, Spring Boot, mybatis, JPA, AWS, Oracle, PostgreSQL, MongoDB, Redis, Docker, Elasticsearch
경력
(주)클라모스
선임연구원 (프리랜서) | 솔루션개발팀
2024.10. ~ 2025.01. (4개월)
사내 ETL 솔루션 백엔드 개발 담당
데이터베이스 설계 및 마이그레이션 진행
(주)세이코어
선임연구원 (정규직) | 시스템개발팀
2023.07. ~ 2024.10. (1년 4개월)
프로젝트 개발리드 역할 수행
영테크/금연통합 프로젝트 백엔드 개발 담당
사내 개발 Infra 및 CI/CD 환경 구축
프로젝트 공통 개발 컨벤션 및 가이드 작성
(주)클라모스
연구원 (정규직) | 제품개발팀
2021.06. ~ 2022.11. (1년 6개월)
상황실 통합 관제 솔루션 개발 및 운영
데이터 ETL 솔루션 유지/보수
고객 요구사항 맞춤 커스터마이징 진행
프로젝트
서울시 영테크 재무정보 시스템 구축
(주)세이코어
2024.03. ~ 2024.10.
서울시 청년들을 대상으로 재무 관련 진단/상담/교육 등 다양한 서비스를 제공하는 시스템 입니다.
운영 중인 사용자 페이지 링크 : https://youth.seoul.go.kr/youngtech
사용 기술
Java / SpringBoot / MyBatis /
Oracle / Redis
주요 역할
시스템 아키텍처 및 DB Schema 설계
공통 모듈과 사이트를 사용하는 주체(사용자/상담사/관리자)별로 모듈을 분리하여 멀티모듈 구조 설계 -> 공통 모듈을 통한 의존성 관리 효율성 향상 및 역할별 모듈 분리를 통한 유지보수 용이성 향상
엔티티/속성/관계 정의 및 ERD 작성 -> 전체 시스템에 대한 테이블 68개 도출
RESTful API 설계 및 구현
요청/응답 DTO를 포함한 API 스펙 설계 ->
전체 API 엔드포인트 173개 도출
Redisson을 활용한 분산 락 구현 -> 클래스 수강 신청 시 발생할 수 있는 동시성 문제 해결
외부 서비스 연계
알림톡 및 SMS 발송 기능 제공을 위해 관련 외부 업체 서버의 API 연계 구현 ->
WebFlux 기반 비동기 Non-Blocking 요청으로 처리하여 클라이언트 지연 최소화
SSO서버와 Token 기반 연계를 통해 서울시 통합 회원 로그인 기능 제공
Slow Query 성능 개선
실행 계획 분석을 통해 Cost와 Operation을 기준으로 병목 지점 파악
단일 및 복한 인덱스를 추가하여 TABLE ACCESS FULL 작업을 INDEX RANGE SCAN으로 변경 -> 기존 Actual Time 1,154ms에서 92ms로 개선
대용량 테이블 대상 쿼리일 경우 Nested Loop Join을 Hash Join으로 변경 -> Leading 힌트를 추가하여 명시적인 Join 순서 지정
조회 빈도가 높은 쿼리일 경우 커버링 인덱스를 설정하여 추가적인 성능 향상
P2P 통합 메신저 구축
(주)세이코어
2024.01. ~ 2024.04.
WebRTC 기반 텍스트/음성/영상 채팅 기능을 제공하는 통합 메시징 시스템 입니다.
사용 기술
Java / JavaScript / SpringBoot /
OpenVidu /
AWS / Redis / Docker
주요 역할
채팅방 세션 및 참여자 연결 관리 기능 개발
세션의 생명 주기에 따라 발생하는 다양한 이벤트를 효율적으로 처리하기 위해 OpenVidu 인스턴스의 Webhook 기능 설정 및 callback URL에 등록할 API 개발
FCM을 활용한 Web PUSH 알림 기능 개발
브라우저가 실행 중이지 않을 경우에도 알림 수신이 가능하도록 백그라운드에서 동작하는 ServiceWorker에 등록하여 FCM 이벤트를 수신하고 알림을 표출하도록 구현
음성 데이터 열화 녹음 기능 개발
통화 녹음 기능을 구현하기 위해 음성 데이터 스트림을 .webm 파일로 인코딩 및 저장하여 웹에서 재생 가능하도록 제공
Docker 환경 구성
간편한 배포 및 관리를 위해 모든 인스턴스 Dockerizing 및 docker-compose.yml 파일을 작성하여 명령어 한줄로 배포 가능하도록 구성
금연 개별 홈페이지 통합 시스템 구축
(주)세이코어
2023.08. ~ 2023.12.
다양한 기관에서 운영 중인 금연 관련 사업이 통합 및 이관됨에 따라 기존의 여러 시스템을 통합하는 프로젝트입니다.
사용 기술
Java / SpringBoot / MyBatis /
ELK /
Oracle / Redis
주요 역할
ELK 구성 및 통합 검색 기능 개발
대용량 텍스트 컬럼에 대한 검색 성능 개선을 위해 ELK 구성 및 모든 인스턴스 Dockerizing
한글 텍스트에 대한 검색 결과 최적화를 위해 Nori Tokenizer를 활용한 Custom Analyzer 적용
재사용성과 동적 쿼리를 사용하기 위해 Painless 문법 기반 SearchTemplate 생성
초기 RDB의 대용량 데이터 조회 시 OOM 에러 발생 방지를 위해 Logstash의 JDBC Input에서 paging관련 옵션 설정
기존 RDB에서 Elasticsearch로 조회 대상 변경 -> 키워드 검색 결과 기존 응답시간 1,859ms에서 137ms로 개선
WAS 이중화 환경 구성
WAS 이중화 환경을 구성하여 안정적인 서비스 운영과 무중단 배포 지원
로드 밸런싱으로 분산된 인증 요청을 처리하기 위해 기존 세션 기반에서 JWT로 변경
스케줄링의 일관성을 유지하기 위해 클러스터링 기능이 포함된 Quartz 도입
기존 DB 마이그레이션
여러 곳에 분산된 데이터를 통합하기 위해 백업 / 복제 / 동기화 / 트래픽 전환 순서로 실행 계획 수립
SQL 스크립트로 마이그레이션 진행 -> 시스템 다운타임을 5분 이내로 최소화
한국도로공사 교통상황실 상황판시스템 구축
(주)클라모스
2021.10. ~ 2022.04.
전국 최대 규모의 교통상황실에 자사의 솔루션을 활용하여 통합 관제 시스템을 구축하는 프로젝트입니다.
사용 기술
C# / WPF /
MySQL / MongoDB / Redis / ZeroMQ
주요 역할
Cascade 기능 개발
영상 처리 서버의 부하 분산 및 장애 대처을 위해 기존 중계 서버에 클러스터링 기능 개발
Redis의 Pub/Sub 기능을 활용해 전체 노드에 실시간 데이터 업데이트 및 이벤트 브로드캐스팅 구현
헬스 체크 및 자동 재시작 기능 개발
주기적인 헬스 체크를 통해 장애 상황을 판단하고 자동으로 재시작하는 기능을 개발하여 고가용성 확보
외부 서비스 소켓 통신 연계
돌발 상황을 감지하는 외부 AI 서버와의 기능 연계를 위해 TCP 기반 소켓 통신 기능 개발
사용자 프로그램 UI 커스터마이징
프로젝트 별 요구사항을 반영하기 위해 WPF 기반 윈도우 응용프로그램 UI 개발
포트폴리오
교육
동양미래대학교
대학교(학사) | 정보통신공학과
2021.03. ~ 2023.02. | 졸업
동양미래대학교
대학교(전문학사) | 정보통신공학과
2016.03. ~ 2021.02. | 졸업
자격증
정보처리산업기사
한국산업인력공단
2020.08.
리눅스마스터 2급
한국정보통신인력개발센터
2014.12.
네트워크관리사 2급
한국정보통신자격협회
2013.09.