미리보기
기본 정보
안녕하세요! 웹 백엔드 개발에 국한되지 않고, 다양한 분야에서 경험을 쌓아온 백엔드 개발자 문상원입니다. 스마트팜 플랫폼부터 음식점 검색 서비스까지, Java와 SpringBoot를 활용한 백엔드 개발은 물론, 시계열 데이터베이스와 검색 엔진 최적화, IoT 시스템 구축까지 폭넓은 기술 스택을 다루어 왔습니다. 프로젝트마다 성능 개선과 문제 해결에 집중하며, 효율적인 시스템 설계와 안정성을 최우선으로 생각합니다. 끊임없이 새로운 기술을 탐구하고, 다양한 도전을 통해 성장하는 것을 즐깁니다. 함께 일하며 더 나은 서비스를 만들어가길 기대합니다.
기술 스택
Java, Spring Boot, JPA, Docker, MySQL
프로젝트
클라우드를 이용한 스마트팜 플랫폼
인제대학교
2022.07. ~ 2022.12.
클라우드를 이용한 스마트팜 플랫폼
프로젝트 소개
스마트팜 관리 모델과 ICBM 모델을 결합한 스마트팜 플랫폼을 제공하여 무인 농장 운영할 수 있도록 지원하는 서비스입니다.
프론트엔드 개발자 2명, 백엔드 개발자 2명, IoT 엔지니어 2명으로 구성된 팀이 2022년 7월부터 2022년 12월까지 진행했습니다.
Java, SpringBoot, InFluxDB, MySQL, Docker, JPA
기여
시계열 데이터 베이스 구축 및 백엔드 API 개발 담당하였습니다.
문제 정의
기존의 RDBMS 사용 시 시간이 지남에 따라 데이터 집계 API 응답 속도가 점차 느려지는 문제가 발생했습니다.
ORM을 통해 IoT 데이터를 저장하면서 데이터 저장 속도가 느려지는 문제 발생했습니다.
IoT 센서 데이터 값이 설정된 범위에서 벗어나는 경우가 발생하였습니다.
HTTP 통신 사용하는 경우 IoT 센서 데이터 값이 유실되는 문제가 발생하였습니다.
문제 해결
RDBMS를 시계열 데이터베이스인 InFluxDB로 변경하였습니다.
ORM을 사용하지 않고, FLUX 쿼리를 사용해 데이터를 효율적으로 저장하도록 변경했습니다.
액츄에이터의 자동화 토픽을 생성하여 실시간 대응 능력을 향상시켰습니다.
MQTT 프로토콜을 사용하고 QoS(Quality of Service) 단계를 설정하여 데이터 전송의 안정성을 확보하였습니다.
결과
데이터 집계 API 호출 시 응답속도를 2.4초 개선하였습니다.
데이터 저장 API 호출 시 저장속도를 기존보다 1.2초 개선하였습니다.
IoT 데이터가 설정된 범위 내에서 안정적으로 수집되도록 개선되었습니다.
데이터 전송 과정에서 발생할 수 있는 중복 및 유실을 방지하여 시스템의 안정성을 향상시켰습니다.
MASJIB
인제대학교
2024.03. ~ 2024.07.
MASJIB
프로젝트 소개
MASJIB은 사용자의 반경 1km 내 음식점을 다양한 정렬 조건으로 제공하는 서비스입니다.
프론트엔드 개발자 1명과 백엔드 개발자 1명으로 구성된 팀에서 2024년 3월부터 2024년 7월까지 진행했습니다.
Java, SpringBoot, JPA,MySQL, Elasticsearch, RestDocs
기여
백엔드 API 개발을 담당했습니다.
문제정의
RDBMS의 와일드 카드 사용시 데이터베이스 풀 스캔하는 문제가 발생했습니다.
공공데이터 포털에서 제공하는 음식점 파일의 위경도가 지도 상에서 불일치 하는 문제가 발생했습니다.
리뷰의 이미지를 원본으로 저장하다보니 S3공간이 부족하는 문제가 발생했습니다.
API 문서와 실제 API가 불일치 하는 문제가 발생했습니다.
문제해결
Elasticsearch의 역색인을 사용하여 데이터베이스를 풀 스캔 문제를 해결하였습니다.
Proj4j 파라미터를 사용해 ESPG:5174에서 WG84로 변경하였습니다.
이미지를 최대 1000x1000사이즈로 압축하였습니다.
RestDocs를 도입하여 테스트 코드를 기반으로 기술문서를 생성하였습니다.
결과
데이터 70만 건 기준 검색 API 응답 속도를 4.6초에서 131ms까지 개선하였습니다.
지도상 위경도가 불일치하는 문제를 해결하여 정확한 위치 정보를 제공할 수 있게 되었습니다.
2400x2400 이미지 원본을 3MB에서 479KB로 압축되어 공간을 절약하였습니다.
API 문서를 테스트 코드 기반으로 자동 생성하여 문서와 실제 API 간의 일관성을 유지했습니다.
포트폴리오
교육
인제대학교
대학교(학사) | 컴퓨터공학부
2018.03. ~ 2024.02. | 졸업
대외활동
한중일 글로벌 캡스톤 디장인 경진대회 대상
IRE-Asia
클라우드를 이용한 스마트팜 관리 플랫폼 개발을 주제로 IoT와 클라우드의 연동을 통해 스마트팜 관리 서비스의 상호운용성, 확장성, 이동성 및 데이터 관리의 용이성을 검증하는 플랫폼을 구현