1주차 - 수 (2022.10.26)

우롱차·2022년 10월 26일
0

나의 인턴일지

목록 보기
3/33

회사로 가는 길이 조금 익숙해졌다. 이제 빨리 갈 수 있는 길도 안다😊
출퇴근 길의 내 몸도 점점 더 적응되겠지?

오늘은 어제 생성한 프로젝트에 대해 리뷰를 받았다.
과제를 진행할 때는 구글링으로 따라하기만 해서 MVC가 각각 어떤 역할을 하는지, 프로젝트를 생성할 때 설정하는 것들은 어떤 것을 의미하는지를 전혀 몰랐는데, 세세히 알려주셔서 Spring을 조금 더 가깝게 생각할 수 있게 되었다.

Model: 애플리케이션의 데이터이며, 모든 데이터 정보를 가공하여 가지고 있는 컴포넌트

  • 데이터베이스와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일을 한다.
  • 여러 개의 데이터 변경 작업(추가, 변경, 삭제)을 하나의 작업으로 묶는 트랜잭션을 다루는 일도 한다.
  • 사용자가 이용하려는 모든 데이터를 가지고 있어야 하며, View와 Controller에 대해 어떠한 정보도 알 수 없어야 한다.
  • 변경이 일어나면 처리 방법을 구현해야 한다.
  • DAO, Service 클래스에 해당

View: 시각적인 UI 요소를 지칭하는 용어

  • Model이 처리한 데이터나 그 작업 결과를 가지고 사용자에게 출력할 화면을 만드는 일을 한다.
  • Model이 가지고 있는 데이터를 저장하면 안 된다.
  • Model이나 Controller에 대한 정보를 알면 안 된다.
  • 변경이 일어나면 처리 방법을 구현해야 한다.
  • 생성된 화면은 웹 브라우저가 출력하고, View 컴포넌트는 HTML/CSS/JS를 사용하여 웹 브라우저가 출력할 UI를 만든다.
  • Spring에서는 기본적으로 Thymeleaf를 권장하지만, 국내에서는 JSP로 개발하고 있다.

Controller: Model과 View를 연결해주는 역할

  • client의 요청을 받았을 때 그 요청에 대해 실제 업무를 수행하는 Model 컴포넌트를 호출하는 일을 한다.
    • HTTP Request를 처리하고, HTTP Request의 메시지를 처리해 필요한 데이터를 뽑아 Model에 저장한다.
  • client가 보낸 데이터가 있다면, Model을 호출할 때 전달하기 쉽게 데이터를 적절히 가공하는 일을 한다.
  • Model이 업무 수행을 완료하면 그 결과를 가지고 화면을 생성하도록 View에게 전달한다. (client 요청에 대해 Model과 View를 결정하여 전달)
    • HTTP Request에 따라 HTTP가 보여줄 View Name을 반환한다. 직접 View를 반환할 수도 있다. 하지만 View에 Model의 데이터를 세팅하지는 않는다.
    • Spring Framework는 request가 들어오면 @Controller 어노테이션을 살펴보고, request에 맞는 view name을 반환해준다.
  • Model과 View에 대한 정보를 알아야 한다.
  • Model과 View의 변경을 인지하여 대처해야 한다.

JSP: <% %> 태그만 확인하여 데이터를 넣어주고, 나머지는 그대로 출력하는 형식으로 동작한다.

다음 과제는 mybatis와 mariadb를 연동하고, /userList 를 요청했을 때 user 테이블의 사용자 정보를 테이블 형태로 출력하는 것이다.
db를 연동하는 것부터 에러가 떠서 기가 빨리고 있지만🤯 이제 db의 데이터를 사용한다는 것이 기대된다.

하루하루 배워간다는 것에 만족스러운 직장 생활을 하고 있는 것 같다😀

profile
아직 따끈따끈합니다🍵

0개의 댓글