-
7/1CodeStates_Backend/TIL (정제되지 않은 글들) 2022. 7. 1. 09:32
[굿모닝 세션 - 황정식]
* 질문 : 어제 신입 프로그래머 채용 공고들을 봤는데 너무 다양한 기술 능력 요구때문에 조금 걱정이 많아졌는데 교육기간 동안 조금만 더 시간을 내서 공부할만한 기술 추천해주실 수 있을까요?
-> 실제로는 그 기술들을 백프로 알고 온다고 생각안함. 그냥 배워봤나 정도임. 그것들은 우대사항임. 하지만 기본기가 중요함. 기본기는 이번 섹션 3에서 배운, 커피 주문 어플리케이션을 처음부터 끝까지 외우는 게 아닌 스스로 만들어보는 것임.
실제로 신입에게 많이 안바람. 경력에게는 많이 바람. 기본기가 탄탄하면 됨.
[라이브 세션 - 황정식]
Spring Data JDBC는 2018년에 나온 최신 기술임. 아마 기업들이 JPA를 많이 쓰고 있을텐데, 그래서 둘 다 알아야함.
* 정규화는 다다익선이 아닌가?
-> 아니다. 현업에서는 3에서 BCNF정도로만 정규화 시킨다고 한다.
* 주문커피정보 (CoffeeRef)가 주문(Order)에 속하는 이유는, 논리적으로 주문이 없으면 주문커피정보도 없기 때문임. 당연히 반대로 커피정보가 없으면 주문커피정보도 없지만,,, 논리적으로 주문이 잘 들어오지 커피가 잘 들어오지는 않지?? 원래 애매하다 설계라는게.
* Orders 와 Coffee는 서로 N:N 관계인데 이걸 1:N , N:1로 바꾸는 과정에서 Order_Coffee 테이블이 생성되고 그 안에 외래키 참조만 있고 기본키는 생성되지 않는게 기본키가 필요없기 때문인가요?
-> 맞음
* coffeeRef에는 왜 orderId가 없나요?
-> @MappedCollection 에서 참조되면서 같이 가져오는 걸로 보면됨.
* Set이랑 List랑 둘다 가능하지만, Set 이 더 간단해서 컨텐츠엔 Set으로 해놓은거임. 그냥 Set은 순서가 없으므로 사실 정렬을 위해 LinkedHashSet을 썼음. 정렬해줘야함. 단 리스트는 더 복잡한 설정 해줘야함.
*
저 "ORDER_ID" 가 실제 데이터베이스에서 ORDER_COFFEE 테이블에서 "ORDER_ID"라는 컬럼명이랑 매치됨. 똑같이 써줘야함. 의미는 "외래키가 될 컬럼을 지정" 하는 것.
* 질문 : Coffee에는 @MappedCollection을 안해도 되나요??
-> 같은 애그리거트 내에서만 @MappedCollection 을 쓰므로, Coffee와 CoffeeRef 사이에서는 안씀.
* CoffeeRef와 Coffee는 어떻게 연결되는지 잘 모르겠습니다.
-> ??? 앞서 Order 와 CoffeeRef를 연결해두면, 별도의 매핑 없어도 CoffeeRef와 Coffee는 매핑된다고 함.. 좀 찾아봐야 할듯.
* 정식님은 경험이 많아서 이번 코드 하루정도 걸림.
'CodeStates_Backend > TIL (정제되지 않은 글들)' 카테고리의 다른 글
7/5 (0) 2022.07.05 7/4 (0) 2022.07.05 6/30 (0) 2022.06.30 6/29 (0) 2022.06.29 6/28 (0) 2022.06.28