오늘의 목표 노드 심화 강의 완료 ▶️ 3계층 아키텍처 (3-Layered Architecture) SW 아키텍처 패턴 중 가장 많이 쓰이는게 레이어드 아키텍쳐! 보통 3계층(컨트롤러, 서비스, 레파지토리)로 나누어져 있다. 컨트롤러는 클라이언트가 보낸 요청을 받아 처리하기 위해 서비스를 호출. 서비스는 클라이언트의 요구 사항을 처리, 필요한 데이터를 가...
오늘의 목표 개인과제 lv5 틀 잡기 ▶️ Referencing column 'UserId' and referenced column 'userId' in foreign key constraint 'Postsibfk1' are incompatible. 외래키로 가져오는 userId의 속성이 잘못되었다는 오류가 떴다. 찾아보니 type를 똑같이 설정하지 않으...
오늘의 목표 개인 프로젝트 진행 ▶️ throw문 원래는 service에서 오류 메시지를 던져주고 싶었지만 일단은 throw로 남겨두기로 했다. 튜터님의 피드백을 받아보기로 했는데, throw가 service에서 해결해야 할 일을 controller로 넘겨버리게 되는 것이니 이런 식으로 사용하는 건 비추천한다고 하셨다. 결국 수정쓰. ▶️ git com...
오늘의 목표 개인 프로젝트 진행 ▶️ 컨트롤러, 서비스, 레파지토리(레이어드 아키텍처 패턴) 컨트롤러 레이어에 로직 구성에 대해서는 이해가 됐지만 오늘 다른 대원분들과 얘기를 하면서 서비스와 레파지토리의 구분이 좀 이해가 안갔던 부분이 있었다. '레파지토리는 DB를 관리하는 레이어이기 때문에 include나 where 같은 조건을 거는 작업도 레파지토리에...
오늘의 목표 개인 과제 lv4(+lv5) 코드 리뷰 보고 수정하기 ▶️ 로직 구현시 DB 조회 자꾸 놓치는 부분인데, DB 조회 작업 같은 경우는 많은 리소스를 소모 하기 때문에 유효성 검증이 끝난 후 진행하는게 좋다! ▶️ mysql에서 ON UPDATE CURRENT_TIMESTAMP란? 데이터가 바뀔 때마다 자동으로 원하는 컬럼에 현재 시간으로 자...