[항해99] Week04,05 회고

김엄지·2024년 3월 11일
0

회고

목록 보기
12/26
post-thumbnail

🔥 3주간에 거쳐 주특기 Spring으로 배운 내용들

  • Spring Level별로 과제 진행
    - 저번주 Lv1. 익명 게시판 서버 만들기를 시작으로
    - 도서관 서버, 백오피스 서버, 강의 사이트 서버를 만들어보았다.
    - 마지막 과제인 굿즈 판매 사이트 서버 만들기를 하지 못해서 아쉬었다.
  • Java로 필요한 클래스 구상
  • Spring Boot 기반으로 CRUD(Create, Read, Update, Delete)기능 API를 만듦
  • 구현하고자 하는 서비스의 전체적인 흐름 파악을 위한 기능 설계로 Use Case Diagram, API 명세서, ERD 를 작성
  • Controller - Service - Repository 로 계층 구분
  • IoC 주입으로 약한 결합을 이용
  • DB 테이블간에 JPA Entity 연관관계를 이용
  • Spring Security를 이용해서 인증/인가 기능 구현
  • Security의 Secured 기능을 사용하여 권한별로 API를 제어
  • Postman 을 이용해서 API 와 JWT 토큰 테스트를 진행
  • View(html/css/js)로 반환하지 않고, Dto에 담아서 반환까지(JSON을 반환하는 API 형태)
  • ResponseEntity 를 이용(HTTP Request 또는 Response에 해당하는 HttpHeader와 HttpBody를 포함하고 있는 클래스)
  • 프로젝트 페어 리뷰하기

🔥 이번 주 느낀 점

  • 항해에서 제공하는 정보량은 많은데, 내가 온전히 받아내지 못하는 느낌이다.
  • 전반적인 개념이 생소하기에 과제에서 필요한 핵심들을 뽑아낼 수 있는 스킬이 부족했다.
  • 정리를 하고나니 내가 어느 수준에 위치해있는지 객관적으로 보이기 시작했다.
  • 하지만 정리를 위한 시간을 빼기가 어렵다. 여기에 더불어 추가 공부가 필요한 상황이다.
  • 어떻게 하면 효율적인 시간 관리를 할 수 있을지 생각해보자.

🔥 아쉬웠던 것들

  • Level 5 과제인 굿즈 판매 사이트 서버 만들기를 하지 못했던 점
    -> 어떤 기능들이 있었는지 훑어보자.
    - 페이지 별로 조회 기능 (Paging)
    - 장바구니 추가/조회/수정/삭제 기능
    - 추가구현에서는
    - 상품 이미지 기능 : 상품의 이미지 업로드(AWS의 S3를 사용하여 저장)
    - 서비스 배포 : AWS의 EC2와 RDS를 사용

  • swagger 사용하지 못했던 점

🔥 주특기 Spring 로드맵 in 항해


🔥 공부 할 것들 keyword

  • swagger란? Open Api Specification(OAS)를 위한 프레임워크
    API들이 가지고 있는 스펙(spec)을 명세, 관리할 수 있으며 백엔드와 프론트엔드가 협업할 때 사용할 수 있다.
  • API 요청의 예외가 발생하는 모든 경우에 대해서 실패(예외상황)에 대해 판단할 수 있는 Status Code, Error 메시지등의 정보를 반환
  • Java의 Optional
    - Optional의 탄생 배경을 이해하려면 먼저 null이란 무엇인지 이해해야한다.
    - null이란? 유요한 객체를 참조하지 않고 있음을 가리키기 위해 저장된 값을 의미한다.
    - 그런데 이 null을 만든 Tony Hoare는 null 참조를 만든 것은 10억 달러의 실수라고 말했다.
    링크텍스트
    Optional은 10억 달러의 실수인 Java의 null을 Safety(하게) 사용할 수 있도록 도와준다.
profile
나만의 무언가를 가진 프로그래머가 되자

0개의 댓글