본문 바로가기
Project/Stack Over Flow-Clone

[4일차 작업일지] 코딩..테스트..그리고 뒤엎기..

by 2D3 2022. 10. 26.
728x90

오늘 하루 일정

# 9시: 간단한 아침 회의 (오늘 계획, 컨디션 체크)
# 오전: 코멘트 작성 코드짜기
# 오후: 코멘트 수정 코드짜기
# 회의후: 코드를 다 뒤집어 엎어야 될 것 같다..

 


회의록

 

DB 참조 관계

  • 게시글 : 댓글 1: n
  • 유저 : 게시글 1: n
  • 유저: 댓글 1:n
  • 유저: 투표 1:1

 

댓글 DB 인덱스 설정

 

vote 기능

positive, negative DB를 따로 만들어서 유저 아이디에 저장할 수 있도록 한다.

 


 

애너테이션 정리

@JsonProperty("my_name")
private String myName;

컨트롤러에서 JSON 데이터와 자바 엔티티를 매핑할 때 key값을 일치시키기 위해 사용

@JsonNaming: @JsonProperty를 사용하는데 필드가 길어질 때 사용

@Data
@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
public class food {

    private String name;
    private String price;
    private String spicy;

}
@Query
데이터베이스에게 특정한 데이터를 보여달라는 클라이언트의 요청
@builder
파라미터를 활용하여 빌더 패턴을 자동으로 생성

빌더패턴: 동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법

@AllArgsConstructor
모든 필드 값을 파라미터로 받는 생성자를 만든다

@NoArgsConstructor
파라미터가 없는 기본 생성자를 생성

@RequiredArgsConstructor
final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 만든다
@NotNull
null만 허용하지 않는다

@NotEmpty
null과 "" 둘 다 허용하지 않는다

@NotBlank
null과 ""은 허용하지 않지만, " "는 허용 된다

 


 

헷갈리는 개념 정리

static
객체 생성 없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때 사용

final
해당 변수는 값이 저장되면 최종적인 값이 돼서 수정이 불가능
DTO?
데이터 전송을 위한 객체
클라이언트에서 서버로 전송하는 요청 데이터를 받을 때, 
서버에서 클라잉너트 쪽으로 전송하는 응답 데이터를 전송하기 위한 용도!
Mapstruct
객체 간의 매핑에 대해 코드를 자동으로 생성해주는 매핑 라이브러리

mapper
SQL을 메소드로 매핑시켜주는 것

mapping
하나의 값을 다른 값으로 대응시키는 것
ResponseEntity
HttpEntity 클래스를 상속받아 구현한 클래스가 RequestEntity, ResponseEntity 클래스
사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스
Factory Method 패턴
객체 생성 처리를 서브 클래스로 분리 해 처리하도록 캡슐화하는 패턴
제네릭(Generic)
클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미

객체<타입> 객체명 = new 객체<타입>();
ArrayList<Integer> list = new ArrayList<Integer>();
위의 예시처럼 Integer와 같은 타입을 지정하지 않고 외부에서 지정되는 것

 


 

진행 상황

내 실력 부족을 많이 깨달았다. 용어 정리가 제대로 되어 있지 않거나 추상적으로 이해하고 있는 부분이 많았다. 코딩한 모든 부분을 확실히 설명할 수 있도록 하나 하나 이해하고 외워야겠다.

모르는 것 투성이라 좀 버겁다 느껴지지만, 다들 처음엔 그랬을테니.. 느린 만큼 더 열심히 공부해야지!!!!!!!!!!!!!!!!!!!!!!!!!!!!!👻👻👻

728x90

댓글