학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 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] 위와 같은 에러가 발생합니다.. 해결법을 알려주세요 ㅠㅠ
[질문 템플릿] 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. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] Spring Initializr에서 자바 23으로 만들었는데 인텔리제이에서 자바 17버전을 사용하고 있습니다. 테스트코드를 하거나 할때 문제가 될수도 있나요?
안녕하세요 강의 주제와는 맞지 않는 질문일 수도 있는데 모놀리식 아키텍처에서는 그냥 게시글 생성/수정/삭제, 댓글 생성/삭제 등 이런 로직에서 점수를 업데이트하면 될 것 같아서 그런데 모놀리식 아키텍처에서는 이벤트 방식으로 인기글을 선정하는 방법은 불필요하게 복잡하게 구현하게 되는걸까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 스프링 데이터 jpa가 알아서 쿼리 짜서 실행 다 해준다고하는데.. 그럼 개발자인 저희는 쿼리같은거 짤줄 몰라도 전혀 상관 없나요?
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 같은 Consumer groups에 속한 consumer들은 각각 다른 partition을 구독하는데, 같은 offset을 사용해야하는 이유가 잘 이해가 헷갈립니다. 즉, Consumer groups에 속한 consumer들끼리 같은 offset을 사용하는 이유가 잘 이해가 되질 않습니다 "각 데이터는 각 Topic의 Partition 단위로 순차적으로 기록되고, 기록된 데이터는 offset을 가진다." 라는게 간단한 예시를 들면, Topic1 ( 날씨에 관한 데이터 ) Partition 1 ( 서울 날씨 관한 데이터) partition 2 ( 부산 날씨 관한 데이터) partition 3 ( 대구 날씨 관한 데이터) 라고 이해를 했습니다. 근데 여기서 partition마다 데이터가 다른데 같은 offset을 사용한다는 개념이 잘 와닿지가 않습니다 항상 강의 잘 보고 있습니다. 감사합니다
안녕하세요 선생님! 저는 개발자는 아니구, 모의해킹 컨설턴트지만 그래도 웹의 구조를 이해하고 코드 분석하는데 필요해서 강의를 찾던중 선생님 강의 덕분에 큰 도움을 받았습니다^^ 선생님 강의덕분에 직접 개발하면서 웹의 전반적인 구조를 이해하고 모의해킹을 수행하고 조치가이드를 마련하는데 큰 도움이 되었습니다^^! 그후에도 여러 백엔드언어(php, asp) 및 was(tomcat, apache) 등 여러 언어를 공부하는중인데.. 상당히 방대하더라구요..ㅠㅠ 그래서 국내에 많이 쓰이는 백엔드 언어 및 웹서버, was서버를 기준으로 공부하고자 문의드리게 되었습니다! 문의사항1: 국내에서 많이 쓰이는 웹서버(apache, nginx..등등), was서버(jeus, tomcat..등등)가 궁금합니다^^! 문의사항2 : 국내에서 많이 쓰이는 대표적인 백엔드 언어(PHP, ASP, JSP, spring(JSPx)...등등)가 궁금합니다^^!
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘 듣고 있습니다. 테스트 코드 update와 delete 메서드를 실행해도 변화가 없어서 검색을 해보니 .retrieve() 뒤에 .toBodilessEntity()를 추가하니 정상적으로 작동됩니다. 강의와 다르게 .toBodilessEntity() 메서드를 추가해야지 작동하여서 이에 대해 어떤 차이가 있는 궁금합니다.
안녕하세요 강의 잘 듣고 있습니다. MSA 환경에서 SPRING CLOUD GATEWAY를 사용할때 예를들어 유저 서비스에서 JWT 서비스(생성, 검증)를 구성하고 SPRING CLOUD GATEWAY feign client로 통신하고 토큰을 검증하고 각 모듈로 헤더를 통해서 userId, role을 전달할때 api별 권한을 관리를 어떻게 하는지는 궁금합니다. 스프링 클라우드 게이트웨이에 SecurityConfig에서 모든 모듈에 대한 url에 권한을 설정하기에는 너무 많은 api별 권한을 적어야놔야 할것같아서 이게 맞나 싶습니다 혹시 각 모듈마다 ApiGatewayAuthenticationFilter를 만들어서 헤더 값을 통해서 아래 코드와 같이 SecurityContextHolder를 주입시켜서 각 모듈에 대한 SecurityConfig에서 권한을 관리 하거나 @ PreAuthorize 를 통하여 관리하거나 실무에서는 어떤 방법을 쓰는지 궁금합니다!!! List<SimpleGrantedAuthority> authorities = Collections.singletonList( new SimpleGrantedAuthority(formattedRole)); UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userId, null, authorities); SecurityContextHolder.getContext().setAuthentication(authentication); 더 좋은 방법이 있다면 알고 싶습니다!!
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
JVM 관련프로그램인데 micro인 1GB로 메모리를 설정하면 프로그램이 뻗을 일은 없을까요? (1번과 연계해서) 현재 SSR로 화면 그려주고 있는데, api처리 + 빈 컨테이너(Springboot) + Kotlin + 템플릿엔진(타임리프) 까지 했을때 1GB를 초과하지는 않으셧는지도 궁금합니다! 만약에 화면을 다른 언어/라이브러리(Vue, React)로 개발하게 된다면 CORS라던지 건드려야 될게 많아지고, 추가로 node 환경을 또 띄워야 되서 메모리가 부족하게 될 수도 있을까요?
해당 강의를 보고 jenkins를 이용해서 spring batch를 실행하려고합니다. 현재 application.yml은 아래와 같이 enabled: false로 해놓았습니다. spring: batch: job: fail-on-job-failure: true enabled: false jdbc: initialize-schema: never 젠킨스의 파이프라인인데 파라미터 주입은 잘되었습니다. 그런데 job은 생성이 되었다고 로그가 찍히고 spring도 실행중인데 명시해놓은 job을 실행을 안하네요... 2025-03-08T12:51:30.900+09:00 INFO 5801 --- [ main] l.l.e.job.LostItemSearchJobConfig : 🔵 Job 생성: dailyElasticStoreJob 2025-03-08T12:51:32.179+09:00 INFO 5801 --- [ main] l.l.LostNoMoreBatchApplication : Started LostNoMoreBatchApplication in 13.915 seconds (process running for 15.394) Ab java -Duser.timezone=Asia/Seoul -jar /var/jenkins_home/LOST-NO-MORE.jar \\ --spring.batch.job.names=dailyElasticStoreJob \\ --spring.batch.job.parameters="START_DATE=${params.START_DATE},END_DATE=${params.END_DATE}" application.yml에서 enabled: true로하고 job:name=dailyElasticStoreJob로하니깐 되고 어떤게 문제인지 모르겠습니다. 파이프라인은 문제가 없는데 자꾸 spring이 실행 중이고 job을 구동하지 않네요. 직접 JobLauncher를 이용해야하는 방법 밖에 없는 지 궁금합니다.
ApplicationContext 로드 실패 gpt에서 NaverClientTest파일에서 파일 위치 명확하게 하라고 해서 @EnableFeignClients(basePackages = "com.livray.feign") 이부분을 추가했더니 아래와 같은 에러가 나왔습니다. Caused by: org.springframework.beans.factory.support .BeanDefinitionOverrideException: Invalid bean definition with name 'default.NaverClientTest.FeignClientSpecification' defined in null: Cannot register bean definition [...] since there is already [...] bound. 그래서 @EnableFeignClients(basePackages = "com.livray.feign") 이부분을 지웠더니 다시 ApplicationContext 로드 실패에러가 나옵니다. 코드는 강의 하단에 있는 부분을 붙여놨습니다. 환경변수는 제대로 설정해놓았는데 공유해야해서 dummy로 설정해 놓았습니다. 아래는 코드링크입니다.
조회를 하고 cache확인 api를 호출해도 캐시데이터가 보이지 않습니다.. 어디를 확인해봐야할까요? chatGPT를 통해 물어보고 확인해본 아래다섯가지는 정상적입니다. 코드도 깃허브 코드에서 수정한것이 없어서 질문남깁니다 spring.cache.type=ehcache 설정 확인 ehcache.xml 파일 존재 여부 및 경로 확인 Ehcache 의존성 ( ehcache 라이브러리) 추가 여부 확인 @EnableCaching 설정 확인 @Cacheable 이 정상적으로 적용되었는지 확인
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 회원가입() 테스트를 실행하면 위와 같이 나옵니다. 강의에선 "이미 존재하는 회원입니다"가 뜨던데.. 뭐가 잘못된걸까요
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 듣고 있는 학생입니다. 다름이 아니라, 강의에서 query DSL 대신 Native Query를 사용하시는 이유가 있으신가요? 현업에서는 query DSL 대신 Native Query를 더 많이 사용하는걸까요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] MemberService를 import 없이 사용할 수 있는 이유가 뭔가요? Member와 MemoryMemberRepository는 import를 해줘야 쓸 수 있는데 MemberService는 그렇지 않은게 궁금합니다. 패키지 이름이 service로 동일하기 때문인가요? 모듈이 다르면, 패키지 이름이 같더라도 다른 패키지로 치는게 아닌가요? 혹여 junit을 사용한 테스트 모듈이라 그런걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 회원 웹 기능 - 등록 강의에서 PostMapping 중 join을 눌렀을 땐 강의처럼 잘 이동하는데 save를 누를 경우에 강의에서는 MemoryMemberRepositoty 클래스로 이동하는데 저 같은 경우에는 MemberRepository 인터페이스로 이동이 되더라고요 실행했을 경우엔 초기 화면으로 돌아가지지 않았습니다 코딩은 동일하게 따라했습니다 혹시 더 필요하신 코드 있으시면 더 남기겠습니다 package hello.hello_spring.controller; import hello.hello_spring.domain.Member; import hello.hello_spring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @Controller public class MemberController { private final MemberService memberService; public MemberController(MemberService memberService) { this.memberService = memberService; } @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } @PostMapping public String create(MemberForm form) { Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } }