티스토리 뷰

취업

4주간의 현장실습 정리

구름뭉치 2022. 3. 7. 10:12
  1. 엑셀 파일 어드민 페이지 업로드 api
    • 엑셀 파일에 대한 검증이 필요했다. MultiPartFile로 받은 후, contentType을 확인하여 엑셀 파일인지 검증하였다. 
    • 이후 확장자가 .xlsx or .xls에 따라 2007년 이후 엑셀버전, 2003 이전 버전으로 나뉘므로 이를 구분지어 주도록 했다. .csv파일은 따로 처리하지 않도록 하고 엑셀 파일로 올리게 예외를 던지게 했다. (이부분은 맥 유저가 많은 회사였다면 구현이 필요했을듯 하다)
    • 엑셀 데이터에 대해서는 첫번째 행을 먼저 key로 받고, 이후 행의 컬럼값을 key-value쌍으로 맵에 담았다. 매 행을 맵 객체로 파싱 후 맵 리스트에 추가하고, sheet가 더 있다면 이어서 받도록 구현했다.
      • 정적으로 구현된 이 부분을 개선하기 위한 방안을 사수분한테 들은 아이디어는 종류 별 엑셀의 컬럼 값을 DB에 저장해놓고 요청하는 엑셀 파일 타입별로 db 테이블의 로우로 접근해서 컬럼 값을 가져오는 방법이였다. 현재는 엑셀 업로드를 한가지 종류로만 하지만 다양해진다면 고려해볼만한 방법이였다.
    • sheet별 row의 cell에 대해 getCellTypeEnum()을 통해 문자열, 숫자, 빈칸 등을 체크하여 각 타입에 맞게 getNumericCellValue() 등의 함수를 사용했다. 빈칸이 나오면 데이터 목록이 종료되었다 판단하고 해당 행을 패스하고 반복문을 탈출하도록 했다.
    • ArrayList<Map<String, String>> 구조에 모든 엑셀 데이터를 받은 후 iter로 돌면서 행 별로 entity로 변환 후 DB에 저장하였다.
  2. 엑셀 파일 어드민 페이지 수정 api
    • 해당 기능은 위에서 업로드 하는 로직의 대부분을 공유하고 값의 변화만 체크하여 변경 후 재 저장하도록 했다.
  3. 이미지파일을 갖는 특정 객체 어드민 페이지 등록 api
    • 이미지 파일을 AWS S3에 업로드 하고 해당 URL을 가져와서 객체와 함께 저장하도록 했다. AWS에 업로드 할 때는 IAM을 발급 받아서 퍼블릭으로 업로드 하였다. 이때 버킷도 정책이 퍼블릭이여야 외부에서 url로 볼 수 있음에 유의해야한다.
  4. MSA 관련 자료 학습
    • 새롭게 정리할 예정
  5. 금융 결제원 오픈뱅킹 API 구현 및 테스트
    • 새롭게 정리할 예정
반응형
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday