묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
안녕하세요 토비님
질문이 있어 남깁니다.30. 회원 애플리케이션 기능 추가 강의 중 Activate 메서드를 작성하면서 설명해주신 Spring Data Jpa 사용시 save를 사용해야 한다고 공식문서에 나와있다고 하셨는데 해당 문서에 대한 링크를 알수있을까요?save를 안티패턴이라고도 설명을하고 불필요한 오버헤드 발생에 대해서는 어떻게 생각하시나요? 강의의 내용 처럼 JpaRepository가 아닌 Repository를 사용 하는경우에는 필수적으로 save를 해야 하나 JpaRepository의 경우는 Jpa 자체에서는 save라는 것이 없기 때문에 새로운 엔티티를 생성할때만 사용을하고 업데이트의 경우는 생략을 해야하는 것일까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
좋아요가 없는 경우 init으로 최초 생성 시 질문
안녕하세요. 좋아요가 없는 경우 팩토리 메소드로 좋아요 객체를 생성하고 영속시키는 부분은 이해가 되었습니다. 그런데 비관적 락의 select for update 를 할 때 데이터가 없으면 row 도 없으니까 락이 안잡히지 않나요? row가 존재해야만 락이 생성되는게 아닌지 궁금합니다. 그리고 이 경우 신규 데이터를 생성할때 0으로 초기화 하고 1을 증가시켜 저장할 때 여러 요청이 있게 되면 다시 경쟁 상태에 놓이게 되는게 아닌가요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
커버링 인덱스 미사용
안녕하세요 강사님, 강의 정말 잘 듣고 있습니다!기존에는 항상 커버링 인덱스를 활용하셨었는데, comment_v2 인피니트 스크롤에서는 서브쿼리를 빼고 바로 전체 데이터를 조회하시더라구요.혹시 특별한 이유가 있을까요?커버링 인덱스를 일부러 포기한 구조인지, 아니면 path 기반 설계에서는 서브쿼리 자체가 필요 없어졌기 때문인지 궁금합니다.
-
해결됨이거 하나로 종결 - 32시간 고품질 스프링 풀스택 웹 개발
선생님 안녕하세요
선생님 안녕하세요 무료강의 들으면서 말도 안 되는 구성에 말도 안 되는 가격으로 또 처음 출시시 할인까지해주셔서 너무 감사합니다. 이전 풀스텍 강의 바로 결제했고, 다른거 하면서 무료강의부터 듣고 학습중인데이번에 나온 리액트 강의도 당연 구매해서 학습할 예정인데, 이 전에강의는 수강기간이 무제한으로 나와있던데지금 리액트 포함 강의는 36개월만 들을수 있는건가요? 물론 몇회독을 할수있는 시간이긴한데, 전에 강의랑 비교해서 이 강의는 수강기간이 무제한이 아니라 문의글 남겨봅니다.항상 감사합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
자바 17버전으로 프로젝트 세팅
자바 17버전으로 할려면 프로젝트 파일 내 어떤것들을 수정 해야하죠?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build 후 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]libs폴더로 이동 후 java -jar SpringRecture-0.0.1-SNAPSHOT.jar 실행했을 때 발생하는 오류인데 뭐가 문제인가요?
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka connect 연결시 Mysql Access Denied 문제해결법
java.sql.SQLException: No suitable driver found for jdbc:h2:mem:testdbjava.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)현재 kafak connect 연결시 이런 오류가 뜹니다. order-service를 mariadb Driver로 설정했는데 왜 h2메모리방식의 드라이버를 찾는지 이유를 잘 모르겠으며 해결방법이 절실합니다. Kafka의 zookeeper, Kafka server는 현재 작동이 잘됩니다. 윈도우 사용자입니다. 도움이 절실합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka connect 실행시 No suitable driver 해결이 안됩니다
현재 zookeeper, kafka server는 다 실행되고 topic list도 잘 나오는 상황입니다. 하지만 현재Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mydb이 에러 때문에 진도를 못나가고 있는 상황입니다. 강의 그대로 했음에도 불구하고 어떤것이 문제인지 모르겠습니다. 제발 도와주세요
-
해결됨이거 하나로 종결-고품질 리액트와 스프링부트 65시간 풀스택 개발 강의(도커, AWS, GITHUB-ACTIONS)
강의노트가 자료에 있는건가요..? (답변이 늦어져도 괜찮습니다)
https://webzz.tistory.com 링크를 강의노트에 넣어놓을테니 꼭 확인 부탁드린다고 하셨는데 1. 자료안에 강의 노트가 안보입니다2.https://webzz.tistory.com 이 사이트는 쿠팡 파트너스 사이트 같습니다ㅠㅠ
-
미해결스프링 부트와 리액트로 구현하는 소셜 로그인
로그인 성공시
로그인 성공시defaultSuccessUrl 에서는 "/todos" 로 설정하고successHandler의 CustomLoginSuccessHandler 에서는 "/" 로 되어 있을때 어디로 리다이렉트 되어야하나요?설명에는 defaultSuccessUrl 가 우선순위라고 하셨는데, 실행해보면 / 로 갑니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Member 엔티티 - Item 엔티티 연관관계 설정
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 강의 수강 중 질문이 생겨 여쭤봅니다.요구사항 분석을 확인하면 '상품 등록'이 있습니다. 상품 등록은 회원이 직접 상품을 등록하는 것일텐데 도메인 모델 설계 부분에서 Member 엔티티와 Item 엔티티 간 연관관계가 없는 이유가 궁금합니다. Member 엔티티가 Item을 등록하는 기능도 있으니 Member 엔티티와 Item 엔티티 간 연관관계도 설정해주어야 하지 않나요 ?!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
JPA모델과 도메인모델 분리가 필요한 사례
안녕하세요 🙂"도메인 모델을 직렬화 했다가, RDB에 저장했다가" 하는 경우도 JPA와 도메인모델 분리가 필요한 경우라고 생각되는데 어떻게 생각하시나요?도메인모델이 생성되었을때 영구보관이 필요한게 아니라, 어느정도 상태머신이 진행된 후 영구 보관이 필요하여 그전에는 레디스나 다이나모 같은 저장소에 보관하다가, 이후에 RDB에 영구보관을 하는 경우가 좀 더 자세한 예시일 것 같아요. 이 경우 JPA에서 DB 성능등을 이슈로 양방향맵핑을 하는 경우 순환참조로 인한 직렬화 이슈가 생기기 때문에 어떻게 해결할 수 있을지 고민하다가 이때 모델 분리를 선택한 경험이 있습니다. -- 무조건적인 지향을 하는게 아니라 필요에 따라 기술을 선택할 수 있게 강의를 진행해주시는 점 너무 많이 배우고 있습니다. 감사합니다.
-
해결됨Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복
MCP가 제 로컬 디렉토리와 파일을 어떻게 알 수 있나요?
안녕하세요 강의 수강 중 궁금한 것이 생겨서 질문 드립니다.강의에서 Claude에게 우리 로컬에 있는 스프링(인텔리제이) 파일 구조를 묻고 Claude는 권한을 물은 뒤 구조를 분석해줬는데 여기에서 Claude에도 제트브레인 관련 플러그인(JSON 파일)을 설정해주어서 Claude에게 질문을 했을 때 Claude MCP 서버가 제트브레인 MCP로 요청을 해서 내용을 받은 것이라고 이해했고 제트브레인 MCP 서버는 강의에서 인텔리제이에 MCP 서버 플러그인을 설치해서 내 로컬의 파일 구조를 상호작용을 통해 알 수 있을 거라고 추측하고 있는데(맞게 이해했는 지는 잘 모르겠네요ㅎ..) 그러면 제트브레인의 MCP는 Claude MCP 서버가 주는 요청이 내 로컬의 인텔리제이 IDE의 내용이라는 것을 어떻게 알 수 있는 걸까요?강의 내용과는 무관할 수 있는데 궁금해서 질문 남깁니다. 감사합니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
조회수 어뷰징 방지 질문
안녕하세요~어뷰징 방지에 대한 질문을 드리고 싶습니다. 현재, 어뷰징 방지를 위해 분산락을 잡고 해당 유저가 특정 게시물에 대한 조회수를 10분 동안 1만 올릴 수 있도록 설계해주셨는데요.레디스의 키-벨류 로도 충분히 위와 같은 어뷰징 방지를 설계할 수 있지 않나요?SETNX (key=유저+게시글, value=1, TTL=10분) 만약 이 값이 이미 존재한다면 조회수를 올리지 않는 방식으로 구현해도 충분할 거 같은데, 분산락으로 이 로직을 구현하신 이유가 궁금합니다. 감사합니다!
-
미해결스프링 부트와 리액트로 구현하는 소셜 로그인
SocialLoginWeb1303 소스 제공해 주시면 안되나요?
SocialLoginWeb1303 소스 제공해 주시면 안되나요?
-
미해결웹소켓/STOMP 채팅서비스(spring, vue, redis)
/connect 경로에 대한 토큰 검증의 필요성
JwtAuthFilter에서 /connect 경로의 토큰 검증도 이루어진다면 interceptor는 구현할 필요는 없는건가요? 동일하게 subscribe, disconnect도 JwtAuthFilter에서 검증이 이루어지니까 interceptor 코드는 필요 없는 걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[제보] pdf내 gradle dependencies 명령어가 동작하지 않는 이슈 제보
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. '1.프로젝트 환경설정.pdf' 강의자료내 5페이지에 있는 gradle 명령어에 오류가 있어 제보 합니다. 강의자료 5페이지에 있는 내용중 아래의 이미지에 표시한 gradle 명령어를 그대로 복사했을때 동작하지 않습니다../gradlew dependencies —configuration compileClasspath 하이픈(-) 하나가 누락된것으로 보이는데 아래와 같이 정정 요청 드립니다. :-) AS-IS./gradlew dependencies —configuration compileClasspathTO-BE./gradlew dependencies -—configuration compileClasspath
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberRegisterRequest 에 대해서
토비님, 항상 좋은 강의 감사드립니다. 강의 내용을 학습하던 중 궁금한 점이 생겨서 질문드립니다!강의 코드에서 MemberRegisterRequest가 domain 패키지 안에 직접 정의되어 있고, 이 동일한 객체를 adapter 계층의 컨트롤러에서 @RequestBody로 직접 받는 것을 확인했습니다.제가 접해온 일반적인 계층형 아키텍처에서는, 웹 계층을 위한 DTO를 별도로 두고 서비스 계층에서 이를 도메인 객체로 변환하여 도메인 계층이 웹 DTO에 의존하지 않도록 분리하는 방식을 주로 사용했습니다.그래서 강의에서 보여주신 설계 방식에 대해 궁금한 점이 두 가지 있습니다.이처럼 요청(Request) 자체를 도메인의 일부로 보고 domain 패키지에 포함시키는 설계가 갖는 이점은 무엇인지 궁금합니다.이러한 설계가 계층 간의 결합도를 높일 수 있다는 우려에 대해서는 어떻게 생각하시는지, 그리고 어떤 상황에서 이러한 실용적인 접근이 더 효과적이라고 판단하시는지, 토비님의 설계 철학이나 기준에 대해 여쭙고 싶습니다.감사합니다.
-
해결됨이거 하나로 종결-스프링 기반 풀스택 웹 개발 무료 강의
vue + springboot 과정 오픈예정일
안녕하세요 선생님... 선생님의 vue + springboot 과정이 너무 기대가되는데 혹시 언제 오픈 예정이신지 너무 궁금합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
무한 depth 에서의 delete 재귀적 삭제
depth가 3이상인 댓글을 삭제했을 때 부모의 부모까지 삭제가 이루어져야 하는 경우가 있지 않나요?<삭제된 댓글> ---- depth 1 ㄴ <삭제된 댓글> ---- depth 2 ㄴ <삭제되지 않은 댓글> ---- depth 3 위 구조에서 depth 3의 댓글이 삭제되면 depth 1의 댓글도 삭제되어야 하지 않나요?현재 delete 함수의 로직은 그렇게 작성되지 않은 것으로 이해했는데, 제가 이해한게 맞는지 궁금합니다. 감사합니다!