몬그로이

토이팀프로젝트 2일차 본문

Dev입성기/Dev 입성기_중기

토이팀프로젝트 2일차

Mon Groy 2024. 7. 12. 00:25

어제 팀원들에게 의견을 구했던

" board 초대 기능이 있는데 board 에 초대된 사람 list 있어야 하는 건 아닌지 궁금합니다!
카드 삭제는 user 든 manager 든 아무나 가능하니까
초대받은 사람만 삭제할 수 있도록 하는 게 맞는 거 같아서요.."

 

이 부분이 

" 보드 초대를 받지 않은 사용자는 해당 보드와 관련된 기능을 사용할 수 없다"

라는 내용으로 수정되어 올라와 있는 걸 발견했다

 

발제 이후 계속 켜놔서 있는 줄 몰랐는데..이미 고쳐져 있던 것!

 

이번에도 내가 너무 깊게 파고드는 건가 생각했는데 아니어서 다행이다


 

Entity 설정하기

마감일 설정

사용자에게서 입력받은 값을 기록하는 것이라

Json 타입을 LocalDateTime 으로 변환해야 한다

@Column
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "Asia/Seoul")
private LocalDateTime deadlineAt;

 

작업자를 기록해야 하는데, board 에 초대받아서 사용하는 사람 중에서 고르는 것이므로

String worker 를 User worker로 변경했다

 

그런데 Card를 User 가 작성하는 것이어서 이미 연관관계가 있는 상태인데

worker도 User 속성인 이중 연관관계가 되었다


좀 복잡한 상황이 발생했다

 

최초 clone 후 환경변수 설정과 내가 맡은 entity의 수정 등이 끝나고

그새 업데이트 된 dev를 pull 받으려고 했는데

아직 개인 브랜치를 만들지 않은 상황이었다

그렇다고 팀원에게 말하자 한 팀원이 dev에 commit 을 해놓자고 했고

commit 후 dev에서 pull을 받았다

 

그런데 오류가 떠서 또 수정을 해야했고, 수정이 끝난 다음엔 작업을 마저 하기 시작했다

그러다가 개인 브랜치를 파야지 싶어서 브랜치를 만들기는 했는데 옮길 수가 없었다

 

작업 시작 전 바로 push 를 했다면 괜찮았을 것을

그렇게 하지 않아서

새로 만든 브랜치로 옮기기가 애매해졌기 때문이다

 

왜냐하면 내가 작업하던 중에 dev에 팀원들이 새로운 push를 해 놓은 상태였기 때문이다

dev에 해놓았던 commit을 psuh 하려면 우선 pull을 받아야 하는데,

작업하던게 남아있는 상태인 것이다..

 

여기서 오류!

commit은 어느 브랜치에 checkout 되어있든 상관없다

push 하기 전에 다른 브랜치로 checkout 한다면, 그곳에서 push 할 수 있는 것

 

이 점은 튜터 한 분을 통해서 알게 되었고

무사히 pull을 받은 후 merge도 하고 checkout도 하고 push도 했다

 


 

Dto를 생성하는데 작명을 이랬다 저랬다 해서

클래스인데 package 처럼 계단식으로 생성되었다

inner클래스인가 싶어서 구글링해보았지만, 조건과 전혀 맞는 것이 없었다

그래서 팀원에게 해결책을 구했는데

rename 을 권했다가 옵션에서 나타나지 않자

그냥 삭제해 보는 거 어떠냐고 했다

혹시 몰라서 복사해서 옮겨 놓고 삭제를 했더니

멀쩡해졌다

 


 

repository 에서 Id로 검색을 하려고 하자 불가능하다고 나왔다

하지만 같은 repository 에서 다른 매개변수도 id였고 ,이건 불가능하다는 안내가 없었다

그래서 명명규칙에대해 찾아보았다

 

https://velog.io/@ohzzi/Data-Jpa-findByXXXId-%EB%8A%94-%EB%B6%88%ED%95%84%EC%9A%94%ED%95%9C-join%EC%9D%84-%EC%9C%A0%EB%B0%9C%ED%95%9C%EB%8B%A4

 

[Spring Data JPA] findByXXXId 는 불필요한 join을 유발한다

프로젝트에서 JPA를 사용하던 도중 이상한 부분을 발견했습니다. 엔티티 끼리 연관관계가 있을 때 어떤 곳에서는 findByXXX 형태의 쿼리 메서드를, 어떤 곳에서는 findByXXXId 형태의 쿼리 메서드를 사

velog.io

 

 

 

 

'Dev입성기 > Dev 입성기_중기' 카테고리의 다른 글

토이프로젝트 4일차  (1) 2024.07.14
토이 팀프로젝트 3일차  (1) 2024.07.14
토이 팀프로젝트 1일차  (0) 2024.07.10
나침반  (0) 2024.07.04
프로필 조회시 좋아요 수 필드 추가하기  (0) 2024.07.04