묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
pdf 파일 수정 부탁드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요, 강의를 듣다가 pdf를 보던 중 "참고" 라고 적힌 부분에 '|' 이 부분이 글 씨를 침범 하는 사태가 있습니다.이 강의 다른 pdf 파일도 확인 해보니까 어떤 것은 괜찮고 어떤 것은 사진처럼 이렇게 되어있습니다.pdf파일을 보는 사람이 있다면 불편할 것 같네요. 추가1"회원 서비스 테스트" 강의 에서 영상에 회원 가입 테스트 에서는 Assertions.assetThat(findMember.getName()).isEqualTo(member.getName());이렇게 작성 되어 있는데, 오늘(25.6.12)pdf를 보니 pdf파일 코드 에는 assertEquals(member.getName(), findMember.getName()); 이렇게 되어 있더라고요.이렇게 하신 이유가 무엇인가요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
노션에 오타가 있서요
첫번째로딩:5두번째로딩:5이 맞는 거 같아요5주차15) 대표적인 문제 사례 1, 2 해결 방법 에 있습니다
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
강의보다 낫네
무지성 강의 시청하다보면, 그냥 음음 하다가 끝나는 경우도 종종 있는데, 이건 읽으면서 무조건 쳐보니까 좋네 ㅇㅇ;notebooklm 에 넣어넣고 쓰고싶음
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링 빈 등록시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.스프링 기본편의 컴포넌트 스캔에서 배운 내용에 의하면스프링 빈 등록을 위해서는 @ComponentScan이 붙어있는 설정 정보 클래스가 존재해야하는거 아닌가요? 예제 코드에는 @ComponentScan이 붙은 클래스가 없는데, 어떻게 @Component("helloBean")이 붙은 메서드를 스프링빈으로 인식하는지 궁금합니다.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
@Async 여부의 차이가 궁금합니다.
@Async @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) public void handleEventJoinCompleted(EventJoinCompletedEvent event) { try { kakaoTalkMessageApi.sendEventJoinMessage( event.getPhoneNumber(), event.getEventName() ); } catch (Exception e) { log.error("알림 발송 실패. eventId={}, eventName={}", event.getEventId(), event.getEventName(), e); } }이 로직은 비동기적으로 이벤트를 처리하는 알림서비스 로직입니다. @TransactionalEventListner(Aftercommit)를 사용하면 메인 로직이 commit 된 이후에 해당 이벤트가 실행하는 걸로 알고있는데@Asnyc를 붙히지 않았더라도 메인 로직에서 끝마치고 해당 이벤트를 실행하니깐 똑같은 결과가 나오지 않나요?차이가 궁금합니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
45강 빌드 오류입니다.
안녕하세요?강사님 덕분에 열공하고 있습니다.2가지 문의드립니다.1) 프론트엔드의 리액트 소스 부탁드립니다. ==> cyj10241@gmail.com2) 45강 빌드를 하려는데 오류가 납니다. 저는 java를 17를 인스톨했습니다.[ec2-user@ip-172-31-43-148 Spring_Web]$ java -versionopenjdk version "17.0.15" 2025-04-15 LTSOpenJDK Runtime Environment Corretto-17.0.15.6.1 (build 17.0.15+6-LTS)OpenJDK 64-Bit Server VM Corretto-17.0.15.6.1 (build 17.0.15+6-LTS, mixed mode, sharing)[ec2-user@ip-172-31-43-148 Spring_Web]$ chmod +x ./gradlew[ec2-user@ip-172-31-43-148 Spring_Web]$ ./gradlew build -x testFAILURE: Build failed with an exception.* What went wrong:Could not determine the dependencies of task ':bootJar'.> Could not resolve all dependencies for configuration ':runtimeClasspath'. > Failed to calculate the value of task ':compileJava' property 'javaCompiler'. > Cannot find a Java installation on your machine (Linux 6.1.134-152.225.amzn2023.x86_64 amd64) matching: {languageVersion=17, vendor=any vendor, implementation=vendor-specific, nativeImageCapable=false}. Toolchain download repositories have not been configured.* Try:> Learn more about toolchain auto-detection and auto-provisioning at https://docs.gradle.org/8.14/userguide/toolchains.html#sec:auto_detection.> Learn more about toolchain repositories at https://docs.gradle.org/8.14/userguide/toolchains.html#sub:download_repositories.> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.위와 같은 오류가 나는데 해결 방법을 알고 싶습니다.감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. Execution failed for task ':test'.> There were failing tests. See the report at: file:///C:/Users/tahee/OneDrive/%EB%B0%94%ED%83%95%20%ED%99%94%EB%A9%B4/hello-spring/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.BUILD FAILED in 1s4 actionable tasks: 2 executed, 2 up-to-date 5분 27초까지 하고 실행했는데 오류나요 챗지피티가 하라는 거 다 해봤는데도 소용이 없네요 이거 가지고 3시간째 매달려 있는데 해결해주실 분 계실까요 하 모든 코드에 에러 없는데 실행만 하면 저래요
-
미해결스프링 핵심 원리 - 기본편
gradle 실행과 자바 직접 실행 test코드 결과 차이
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.스프링 부트 3.5 버전이라 Build and run using, Run tests using 모두 Gradle로 두고 test 코드를 실행했는데 오류가 납니다. 반면 IntelliJ IDEA로 바꾸고 실행하니 성공합니다. 테스트 코드 모든 라인에 주석을 달고 @testvoid join(){}만 두고 실행해도 실패하는 걸로 봤을 때 코드의 문제는 아닌것 같은데 어디가 문제일까요..?
-
미해결스프링 핵심 원리 - 고급편
로그 추적기 V1 - 프로토타입 개발 소스 코드 관련 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.[1]Long stopTimeMs = System.currentTimeMillis();-> Long 으로 받은 이유가 궁금합니다.[2]private static String addSpace(String prefix, int level) {-> private 라 외부에서 객체 생성없이 사용할 수가 없을 것 같은데요. static 이 의미가 있는지 문의드립니다. 감사합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
active profiles는 인텔리제이 커뮤니티 버전에 없네요
무료버전은 해당 기능설정을 지원하지 않네요.뭐지? 했던분들 참고하시면 좋겠네요
-
미해결스프링 기반 REST API 개발
junit5 사용하시는 분들
@ParameterizedTest @CsvSource({ "0, 0, true", "100, 0, false", "0, 100, false" }) public void testFree(int basePrice,int maxPrice,boolean isFree){ // Given Event event = Event.builder() .basePrice(basePrice) .maxPrice(maxPrice) .build(); //When event.update(); //Then assertThat(event.isFree()).isEqualTo(isFree);; }@RunWith(JUnitParamsRunner.class) 는 junit4 여서 사용하지 못하고 junit5 에서는 @Test 로 파라메터 값을 지원하지 않기 때문에 파라메터 테스트를 위해@ParameterizedTest`CvSure`으체해서스트했습니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Model 질문.
이번 강의에서 나온 Model이 처음 mvc 패턴를 배울 때 request.setAttribute(key, Object)를 하여 request라는 HttpServletRequest의 내부저장소라는 곳에 저장하는 그 모델 맞나요?그러니까 request.setAttribute() 이 행위가 이번 강의에서 model.addAttribute("member", member) 한것과 동일한 것이라고 보면 될까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HandlerMapping를 사용하지 않아도 괜찮나요?
이번 강의에서 HandlerMapping에 대해서 강의하시는데요.이것과 관련해서 mvc 프레임워크 관점에서 궁금한 것이 있습니다. 스프링 mvc 프레임워크에서는 구조가 HandlerMapping 인터페이스를 구현한 BeanNameUrlHandlerMapping 클래스를 사용해서 요청된 url과 일치하는 핸들러를 반환?해서 찾아오잖아요? 저희가 이전에 mvc 프레임워크를 직접 구현했을때는 이 url에 대한 핸들러를 찾아올떄는 단순히 handlerMappingMap 라는 Map에서 해당 url에 맞는 핸들러를 가져왔는데요. mvc 프레임워크의 구조적 관점에서 볼때 핸들러를 가져올때 스프링 mvc 프레임워크의 HandlerMapping 인터페이스를 만들고 이것을 구현한 클래스를 사용해서 가져온 것처럼 핸들러를 가져올 필요가 없나요? 단순히 Map을 이용해서 가져오는 것만으로 mvc 프레임워크의 구조에 크게 문제가 없나요? 제 생각에는 mvc 프레임워크를 구현하는데 이것이 구조적으로 중요했다면 영한님이 MyHandlerAdapter 처럼 HandlerMapping 인터페이스를 따로 만드시고 이것을 구현해서 핸들러를 가져오는 구조로 만드시고 설명했을거라고 생각하거든요. 그런데 강의에서 딱히 Map을 멤버로만 핸들러를 가져오는 것으로만 설명하신거보면 HandlerMapping을 구현하는 것은 mvc프레임워크 구조 관점에서 중요한 것이 아닌가요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 오랜만에 예전에 메모했던 내용 복습 중인데"같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환한다. 이건 스레드 로컬 때문"이렇게 제가 메모해 두긴 했는데 내부 트랜잭션에서 REQUIRES_NEW를 사용하더라도 마찬가지인가요? 아니면 이땐 위 내용에 대해 예외인 케이스가 되나요?왠지 간단한 내용 같긴 한데 제가 스프링 고급 편 강의를 아직 안 들어서 잘못 이해해 버릴지도 몰라서 질문드립니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestMappding 메서드 단위같은 것이 무슨말인가요?
이번 강의까지 듣고 궁금한 점이 생겨 다른분들 질문과 답변을 몇개 읽어보았는데요.질답중 RequestMapping이 핸들러 메소드 단위 같은 말이 나오던데.. 무엇인가요?예시 질문섹션5. RequestMappingHandlerAdapter - 인프런 | 커뮤니티 질문&답변핸들러매핑 - 인프런 | 커뮤니티 질문&답변제가 놓친 것인지는 강의에서는 RequestMapping 메소드? 핸들러 메소드 단위? 라던지..라는 내용은 없었던 것같은데 말이죠.클래스 레벨을 언급하신건 기억이 납니다.무엇을 의미하는 걸까요?....
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
FaultTolerant의 retryLimit() 횟수 질문
킬구형 안녕, Fault Tolerant 쪽에서,retryLimit()을 설명해줄 때만약 retryLimit 값이 3일경우, "첫번째 호출시도 1번, 재시도 호출 2번"으로 총 3번이 호출된다고 했잖아.재시도 횟수는 항상 retryLimit - 1 이라 그랬고. 근데 왜 "ItemProcessor의 예외 발생 시 재시도 - 아이템 단위로 재시도 관리"의 마지막 호출 결과 찍어준 부분에서, retryLimit()은 3인데 왜 ItemProcessor는 4번이 호출되는거야?위에 설명한대로라면 3번만 호출되어야 하는거 아냐?
-
미해결스프링 핵심 원리 - 기본편
OrderServiceImpl 클래스에 의존성 주입이 되는 이유를 모르겠습니다
OrderServiceImplTest 코드에서OrderService orderService = new OrderServiceImpl(new MemoryRepository(), new FixDiscountPolicy()) 라는 코드를 작성하셨는데요이 테스트 코드에서OrderserviceImpl 내의 discountPolicy 에 의존관계가 주입되는 이유가 궁금합니다.new FixDiscountPolicy() 는 다음 강의에서 이 클래스에 @Component를 붙이므로 이번 강의에서는 @Component 가 작성이 안되어있는 것으로 아는데 이 말은 빈으로 등록이 안된다는 것으로 이해되는데요. 그러므로 OrderserviceImpl 는 @AutoWired를 이용한 자동주입을 사용하는데 것을 사용할 경우 이전강의인 다양한 의존관계 주입 방법 였던가요?빈에 등록되어있지 않으면 오류가 난다고 하셨습니다.그러니까 지금 현재 Test 코드에서 new FixDiscountPolicy() 이것은 빈이 등록되지 않은 없는 순수 자바 객체일것 같은데 OrderserviceImpl 에서 discountPolicy 를 자동주입 하려는데 어떻게 오류가 나지 않나요?
-
미해결스프링 핵심 원리 - 기본편
Test코드는 통과하는데 CoreApplication 에러가 난다면
강의에서 3분 20초 정도부터 나오는 내용에서 수동빈 등록 vs 자동 빈등록에 대해서 Test코드가 문제 없이 성공했잖아요? 같은 빈의 이름이 두개인데 등록 성공했다는 뜻이죠.그런데 스프링 부트로 실행하는, 그러니까 CoreApplication에서 실행하는 본 코드에서는에러가 나잖아요?여기서 제가 궁금한게Test 코드가 본코드 실행전에 말그대로 정상 동작하는지 Test 하기 위함인데 Test 코드에서는 성공했는데 본 코드에서는 에러가 난다? 그렇다면 이거는 Test 코드의 목적이 없어지는것 아닌가요?제가 뭘 잘못 이해하고 있는걸까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
OrderItems hibernate.default_batch_fetch_size 관련한 질문입니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Order<-> Member는 N:1Order<-> Delivery 는 1:1 관계이며, proxy 객체로 들고오는 것이 목적이 아니기 때문에 fetch join 을 이용하여 바로 데이터를 DB에서 들고 온 거고OrderItems 는 조회문에서 뺀 다음 Order <-> OrderItmes 1:N Lazy 를 이용하여 proxy 상태로 들고 온 상태에서.get() 과 같은 함수를 이용해서 그때 데이터를 채워놓은거라고 이해하면 될까요?OrderItems에 데이터가 DB데이터가 채워질 때 N+1 과 같은 문제가 발생하지 않은 건 hibernate.default_batch_fetch_size 또는 @BatchSize 이용하기에 그런 거구요.그럼 만약에 Order 주문 조회 후 Controller 에서 해당 OrderItems 의 Class 를 확인하면 proxy로 나오게 되고, order.getOrderItems() 와 같이 호출을 하게 되면 OrderItems는 proxy 객체가 아닌 실제 DB조회데이터가 나오게 되는 걸까요??
-
미해결스프링 핵심 원리 - 기본편
부모타입도 빈에 등록 되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================강의 내용중에 부모타입으로 조회시 자식 빈까지 모두 조회된다 라는 부분에서 궁금한 점 있습니다. 강의에서 TestConfig 클래스에서 RateDiscountPolicy 와 FixDiscountPolicy 타입을 빈으로 등록합니다.그리고 이 두 타입을 모두 조회하기 위해서 ac.getBeansOfType(DiscountPolicy.class) 에 부모타입인 DiscountPolicy.class를 넣어 조회했습니다. 그리고 또 ac.getBeansOfType(Object.class) 을 하여 자식 타입을 모두 조회했습니다.여기서 궁금한것은 DiscountPolicy나 Object 클래스는 Config 클래스에서 빈으로 따로 등록하지 않았는데도 어떻게 조회가 가능한건가요?