"다양한 경험을 통해 문제를 해결할 줄 아는 개발자"
학과 커리큘럼에 없는 Spring Boot를 공부하기 위해 온라인 강의를 통해 학습하였고, 학부 연구생들과 강의 자료 기반으로 사전 학습 후 세미나 형식으로 스터디 진행하였습니다. 기술을 학습한 것에 끝나지 않고 프로젝트에 직접 적용해 Spring Boot에서 제공하는 기능을 사용하여 효율적인 코드를 작성하고 어려움을 해결했습니다. 로그인 기능을 개발할 때 세션을 사용하여 사용자 구분 및 로그인 유지를 합니다. 하지만 사용자 인증이 필요한 로직마다 세션 체크를 위한 코드가 들어가 코드 중복이 발생하고 유지보수가 어려워졌습니다.
이 문제를 해결하기 위해 인터셉터를 구현하여 요청이 컨트롤러에 들어가기 전 세션 체크 하도록 구현했습니다. 또한 원하는 로직에만 세션 체크를 하기 위해 커스텀 어노테이션을 제작해 해결했습니다.
"사회를 생각하는 개발자"
코로나 시대에 비대면 서비스가 증가함에 따라 매장 내 키오스크 사용률이 증가했습니다. 하지만 디지털 소외계층은 키오스크 사용이 여전히 어렵다는 뉴스 기사를 본 적이 있습니다. 그래서 디지털 소외계층이 기존 키오스크 사용에 어려움을 해결하는 서비스를 개발해 교내 대회에 참가했습니다. 어르신과 휠체어를 타신 분들은 상대적으로 높이가 낮으므로 키오스크 화면이 움직여야 하며, 큰 글자와 함께 소리가 나온다면 키오스크를 더욱 쉽게 사용할 것이라고 생각했습니다. 사용자 얼굴을 인식해 눈높이에 맞게 화면 높이가 조절되며 글자를 보기 힘든 어르신들을 위해 TTS 음성 안내가 가능한 키오스크를 제작했습니다. 이후 특허 출원을 통해 사회에 이바지하여 뿌듯함을 느꼈으며 사회에 도움 될 수 있는 개발자가 되기 위해 노력할 것입니다.
"백엔드 교육을 통해 한층 성장한 개발자"
백엔드 개발자로서 역량을 더욱 갖추기 위해 NHN 커머스 백엔드 교육과정을 수료했습니다. 커머스 프로젝트를 기반으로 실제 현업에서 사용하는 기술을 학습했습니다. Spring Boot를 사용하여 MVC 패턴을 적용한 웹 개발을 진행했습니다. RESTful Api 기반으로 백엔드를 구성하여 CRUD 기능을 처리했습니다. Spring Data JPA를 사용하여 DB와 통신하였습니다. 일 매출을 계산하기 위해 Spring Batch를 사용했습니다. 상품에 이벤트가 발생하자마자 DB에 insert를 하게 되면 많은 부하가 발생하므로 전날 매출을 당일 새벽에 스케줄러를 사용하여 일 매출을 계산했습니다. Cloud를 사용하여 CI/CD를 구축해 두 대의 서버에 배포하였고 로드밸런서를 통해 부하를 분배하였습니다. 다양한 경험과 개발자로서의 역량을 갖추어 현대오토에버의 성장에 기여하겠습니다.
글자수 1,331자2,230Byte