첫째 달에는 ‘SI’ 부서에 있었으며 고객사에 납품할 웹 사이트를 혼자 맡아서 개발했습니다. ‘백엔드’ 기술 스펙은 ‘Open JDK 1.8’, ‘SpringBoot2.1.3’, ‘Maven’ 그리고 ‘Jpa’, ‘Mybatis’를 혼용하여 사용하였고 모든 개발환경 설정은 자바 코드로 하였습니다. 데이터베이스는 ‘MariaDB’를 사용하였고 ‘프론트엔드’ 기술 스펙은 ‘jQuery’, ‘JSP’를 사용했습니다. 배포 방식은 ‘tomcat8’ 버전을 사용하여 ‘CentOs’ 리눅스 환경에서 배포하였으며 개발 물을 체계적으로 유지하고 관리하기 위해 ‘Bitbucket’를 이용하여 ‘Git’ 저장소 형상 관리를 하였습니다. 팀장님에게 다른 프로젝트에서 사용된 Java 기반의 코드를 받았지만, 모던하지 않은 코드로 작성되어 있었고 모던한 형태의 자바 코드로 프로젝트를 개발하고 싶다는 의견을 드렸습니다. 팀장님의 허락하에 자바 버전을 바꾸지 않고 ‘Optional’, ‘Lambda’, ‘Stream’ 등의 모던 자바의 문법을 사용하여 프로그램을 개발하였으며, 매주 금요일 5시에 팀원들에게 새로워진 자바 코드의 이슈를 설명하였습니다.
주요 기능으로 사용자 페이지는 회사 소개서 및 제품과 관련된 제안서, 안내서 등을 pdf 파일로 내려받을 수 있는 기능과 회사의 제품문의, 파트너쉽 제휴 문의를 남기는 게시판 기능을 만들었습니다. 관리자 페이지는 로그인/로그아웃 기능, 사용자 페이지에 접근한 IP를 시간별 누적 조회 수로 기록하는 기능 , pdf 확장자 게시물 등록 및 수정 기능, 관리자 등급에 따른 하위 관리자 정보 관리 기능, 사용자가 남긴 문의 사항 확인 및 답변 및 수정 기능을 만들었습니다.
두 번째 달에는 회사 내부시스템 개발을 맡았습니다. 기술 스펙은 이전부서와 같았으며 총 4명이 팀으로 구성되었습니다. 기존의 프로젝트는 클래스 사이의 의존성이 높아 좋지 못한 디자인 패턴을 개선하기 위한 Refactoring과 일부 기술 스펙을 변경하는 업무를 맡았습니다. 고객사의 수 발신 메일을 확인하는 검색 Query와 모든 조회 페이지의 Pageing이 ‘Mybatis’로 개발되어 있었습니다. 이를 순수 ‘Jpa’로 바꾸기 위해 ‘Jpa’에서 지원하는 객체지향 Query 언어인 ‘Jpql’과 ‘Pageable 인터페이스’를 사용하였습니다. 또한, 모든 ‘Ajax’ 통신 방법을 ‘Fetch API’로 바꾸었습니다. 그 외에 ‘poi’라이브러리를 사용하여 ‘Excel’, ‘CSV’ 다운로드 기능을 개발하였습니다. 개발팀과 퍼블리셔팀 간의 소통을 원활하게 할 수 있도록 지라를 사용하였으며 매주 금요일 4시에 팀원들과 코드 이슈를 논의했습니다.
더보기