미리보기
기본 정보
개발에 몰입하는 것을 즐기는, 책임감 있는 개발자 신준석 입니다.
자기소개
안녕하세요! 3년차 백엔드 개발자 신준석입니다.
클린하고 재사용 가능한 코드를 항상 고민합니다. 고객이 만족하는 서비스 제공을 위해 기술적으로 꾸준히 성장하고 있습니다.
작업하면서 더 나은 방식을 발견하거나 떠오를때는 주저하지 않고 팀원들과 공유하며 개선해 나가고 있습니다.
모듈 구조, 계층간 의존관계, 코드 컨벤션, 구현을 하면서 생기는 트레이드 오프 등등 사소한 것들 하나 놓치지 않고 챙기기 위해서 위키 페이지를 통해 문서로 공유하며, 꼼꼼한 코드 리뷰도 진행하면서 팀원들과 함께 성장할 수 있도록 노력합니다.
기술 스택
경력
(주)메일플러그
팀원 • 개발팀/메일솔루션 파트
메일 및 게시판 서비스 기능개발/유지보수
PHP 기반의 CodeIgniter3 프레임워크를 활용해 메일/게시판 서비스 기능을 구현 및 유지보수를 진행했습니다.
메일 검색 성능 개선
엘라스틱서치 쿼리 최적화 및 인덱스 매핑/세팅 변경, 리인덱싱을 통해 평균 검색 시간을 약 5초에서 0.x초대로 단축했습니다.
레거시 코드 리팩토링
메일/게시판 서비스를 PHP CodeIgniter3의 SSR 방식에서 Next.js와 CodeIgniter4기반의 REST API 아키텍처로 리팩토링했습니다.
구/신 버전이 서로 다른 데이터베이스를 사용했기 때문에, RabbitMQ(큐 서버) 도입 및 이벤트 기반의 데이터 동기화 시스템을 구축해 실시간 데이터 동기화와 시스템 간 데이터 일관성 문제를 해결했습니다.
Redis 클러스터 병목 현상 해결
Redis의 scan
쿼리로 인해 속도 저하가 발생했고, 프록시 서버(프레디시(predixy))의 die 현상이 발생하던 문제를 분석하고 해결했습니다.
저장되는 데이터의 키 구조를 string에서 hash 자료구조로 전부 변경하고, scan
쿼리를 unlink
함수로 대체해 성능을 개선하였습니다.
(2년 8개월 | 정규직)
프로젝트
젤리(Jelly)
내새꾸 - 동물병원 통합 정보 플랫폼
팀 구성(7명): BE 3명, FE 1명, 기획 2명, 디자이너 1명
동물병원들의 불투명한 진료비 문제를 해결하기 위해, 사용자에게 병원의 진료비를 비교하고 투명하게 제공하는 플랫폼을 개발하였습니다.
Git, Slack, Notion 을 활용하여 소스 코드의 버전과 개발 일정 등의 형상관리를 진행했습니다.
프로젝트 리딩
프로젝트 전반의 시스템 설계 등 개발 리딩을 담당했습니다.
기능 개발
Spring Boot, JPA, Redis 를 사용하여 토큰기반의 소셜 로그인, 이메일 로그인, 토큰 재발급, 로그아웃, 사용자 프로필 업데이트의 기능을 개발하였습니다.
멀티모듈 설계를 통해 도메인간 응집을 높히고, 결합을 최소화 하였습니다.
CI/CD 파이프라인 구축
GitHub Actions와 Docker 기반의 CI/CD 파이프라인을 구축해, 코드 배포 및 테스트 과정을 자동화하였습니다.
DB 설계
사용자, 진료비 데이터, 병원 정보 등을 효율적으로 저장하고 관리할 수 있도록 RDB 구조를 설계했습니다.
AWS 기반 인프라 구성
EC2, Route53, RDS, Redis Cache 서비스 활용 및 VPC와 보안그룹을 통한 서버 인프라를 구축해 확장성과 가용성을 확보하고, 효율적인 비용으로 인프라를 운영하였습니다. (prod, stage 존 구성)
로깅 시스템 구축
ELK 스택과 Kafka 기반의 실시간 로그 수집 및 분석 시스템을 구축해 서비스 상태 모니터링 및 문제 대응 시간을 단축했습니다.
기타사항
포트폴리오
교육
한밭대학교
대학교(학사) | 정보통신공학과
2016.03. ~ 2022.02.
졸업
자격증
정보처리기사
한국산업인력공단
2021.11.