본문 바로가기

항해99

23.11.06 항해 99 16기 실전 프로젝트 29일차

오늘 공부한 것

* SSE 를 활용한 알림 기능 코드 작성

* 유저 테스트 홍보

 

오늘은 토요일에 공부했던 SSE 를 활용한 알림 기능 코드를 작성하기 시작했다

코드는 아직 작성중이어서 여기저기 빨간불이기 때문에 아직 올리긴 좀 그렇고

코드를 작성하며 공부했던 것들을 조금 정리해보고자 한다

 

@Embedded

1. 복합 값 타입으로 불리며 새로운 값 타입을 정의해서 사용하는 JPA 방법

    예) User Entity 에 id, 이름, 이메일, 성별, 주소 정보 데이터를 가지고 있을 때

          주소 정보가 도시, 구, 상세주소, 우편번호 등의 여러개의 칼럼으로 나눠져 있을 경우

          객체지향적이지 않으며 응집력을 떨어뜨리는데 이럴때 사용하면 더욱 더 객체 지향적인 코드를 만들 수 있다

// user.java
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NonNull
    private String name;

    @NonNull
    private String email;


    @Enumerated(value = EnumType.STRING)
    private Gender gender;
    
    // 주소 정보
    private String city; // 도시
    private String district; // 구
    private String detail; // 상세주소
    private String zipCode; // 우편번호

}

 

2. 새로운 Class 를 만들고 해당 Class 에 @Embedded 타입으로 묶으려던 Attribute 들을 넣어준 후 @Embeddable을

     붙여줘야 함

     * Embeddable : 값 타입을 정의하는 곳에표시

     * Embedded : 값 타입을 사용하는 곳에 표시

// user.java
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NonNull
    private String name;

    @NonNull
    private String email;


    @Enumerated(value = EnumType.STRING)
    private Gender gender;
    
    @Embedded
    private Address address;

}

 

// Address.java
@Embeddable
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Address {
    // 주소 정보
    private String city; // 도시
    private String district; // 구

    @Column(name = "address_detail")
    private String detail; // 상세 주소
    private String zipCode; // 우편번호
}

 

이후에는 유저 테스트를 또 홍보하고 다녔다

유의미한 데이터를 얻기위해선 최소 50개는 있었으면 좋겠는데

아직 30개 정도밖에 데이터가 없기 때문이다

생각지도 못한 피드백들이 많아서 매우 놀랍고 이래서 유저테스트가 중요한가 보다라는 생각이 들었다