[ TIL12 ]

이형철·2023년 8월 26일

오늘은 항해99 Spring입문 1주차 강의를 다들었습니다👏👏!

내일은 1주차 개인 과제를 만들며 나의 부족한 점을 파악해 볼 생각입니다.


  • 그럼 오늘의 📒TIL을 시작해보겠습니다~

오늘은 CRUD 구현하기에 대해서 집중적으로 공부하였습니다!
CRUD란 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능으로
Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말입니다.

오늘은 메모장 만들기 설계를 하였습니다.

@Getter
@Setter
@NoArgsConstructor
public class Memo {
    private Long id;
    private String username;
    private String contents;
    public Memo(MemoRequestDto requestDto) {
        this.username = requestDto.getUsername();
        this.contents = requestDto.getContents();
    }
    public void update(MemoRequestDto requestDto) {
        this.username = requestDto.getUsername();
        this.contents = requestDto.getContents();
    }
}
  • 먼저 entity에서 Memo 클래스를 만들어줍니다.
  • 이곳에서 메모 데이터를 저장해주는 일을 합니다.
    -Getter 와 Setter는 ❗객체의 무결성을 유지하기 위하여
    외부에서 직접적으로 접근하는 것을 막는 역할을 합니다.
    - Setter는 전달받은 값을 내부에서 가공해 필드에 넣어주는 역할을
    - Getter는 필드의 값을 꺼내주는 역할을 합니다.
import lombok.Getter;
@Getter
public class MemoResponseDto {
    private Long id;
    private String username;
    private String contents;
}
import lombok.Getter;
@Getter
public class MemoRequestDto {
    private String username;
    private String contents;
     public MemoResponseDto(Memo memo) {
        this.id = memo.getId();
        this.username = memo.getUsername();
        this.contents = memo.getContents();
    }
    public MemoResponseDto(Long id, String username, String contents) {
        this.id = id;
        this.username = username;
        this.contents = contents;
    }
}
  • 이런 Dto(Data Transfer Object)를 만드는 이유는
    - Entity 객체의 변경을 피하기 위하여(데이터가 의도와 다르게 변질될 수 있다.)
    - 도메인 모델링을 지키기 위하여
    - 요구사항에 따라 안에 특정 값들이 추가 되거나 없어지는 것이 빈번 하기때문에

라고합니다.🤨🤨


이런 클래스들을 만들어서 하나의 컨트롤러에 설계를 하는 과정을 오늘 배웠는데
강의를 보며 따라하는 것은 시간과 집중력이 있으면 가능하지만
과연 혼자서 다른 프로젝트를 할 수 있을까?에 대한 생각은 떨쳐 낼 수 없었습니다,,,
매번 배웠던것을 깃허브에 올려서 앞으로 나아가는 과정에서 과제나 협업을 할때
기억이 안나면 찾아보는 습관과 설계하는 과정을 여러번 해서 능숙해 질때까지 깨져가는 과정이 필요하다고 생각하고 물론 많이 힘들고 어렵겠지만
지금 항해 99 같이 하는 사람들이 다 같이 💪💪으샤으샤💪💪해서 해냈으면 좋을 것 같다!


profile
If Only,,,

0개의 댓글