스프링 3

[냉메추] 멀티모듈로 구현을 한다는 것. 서버가 많이 필요하다는 것.

이전에 이야기한 대로, 멀티모듈로 프로젝트를 만들기로 했다. 멀티 모듈을 어떻게 배포하는 건지, 처음부터 다시 정리해보기 시작했다. settings.gradle, build.gradle설정해주기물론 IDE 등에서 내부에 모듈을 추가하게 하면 자동으로 추가되지만, 그래도 알고 지나가는 것은 중요하다고 생각한다.우리가 가지고 있는 모듈 내부에 이런 모듈들이 존재한다는 것을 명시해주었다.  또한, build.gradle에서 이렇게 내부에 include된 모듈들에 대한 공통적인 dependencies를 추가해줄 수 있었다. subprojects { apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spr..

냉메추 2024.04.29

[냉메추] 학교에서 새로운 서비스를 만들어보게되었다..!

학교에서 새로운 프로젝트를 진행하게 되었다. (캡스톤 디자인으로 시작했는데, 나중에 계속해서 빌드업을 해보면 좋겠다는 생각이 되었다. ) (곰터뷰가 이제 둘이 되겠군...?) 회원의 냉장고 데이터를 받아서, 추천해줄만한 메뉴를 만들어 반환하는 로직을 생각하고 있다. 데이터는 만개의 레시피에서 참조하기로 했다. 찾아보니, csv파일 형식으로 대략 20만건정도를 받을 수 있었다. 해당 데이터를 전처리해서 DB에 데이터를 넣어주고, 조회의 최적화 로직도 생각하게 되었다. 그래서 우리팀은? 우리팀은 프론트 둘에, 백엔드는 나 하나다. 심지어 캡스톤 디자인의 담당교수는 빅데이터, ML을 주로 가르쳐주시는 교수님시다. 즉, 나중엔 AI 관련 학습도 진행하면서 회원들의 사용내역을 모두 군집화해서 추천 알고리즘에 적용..

냉메추 2024.03.28

받았던 질문 : ExceptionAdvice? 이거 어떻게 동작하는거임?

캡스톤을 하다가, 한 동기가 질문했던 부분을 블로그에 남겨보기로 했다. 일단 받은 질문을 간단하게 요약하자면, 스프링은 자바로 동작한다. 자바에서는 에러가 발생하면, RuntimeException(이놈 말고도, IllegalArgumentException처럼 extends RuntimeException을 받는 녀석들이 있다)으로 발생하는 예외들은 분명 러닝과정에서 빨갛게 예외가 발생했다고 뜬다. 근데 이렇게, Response를 이용해 Exception에 대해 뭐시기를 해주는게 의미가 있는가? 였다. 일단, 이러한 유튭..아니 블로그각을 만들어준 동기에게 감사하고 정리를 조금 해봐야겠다. 테스트를 위해 하나의 예외를 집어넣어 실행을 시켜보았다. 이 상태에서, 실행을 시키고 해당 컨트롤러 uri를 요청하면,..