미리보기
기본 정보

더 좋은 방법이 무엇인지 고민하는 백엔드 개발자 유상준입니다. Spring Framework 기반 웹/앱 서비스에서 백엔드 설계, 개발, 운영한 경험이 있으며 모바일 팀 및 외부 업체와 협업에서 기획 단계부터 참여해 주도적으로 진행한 경험이 있습니다. 비즈니스 발전을 위해 노력합니다. 비즈니스의 발전을 위해서는 비즈니스에 대한 이해가 잘 되어 있고, 버그나 이슈를 팀원에게 공유하면 더 좋은 방향으로 나아갈 것이라고 생각합니다. 완성된 코드도 다시 봅니다. 개발이 완료된 코드도 개선할 점이 있는지 확인하며 꾸준하게 Refactoring ****합니다**.** 코드를 작성한 시점의 저와 그 이후의 저는 다른 생각과 시점을 가질 수 있으므로 완성된 코드도 다시 확인합니다. 사용자의 편의성을 고려하고자 노력합니다. 서비스의 발전은 많은 사용자에서 시작된다고 생각합니다. 사용자 피드백을 귀 기울여 수용하고, 효율적이고 직관적인 기능을 개발하기 위해 끊임없이 노력합니다.
기술 스택
Java, Spring Boot, JSP, JavaScript, jQuery, MySQL, Oracle, Redis, Jenkins
경력
주식회사피플앤드테크놀러지
사원 | 서비스개발 2팀 | 재직 중
2022.11. ~ 재직 중 (2년 4개월)
Indoor Plus+ SmartSafe 실시간 작업자 안전관리 솔루션 개발
프로젝트
작업자 광산안전시스템
주식회사피플앤드테크놀러지
2023.03. ~ 진행 중
소개
위험한 작업에 항상 노출되어 있는 광산 작업자의 안전을 확보하기 위해 작업자의 안전 현황을 모니터링 및 업무 프로세스를 관리해 주는 프로젝트입니다.
관련 기사 : 지하갱도 통신망 구축…작업자 안전 ‘실시간 관리’
개발사항
- 작업자 안전사고 방지 API
- 빈번한 DB Connection으로 인한 성능 저하 우려로 5초 간격으로 Redis에서 심박수와 같은 실시간 데이터를 조회해 일정하지 않거나 정상 상태가 아닐 때 관제센터와 관리자에게 알림 발송 개발
- 위치 데이터 활용 위험 지역 진입 여부를 실시간으로 판단해 위험구역 접근 시 관제센터 및 관리자 FCM (Firebase Cloud Messaging) Background Notification 발송
- Web Socket 알림 발송 개발
- 이벤트 발생 시 서버의 확장성과 서버 간의 결합도를 낮추고 실시간 데이터 반영을 위해 Redis 활용 Web Socket 채널 구독 방식(pub/sub)을 사용한 실시간 알림 발송
- 장비에서 지속적으로 신호가 없을 시 비정상 상태를 알리기 위해 Redis TTL 활용 Message Listener를 통해 비정상 상태 Web Socket 알림 발송
Query 튜닝
- 원인
- 데이터를 조회하는 과정에서 중복되는 데이터를 집계하는 과정에서 FULL Table Scan 발생
- 대처방법
- 집계에 사용되는 컬럼에 Index를 생성해 데이터 조회 시 Index Scan 하도록 수정
- 결과
- 데이터 조회 속도를 기존 402ms에서 66ms로 감소
Refactoring
- 원인
- 서비스를 확장하면서 중복되는 코드가 발생
- 대처방법
- 공통으로 사용되는 코드를 메소드로 분리해 코드 중복 제거
- 결과
- 코드 약 50줄 감소 및 가독성 향상
사용 기술
java8, mySql(10.0), Spring Framework, Redis, Socket, OAuth 2.0, FCM, Jenkins
해군 스마트쉽 솔루션
주식회사피플앤드테크놀러지
2022.11. ~ 2023.06.
소개
해군의 함정에서 훈련 상황 관리와 군인의 안전을 위해 인원 배치 및 건강 데이터 모니터링하고 운용 중인 자산의 상태 관리를 지원하는 프로젝트입니다.
관련 기사 : 스마트워치가 해군 해경 구한다...긴급상황 실시간 위치파악
개발사항
- 실시간 인원 배치 기능 개발
- 빈번한 읽기 쓰기로 인한 성능저하 우려로 Redis에 구역별 인원을 저장 및 조회해 정해진 구역에 모든 인원이 배치 완료 시 자동 종료 및 Web Socket 활용 모바일 알림 발송
- 실시간 데이터임을 고려해 Redis 활용 Web Socket 채널 구독 방식(pub/sub)을 사용하며 별도의 채널을 생성 후 관리해 실시간 알림 반영
- 워치 단말 페어링 상태에 따른 BLE 신호 발신 대상 변경 기능 개발
- 장비의 페어링 상태 기반 신호 발신 대상 자동 변경 API 개발로 위치 데이터 신호 상실 감소
테스트 주도 개발
- 원인
- 이미 배포되어 있는 서비스에 기능을 추가해 기존 기능과 신규 기능의 연동 검증 테스트 필요.
- 대처 방법
- Junit 테스트를 통해 새로 개발된 코드의 검증 및 기존 기능과의 연동 테스트
- 결과
- 잠재적 버그 감소와 기능 검증을 통해 개발 일정 2일 단축 및 신규 작성된 코드의 테스트 커버리지 약 50% 유지
사용 기술
java8, mySql(10.0), Spring Framework, Redis, Socket, OAuth 2.0, FCM, Jenkins
자격증
정보처리산업기사
취득 | 한국산업인력공단
2021.08.
정보처리기능사
취득 | 한국산업인력공단
2016.08.
교육
방송통신대학교
대학교(학사) | 컴퓨터과학과
2024.02. ~ 현재 | 재학 중
계룡디지텍고등학교
고등학교 | 디지털 통신과
2016.03. ~ 2019.03. | 졸업