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 구현 및 테스트
    • 새롭게 정리할 예정
반응형
저작자표시 비영리 변경금지 (새창열림)

'취업' 카테고리의 다른 글

2022 카카오스타일 백엔드 정규직 전환 후기  (3) 2022.12.21
2022 상반기 카카오스타일 백엔드 인턴 합격 후기  (22) 2022.06.10
2022 상반기 SK C&C 인턴 코딩테스트 후기  (0) 2022.06.08
2022 상반기 SK 쉴더스 합격 후기  (0) 2022.06.06
면접 정리글  (1) 2021.10.06
'취업' 카테고리의 다른 글
  • 2022 상반기 카카오스타일 백엔드 인턴 합격 후기
  • 2022 상반기 SK C&C 인턴 코딩테스트 후기
  • 2022 상반기 SK 쉴더스 합격 후기
  • 면접 정리글
구름뭉치
구름뭉치
구름의 개발일기장
  • 구름뭉치
    구름 개발일기장
    구름뭉치
  • 전체
    오늘
    어제
    • ALL (283)
      • 프로젝트 (23)
        • 토스페이먼츠 PG 연동 시리즈 (12)
        • JWT 방식 인증&인가 시리즈 (6)
        • 스우미 웹 애플리케이션 프로젝트 (1)
        • 스프링부트 기본 보일러 플레이트 구축 시리즈 (2)
        • 마이크로서비스 아키텍쳐 시리즈 (1)
      • 스프링 (43)
        • 스프링부트 API 설계 정리 (8)
        • 스프링부트 RestAPI 프로젝트 (18)
        • 스프링부트 WebSocket 적용기 (3)
        • 스프링 JPA 정리 시리즈 (5)
        • 스프링 MVC (5)
        • 스프링 배치 (2)
        • 토비의 스프링 정리 (2)
      • 기술 학습 (28)
        • 아파치 카프카 (9)
        • 클린 코드 (4)
        • 디자인 패턴의 아름다움 (2)
        • 모던 자바 인 액션 (7)
        • JVM 스레드 딥다이브 (6)
      • Web (25)
        • 정리글 (20)
        • GraphQL 정리글 (2)
        • Jenkins 정리글 (3)
      • 취업 (6)
      • CS (77)
        • 네트워크 전공 수업 정리 (11)
        • OSI 7계층 정리 (12)
        • 운영체제 정리 (19)
        • 데이터베이스 정리 (5)
        • MySql 정리 (17)
        • GoF의 Design Pattern 정리 (12)
      • 알고리즘 (70)
        • 백준 (56)
        • 프로그래머스 (12)
        • 알고리즘 정리본 (1)
      • 기초 지식 정리 (2)
      • 일상 (8)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    레이저
    mx master s3 for mac
    마우스
    키보드 손목 받침대
    마우스 패드
    부다페스트
    동유럽
    류블라냐
    크로아티아
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
구름뭉치
4주간의 현장실습 정리
상단으로

티스토리툴바