2022. 1. 13. 01:55ㆍTIL(Today I learned)
📕Facts(한 것)
- User POST 작성 완료
- 이메일 중복처리 구현 중
- mariaDB 한글 입력 오류 해결
- EC2와 RDS 연결완료
- List 객체를 도메인에 추가
- 테스트 코드 메서드 명 한글로 작성 중
📕Findings(배운 것)
회원가입을 간단하게 작성 완료 했다.
Jwt를 활용하지는 않았고, 간단히 동작 확인을 해야했어서 이정도만 구현했다.
TDD로 작성했고, 올바른 정보가 들어올 때, 아닐 때 모두 테스트를 마쳤다.
mariaDB한글을 처리하기 위해서 저번에 다 설정을 한 줄 알았는데,
collation 부분에서 한 개 처리를 덜 해줘서 한글 깨짐 현상이 생겼었다.
오늘 RDS에 접속해서 collation을 UTF8mb4_general_ci로 모두 수정하니 정상작동했다.
(한글입력을 위해서는 DB table을 삭제했다가 다시 생성해야한다.)
EC2와 RDS를 연결하기 위해서 이 블로그 저 블로그 다니면서 설정을 완료했다.
이제는 내 로컬 콘솔에서도 RDS를 수정할 수 있게 되어서 편하다.
datagrip으로 보는게 훨씬 편하지만, 아직 프로그램이 익숙하지 않고
콘솔로 드랍하고, foreign key 수정하고 하는게 더 편하다.
@ElementCollection(targetClass = String.class)
private List<String> stack;
domain에 List객체를 넣으려고 하니,@Entity 어노테이션을 붙이는 순간 에러가 발생했다.
그래서 stackoverflow에 뒤적거리니 이러한 해결책을 발견했고,
해결할 수 있었다.
@ElementCollection은 다음과 같은 특성을 가지고 있다.
- 연관된 부모 Entity 하나에만 연관되어 관리된다. 따로 관리가 불가능 하다. (@OnetoMany와 다르다.)
- 항상 부모와 함께 저장되고 삭제되므로 cascade 옵션은 제공하지 않는다. (cascade = ALL)
- 부모 Entity Id와 추가 컬럼(basic or embedded 타입)으로 구성된다.
- 기본적으로 식별자 개념이 없으므로 컬렉션 값 변경 시, 전체 삭제 후 새로 추가한다
테스트 코드 메서드 명을 한글로 작성하고 있다.
나름 재밌고, 가독성도 훨씬 좋다.
@Test
void 올바르지_않은_회원정보로_회원가입을_하려는_경우() throws Exception {
mvc.perform(
post("/users")
.contentType(MediaType.APPLICATION_JSON)
.content("{}")
)
.andExpect(status().isBadRequest());
}
📕Feeling(느낀 점)
내가 리딩경험이 없다보니, 잘하고 있는건지 잘 모르겠다.
코드 리뷰를 해주면서도, 내가 잘 하고 있는지도 의문이 들긴 한다.
📕여담
코드 컴플리트 마지막 스터디에 참여하지 못해서 안타깝다....!
'TIL(Today I learned)' 카테고리의 다른 글
(TIL) 20220114 (0) | 2022.01.15 |
---|---|
(TIL) 20220113, 코드리뷰를 내가? (0) | 2022.01.14 |
(TIL) 20220111, 사용자 생성 (0) | 2022.01.12 |
(TIL) 20220110, RDS와의 조우 (0) | 2022.01.11 |
(TIL) 20210109, 배포와 도커 (0) | 2022.01.09 |