묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
재고관리에 카프카 쓴 이유가 궁금합니다.
재고관리에 카프카 쓴 이유가 궁금합니다.제가 이해한 내용으로는 현재 order와 catalog는 다른 포트를 사용 중이고 같은 DB를 사용 중인걸로 알고있습니다. 그래서 카프카말고 @FeignClient로 재고관리에 업데이트 해주는 방식이 있는 거 같은데 이 상황에서 카프카를 쓴 이유가 있나요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
ch6번 첨부파일 질문있습니다.
문제상황: ch6 마지막 파일 다운 받은 후 npm i react react-dom 하고 npm start 했습니다.product와 todo를 누르면 아래와 같은 상황이 나옵니다. 혹시 첨부 파일이 잘못된거 아닐까요?ERRORCannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') at ListComponent
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
프로젝트에 카프카 쓸때도 설정 다 해줘야하나요?
이전 카프카1편 강의에서는 Iterm을 이용해서 직접 접근한 거 같은데 만약 스프링 프로젝트로 만들어도 jdbc connector, db connector를 kafka connector에 별도로 설정해줘야하나요? 아니면 스프링이 알아서 다 세팅해주나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
서비스단에 리포지토리를 주입받는 부분
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Order에서 처럼 서비스 단에 리포지토리만을 주입받아서 사용하는게 맞는 것인지 아니면 다른 서비스를 주입받아 사용하는게 좋은 로직인지 궁금합니다. 예를들어 findById를 리포지토리로 찾을 수도 있지만 memberService.findOne으로 가져올수도 있는 경우 어떤 것을 주입받아 사용하는것이 맞는 방식인지 질문드려요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Mockito 경고
[질문 내용]Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build what is described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3WARNING: A Java agent has been loaded dynamically (C:\Users\jaejin\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.15.11\a38b16385e867f59a641330f0362ebe742788ed8\byte-buddy-agent-1.15.11.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future release테스트는 통과를 했는데 위와같은 경고문이 나오네요 어떤 의미인지 잘 모르겠습니다.신경 쓰지않고 계속 진행해도 되는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
order의 cancel 메서드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]public void cancel(){ if(delivery.getDeliveryStatus() == DeliveryStatus.COMP){ throw new RuntimeException("이미 배송된 상품입니다"); } this.statusCancel(); for (OrderItem orderItem : orderItems) { orderItem.cancel(); } } 이렇게 메서드가 있는데 여기에서 orderItem 컬랙션에 있는 값들을 cancel로직을 통해 삭제하게 될 경우 db에 반영이 정상적으로 되나요? 즉 리포지토리에서 가져온 상태가 아닌 그냥 도메인 단에서 처리해줘도 영속성 컨텍스트에 의해 관리되고 더티체킹이 적용되어 cancel 로직에 의해 업데이트 되는건가요?
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
Controller에 테스트
Controller에 테스트를 넣을 필요가 없다고 해주셨는데 실습에서는 넣은 이유가 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
도커로 사용해도 카프카 커넥트 설정 다 따라해야하나요?
도커로 사용해도 카프카 바이너리, 카프카 커넥트, 카프카 jdb 커넥트 세개 다 다운하고 설정해줘야하나요?
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
채팅 방식 질문입니다!
학습중 궁금한 것은 언제든 문의 하세요.질문을 최대한 자세히 남겨주시면 반드시 답변 드리도록 하겠습니다.추가로 알고 싶은 내용도 요청해주시면 강의 자료를 업데이트 해서 제공할 예정입니다. 해당 강의에서 http요청은 mq를 사용하게 되는데 채팅의 경우 스프링의 기본 내장브로커를 사용하게 되는 것이 아닌가요?
-
미해결1시간만에 끝내는 spring boot rest api 서비스 개발
swagger spring boot 3 적용 run 실행 에러
spring boot 3.4.3 버전 pom.xml 에러가 납니다 <!-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui --> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.8.5</version> </dependency>main 함수 run 실행시 아래왜 같은 에러가 나옵니다 Could not transfer artifact org.springdoc:springdoc-openapi-starter-webmvc-ui:pom:2.8.5 from/to central (https://repo.maven.apache.org/maven2): 알려진 호스트가 없습니다 (repo.maven.apache.org)
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
스프링 부트 3.0 버전 프로젝트 초기 설정
itemservice-db 파일에 gradle 에 들어가서 no jdk -> jdk 17 gradle jvm -> java_home 17.0.12프로젝트 설정 build.gradleplugins {id 'org.springframework.boot' version '2.6.5'id 'io.spring.dependency-management' version '1.0.11.RELEASE'id 'java'} 혹시 3.0 버전으로 설정 되어 있는 파일 다운 받을 수 있는 곳이 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
임베디드 타입과 1대1 매핑
임베디드 타입을 몰랐을 때는 따로 관리하면 좋을 것 같은 컬럼들을 1대1 매핑해서 사용했습니다. 예를 들어 Member 엔티티에 city, street, zipcode 컬럼을 Address 엔티티로 만들어서 Member와 Address를 1대1 매핑 시켰습니다. 임베디드 타입을 배우고 나니까 이전에 제가 했던 방법이 잘못된 방법인가 궁금해서 질문드립니다! 항상 좋은 강의 감사합니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
로그인 성공과 실패처리 강의 중에 궁금한점이 있어 질문드립니다.(추가질문)
db 포스트맨: 에러상황: 포스트맨으로 db에 있는 email과 패스워드 입력해도 로그인이 안됩니다. 참고로 db에 있는 이메일 : user9@aaa.com 직접 db에서 수정하고 저장했습니다. 그리고 user8@aaa.com로 해도 안됩니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
DTO와 인증 서비스 강의 질문있습니다.
1.DTO와 인증 서비스 13분 38초 화면이 [username user9@aaa.com ,password 1111] postman에서 회원가입하는 화면인건가요?2.DTO와 인증 서비스 17분 10초 postman 화면도 있는데 이거는 로그인 화면인건가요?3. 제가 포스트맨에서 username user10@aaa.com ,password 1111으로 넣고 send를 누르면 맨 위 사진과 같이 에러가 나옵니다.참고로 db 테이블에 username user9@aaa.com ,password 1111 내용이 있습니다.포스트맨{"timestamp": "2025-03-02T20:26:21.086+00:00","status": 404,"error": "Not Found","trace": "org.springframework.web.servlet.resource.NoResourceFoundException: No static resource api/member/login.\r\n\tat org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586)\r\n\tat org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService spring boot 실행시 아래와 같이 나옵니다. Principal이 username이 user9@aaa.com로 안나옴.[Principal=anonymousUser, Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=null], Granted Authorities=[ROLE_ANONYMOUS]]코드 첨부합니다.https://drive.google.com/file/d/1VtPVj_uRjPC7fYG3gRCeuFKcs2s4wPZm/view?usp=drive_link
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대다 연관관계를
다대다 연관관계를 연결테이블을 추가해서 일대다, 다대일 관계로 풀어내야함. 강의 자료에 있는 위 말에 조금 혼동이 있어서 질문드립니다.다대다 연관관게를 중간에 연결테이블을 두어서, 연결테이블을 기준으로 다대일 단방향 연관관계나, 다대일 양방향 연관관계로 하는것을 말하는것일까요?아니면, 이전 앞선 강의에서 학습한 일대다 단방향 연관관계를 말씀하시는걸까요..?강의에서는 중간 테이블을 기준으로 다대일 양방향 연관관계로 진행하신거 같은데, 강의자료에 있는 일대다 관계로 풀어냈다는 말의 의미가 무엇인지 혼동이 와서 질문드립니다..
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대다 연관관계에서
강의에서 다대다 연관관계 일때는, 중간에 엔티티를 하나 더 추가해서 일대다, 다대일 관계로 하는게 효율적이라고 말씀하셨습니다. 1. 그래서 MEMBER와 PRODUCT간에 다대다 관계인것을 중간에 ORDER를 추가해서 일대다, 다대일 관계로 해야하는거 같은데, 여기서 말씀하신 일대다 관계라는게, 앞선 강의에 있는 일대다 단방향 연관관계를 말하는것일까요??MEMBER -> ORDER간에 일대다 단방향 연관관계를 말씀하시는것인지, 아니면 MEMBER <-> ORDER 간에 다대일 양방향 연관관계로 하는것을 말씀하시는것인지 헷갈려서 질문드립니다..즉, 여기서 말하는 일대다 관계라는게 MEMBER에서 외래키를 관리하는 일대다 단방향 연관관계의 개념인것인지, 중간테이블 관점에서 다대일 관계를 말하는것인지 헷갈려서 질문드립니다.. 2. 다대다 연관관계일때는 중간에 엔티티를 두어, 중간 엔티티를 기준으로 다대일 단방향 연관관계나, 다대일 양방향 연관관계로 해야 하는것일까요??
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
DB 테스트 코드 작성에서 .containsExactly에 관한 질문
안녕하세요! 섹션 4 강의를 보다보니 의문점이 생겨서요 Repository를 테스트하는 과정에서 test() 메서드에 .containsExactly를 사용하고있습니다.강사님께서 내용과 순서가 모두 맞아야 한다고 설명하시더라고요. 메모리에서의 테스트나 DB를 조회할 때 순서를 보장할 수 없는 것으로 알고있는데 문제가 있을 수도 있지만 간단한 테스트를 위해서 사용한것인지 아니면 실제로도 이런식으로 테스트 하는지 궁금합니다.관련한 질문들을 확인했으나 만족할만한 답변이 없어서 질문드립니다.
-
미해결실전! 스프링 데이터 JPA
Projection 개념과 데이터 전달과정에 대해 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]궁금한게 있어서 질문합니다.Projection관련인데요.제가 이해하기로는 new 오퍼레이션을 이용해서 dto에 생성자로 데이터를 담는 방식에서 진화한 방식이라고 생각되는데, 그렇게 이해는게 맞는지 궁금합니다. interface로 proejction을 사용하면 get()함수를 통해 데이터를 꺼내오는 방식이고class를 사용하면 new 오페레이션을 사용하는 방법과 똑같이 생성자를 이용하는거 같은데, 대신 필드의 이름과 엔터티의 이름이 같던가, 같지 않다면 @Query를 이용해 alias로 맞춰주던가 하면 되는걸까요?? 또한, 이렇게 Projection을 사용해서 데이터를 가져왔을대, interface던 class던 컨트롤러에서 데이터를 프론트로 넘길때 해당 객체를 사용해도 되는건가요? 아니면 따로 또 dto를 만들어서 담은 후에 내보내야 되는건가요??
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
단축키 질문입니다.
DTO와 인증 서비스 2분 33초에서 35초 사이에 코드가 갑자기 생기는데요. 혹시 어떤 단축키 눌른건지 알 수 있을까요?Alt + Insert눌러도 super까지 포함된 메소드는 나오지 않아서요.public MemberDTO(String email, String pw, String nickname, boolean social, List<String> roleNames) { super( email, pw, roleNames.stream().map(str -> new SimpleGrantedAuthority("ROLE_"+str)).collect(Collectors.toList())); this.email = email; this.pw = pw; this.nickname = nickname; this.social = social; this.roleNames = roleNames; }
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
서비스계층과 컨트롤러(3) 질문있습니다.
서비스계층과 컨트롤러(3)-상품수정 5분 42초에서 uuid값은 화면쪽에서 처리되면서 붙는다는게 무슨 의미인지 알 수 있을까요?@Override public void modify(ProductDTO productDTO) { //step1 read Optional<Product> result = productRepository.findById(productDTO.getPno()); Product product = result.orElseThrow(); //change pname, pdesc, price product.changeName(productDTO.getPname()); product.changeDesc(productDTO.getPdesc()); product.changePrice(productDTO.getPrice()); product.changeKeyword(product.getKeyword()); //upload File -- clear first 내용이 있을 수도 있기 때문에. product.clearList(); List<String> uploadFileNames = productDTO.getUploadFileNames(); if(uploadFileNames != null && uploadFileNames.size() > 0 ){ uploadFileNames.stream().forEach(uploadName -> { product.addImageString(uploadName); }); } productRepository.save(product); }CustomFileUtil에서 saveFiles메소드에서 List<String> uploadNames = new ArrayList<>(); 배열을 선언하고 ProductServiceImp에서는 product.clearList();로 있던 배열에서 내용을 지우면서 사용하는데요. CustomFileUtil클래스 에서 데이터 베이스 1행에 저장할 리스트 생성해주고 그 리스트를 수정하는 역할이 product.clearList(); 인가요?