본문 바로가기

개발관련/TIL

내배캠 4주 4일

오늘은 스프링 강의를 보면서 수강신청? 시스템(백엔드)를 만들어 봤다.

계층? Layer는 Web과 Service 2개를 만들었다. --> Repository는 내일 강의 보면서 만들 듯 하다.

먼저 분류?를 아래와 같이했다.

-------------------------

사용자 (User)

- id

- email

- password

- nickname

- role (수강생, 강사)

 

강의 (Course)

- id

- title

- description --> 필수 아님 Null가능

- status

- maxPeople

- currentPeople

- Lecture List (강의안의 강좌{강의영상})

- CourseApplication (신청내역)목록

 

강좌(강의영상)

- id

- title

- videoUrl

 

신청 정보

- id

- User

- Course

----------------------

 

그리고 API를 테스트 및 문서화 하는 도구로써는 Swagger를 사용했다.

swagger의 장점으로는 명확한 API 문서화 / 문서 생성 자동화 / API Request 검증이 있다고 하는데 강의에서 사용해서 사용했다. --> 아직 뭐가 뭔지 모르겟다..

    --> 어제 gradle 적용안해서 swagger 적용이 안됐었다...

 

또한 패키지 구조를 도메인 모델별로 나눠서 만들었다.

아래와 같음

------------------------------

  • domain
    • user
      • controller
      • service
      • repository
      • dto
      • model
    • course
      • controller
      • service
      • repository
      • dto
      • model
  •  application
    • controller
    • dto
    • model
    • service
    • usecases
  • user
    • controller
    • service
    • repository
    • model
    • exception
  • infra
  • exception

------------------------------------

 

DTO에 대해서 작성했다.

DTO는 각 레이어끼리 데이터를 주고받는 객체인 거 같다. 나중에는 Json객체가 되는 거 같다.

 

일단 강의를 보면서 Web과 Service 레이어 까지는 만들고 예외처리와 로직을 처리하다 문제가 있을 경우 transaction하는 것 까지는 했다.

그러나 솔직히 거의 이해가 안된다....

일단 기본 개념이 부족해서 이해를 못하는 거 같은데.. 왜 언제 어떤 어노태이션을 쓰는지가 제일 어려운 거 같다.

로직을 작성하면서 로직 부분은 어느정도 이해가 되는 거 같은데... 스프링에서 필요한 것을 호출할 떄가 제일 헷갈린다.

또한 계층과 전체적인 설계를 직접 시간을 들여서 한 것이 아니라 강의영상을 보면서 따라 한 것 때문에 더더욱이 이해 못하는 걸 수도 있다.

따라서 일단 영상을 다 보고 혼자서 연습해서 감을 익히는 시간이 필요할 거 같다.

 

'개발관련 > TIL' 카테고리의 다른 글

내배캠 5주 2일 차  (0) 2024.05.14
내배캠 5주 1일차  (0) 2024.05.13
내배캠 4주 3일차  (0) 2024.05.08
내배캠 4주 2일차  (0) 2024.05.07
내배캠 3주 4일차  (0) 2024.05.02