안녕하세요. redis를 공부하던 중 궁금한 점이 생겨서 질문드립니다. 개발상황 window10 springboot 3.4.3 티스토리 를 참고해서 redis 설치 window for docker 설치 문제상황 docker의 compose.yml을 생성해서 docker 이미지(springboot와 redis)를 생성해서 동작을 시켰습니다. 이때 window에서 동작 중인 redis를 중지시키지 않았지만 docker의 redis는 포트 충돌 없이 정상적으로 동작합니다. window와 docker에서 redis가 여전히 동작 중인 것은 확인했습니다. Dockerfile FROM openjdk:17-jdk COPY build/libs/*SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] compose.yml services: api-server: build: . ports: - 8080:8080 depends_on: cache-server: condition: service_healthy cache-server: image: redis ports: - 6379:6379 healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 5s retries: 10 docker와 window에서 redis 서버를 동작시키는 상황에서 Windows 명령 프롬프트에서 netstat 명령어를 통해서 포트번호와 IP를 확인했습니다. C:\Users>netstat -ano | findstr :6379 TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 15492 TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 19004 TCP [::]:6379 [::]:0 LISTENING 15492 TCP [::1]:6379 [::]:0 LISTENING 3800 아래는 docker redis만 동작시켰을 때 상황입니다. C:\Users>netstat -ano | findstr :6379 TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 15492 TCP [::]:6379 [::]:0 LISTENING 15492 TCP [::1]:6379 [::]:0 LISTENING 3800 아래는 window redis만 동작시켰을 때 상황입니다. C:\Users>netstat -ano | findstr :6379 TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 19004 질문 redis는 docker와 window가 다른 네트워크 인터페이스를 가지고 있어서 포트 번호가 같아도 충돌이 나지않는걸까요? 그렇다면 왜 springboot 어플리케이션은 같은 포트로 동작시켰을 때 포트 충돌이 발생하지 않아야하는거 아닐까요? springboot 어플리케이션은 포트 충돌로 인해 docker 또는 window 둘 중 하나에서만 실행시킬 수 있습니다. docker, redis에 깊은 이해를 하고 있지 않아서 많이 어려운 것 같습니다. 문제 접근 방식이 잘못된건지 저에게는 어렵네요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 잘 따라하고 있다가 @Around에서 service 부분 따라하는 부분 시작하려하니 위 사진들과같은 에러?가 발생합니다 gradle 빌드 clean해봤는데 여전하네요... 뭐가 문제일까요? (참고로 패키지명은 저게 맞습니다. 강의랑 조금 다르게됐어요)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 캡쳐내용인데 사진을 보면 강의에서는 MemberServiceIntegrationTest 파일을 실행시킨거같은데 저는 이 파일에서 실행시키니 오류가 나고 MemberService 파일을 실행시키면 결과가 나오던데.. 뭔가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예 [질문 내용] 강의 내용과 똑같이 했는데 뭐가 문제일까요.. java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@23f5008a testClass = jpabook.jpashop.MemberRepositoryTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory$OnFailureConditionReportContextCustomizer@7c3fdb62, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@1130520d, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@7a3793c7, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@5456afaa, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1c39680d, org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesContextCustomizerFactory$DisableReactorResourceFactoryGlobalResourcesContextCustomizerCustomizer@1787bc24, org.springframework.test.context.support .DynamicPropertiesContextCustomizer@0, org.springframework.boot.test.context.SpringBootTestAnnotation@d0411fb6], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] 위와 같은 에러가 발생합니다.. 해결법을 알려주세요 ㅠㅠ
next는 자동적으로 캐시 저장기능이 있고 next에서도 DB 데이터가 필요한 페이지에서 직접 불러와서 사용하는 것을 권장한다 라고 말씀해주셨는데요 그러면 next는 보통 zustand, recoli, redux와 같은 상태관리 라이브러리를 사용하지 않는 것을 추천하시나요? 아니면 사용하는 것을 추천하시나요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 섹션4를 수강하고 나서 제가 필요한 기능을 구현하던 중에 문의가 생겨 질문남깁니다. 검색조건에 해당하는 객체들을 List 형태로 return 하려고 합니다. return type : List<Member> store type : List<Member> Member 안에 있는 이름이나 ID로 필터해서 검색하려고 하는데 .filter 에서 어떻게 적용해야 하는지 잘모르겠습니다. 아래 내용은 제가 시도해봤던 코드입니다. Order 클래스로 한것만 다르고 나머지는 동일합니다. public Optional<List<Order>> findIssueOrder(){ // List<Order> orderList = new ArrayList<>(); return null; // return store.stream() // .filter(order -> order.isCoupangDeliveryStop()) // .collect(); // .toList(); // .filter(order -> order.isCoupangDeliveryStop().equals(true)) // .findAny(); } @Override public Optional<List<Order>> findOrderByRecipientName(String recipientName){ return null; // return store.stream() // .filter(order -> order.getRecipientName().equals(recipientName)) // .findAny(); } 조언해주시면 감사하겠습니다. JAVA웹를 예전에 했었는데 오랜만에 다시 시작하려니 막막해서 검색하다가 강의 찾아서 듣고 있는데 너무 도움됩니다. 감사합니다!
안녕하세요. 강의를 들으며 따라 코딩작성을 해보다가 실행에 문제가 생겨 질문 드립니다. [클래스 변수와 클래스 메소드] 파트 붕어빵 문제입니다. 질문1> 16번째줄에 for문 안에 i<FishBread.count의 조건이 적혀있는데요. 제 생각엔 i<breads.length로 적어야 맞지 않나 싶은 생각이 드는데, 왜 i<FishBread.count인지 설명 부탁드립니다. 질문2> 22번째 줄에, fishBread.count 부분을 그냥 count로 적는것은 불가능한지? 설명 부탁드립니다. 질문3> 35번째줄, 생성자 앞에 Public을 적으니 10~13번째 줄들이 전부 빨간 밑줄이 쳐집니다. (생성자 앞의 public을 지우면, 10~13번째줄 빨간밑줄이 사라집니다) 빨간 밑줄이 쳐지는것으로 보아, 문제가 있는 것으로 생각되는데, public을 함께 적는 이유가 무엇인지 궁금합니다. 질문4> 40번째줄, FishBread.count++;을 단순히 count++;로 적으면 안되는 것인가요? 질문5> 45번재줄, 프린트문 내부의 contents는 왜 FishBread.countents가 아닌것인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] Spring Initializr에서 자바 23으로 만들었는데 인텔리제이에서 자바 17버전을 사용하고 있습니다. 테스트코드를 하거나 할때 문제가 될수도 있나요?