묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Test의 application.yml을 지웠을 때
[질문 내용]OrderServiceTest에서 테스트 메서드를 실행하면서 H2 DB에 쿼리가 들어가는지 확인하기 위해 Test 폴더 안에 resources를 지우고 상품주문 테스트 메서드 안에 RollBack(value = false), em.flush()를 통해서 실제 데이터가 들어가는것을 확인하였습니다. 그런데 다시 원래대로 돌리는 과정에서 Test폴더 안에 resource를 만들고 해당 테스트의 application.yml를 돌려났음에도 불구하고 실행했음에도 H2 DB 안에 데이터는 그대로 남더라고요. 그래서 RollBack(value = false), em.flush()를 지우고 다시 실행해도 계속 데이터가 남는데 어떻게 해결하면 좋을까요?
-
미해결스프링 핵심 원리 - 기본편
인터페이스와 구현체 생성 순서
[질문 내용]안녕하세요. 이미 로드맵 1회독을 마치고 TDD관련 공부를 하다가 객체지향과 DI,IoC의 개념에 대해 복기하기 위해서 강의를 듣던중 궁금한 부분이 생겨 질문을 남깁니다. 아직 개발 경력이 짧은 대학생임을 감안해주시면 감사하겠습니다. 인터페이스와 구현체를 분리하는 것의 중요성에 대해서는 잘 인지하였지만, 구현체를 작성하기 전 인터페이스를 먼저 작성하는 것에 대해서 의문이 생깁니다. 실제 몇몇 프로젝트 진행 경험 상으로, 파라미터나 메서드의 설계에 있어서 구현을 하면서 그 스펙이 변하는 경우가 매우 많았습니다. 그래서 구현을 먼저 하고 인터페이스를 그에 맞추어 생성하는 경우가 잦게 있었는데, 이런 경우에는 기능 설계가 충분하게 되지 않은 채로 개발에 시작한 잘못의 결과인가요? 실무 개발이나 프로젝트에서 인터페이스 개발 -> 구현체 개발 의 순서가 일반적인 경우일까요? TDD관련한 개념에서도 인터페이스를 먼저 작성한 후 해당 메서드를 이용하여 TDD를 작성 -> 메서드의 기능이 검증 된 후에 구현을 하는 것으로 배웠습니다. 하지만 아무리 고민하여도 구현체를 먼저 작성하는 것이 개발 과정을 최적화하는 방법이라는 생각이 들어 질문 남깁니다. 정리하자면, 구현체 개발 후 인터페이스를 구현체에 맞게 작성하여 사용하는 방법이 잘못된 순서인지 여쭤보고 싶습니다.
-
해결됨[실습] 대기업 근무하며 경험한 Redis를 야무지게 사용하기
출시 예정 강의 질문
안녕하세요. 비록 아직 강의를 수강하지는 못하였지만,다음 출시 예정으로 생각하시는 강의에 대해 문의가 있어 이렇게 글을 남기게 되었습니다 ,, 혹시 강사님께서 카프카 관련 주제로 강의 출시 계획이 있으실지 문의 남기겠습니다. 감사합니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
테스트 fixture
안녕하세요 강사님.코틀린을 배우는데 좋은강의 만들어주셔서 감사합니다. 테스트를 위한 fixture 코드 부분에 대해 의견 여쭤보고 싶습니다.강의에선 직접 엔티티 내부에 테스트를 위한 fixture 함수를 만들어 주셨는데, 팀 내부 의사결정에 따라 두어도 괜찮을 수도 있을 것 같지만 만약 테스트용 코드는 분리해야 한다고 하면아래처럼 테스트 코드 패키지쪽에 fixture 생성을 위한 유틸파일을 만들고, 테스트 코드에서만 Book.fixture(...) 같은 형태로 사용할 수 있도록 엔티티에 비어있는 companion object를 만든 뒤 확장함수를 작성하는 형태로 해도 괜찮을지 의견 여쭤보고 싶습니다.!테스트코드용 유틸 생성 User, Book 등의 엔티티에 비어있는 동행객체 선언엔티티별 Companion 확장함수 작성테스트 코드에서 엔티티.fixture() 형태로 사용
-
해결됨[실습] 대기업 근무하며 경험한 Redis를 야무지게 사용하기
multiSet에서 key 입력 의미
multiSetData에서 키 저장시 key:1, key:2가 저장이 되는데 키 입력시 test_one은 별 의미가 없지 않나요?아니면 원래 의도가 test_one:1, test_one:2 인지 궁금합니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
프로젝트 세팅시 궁금한점.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]프로젝트 세팅시 intellij project structure에서 jdk 17로 맞추는데, 왜 굳이 Build and run using과 Run tests using을 Gradle로 설정하나요??? 결국 Gradle로 설정하면 앞에서 project structure jdk 굳이 맞추는 의미가 없지 않나요??? 현업에서도 주로 이렇게 사용하나요??
-
해결됨스프링 핵심 원리 - 기본편
스프링 빈 등록
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님과 같이 기존에 AppConfig를 놔두고, AutoAppConfig를 만들어서 excludeFilters를 해주었는데요. coreApplicationTests-contextLoads()를 돌릴때에 이런 오류가 뜹니다. (1). 저는 이 오류가 AppConfig에서 빈을 수동으로 넣어줄떄에 첫번쨰 메소드인 MemberService에서 MemberServiceImpl을 생성하면서 반환할떄에 memberRepository를 빈중에서 무엇을 넣어줄지 모르겠다에 대한 오류로 이해했는데요 잘 이해한게 맞나요?(2) 잘 이해했다면 저도 강의에서와같이 MemoryMemberRepository클래스에 @component해줘서 빈이 자동으로 등록되고, autowired로 의존관계도 자동으로 주입된거 같은데. 그렇다면 memberrepository에 사용할 빈을 고를떄에 수동으로 등록된 빈 memberRepository와 자동으로 등록된 memorymemberrepository중에 무엇을 고를지 몰라서 이런 오류가 생기는건가요?? Appconfig에서 memberRepository에서 @Bean없애주면 오류안나서 이렇게 이해했습니다.강사님은 오류가 안뜨는데 전 왜뜰까요ㅜ
-
해결됨[실습] 대기업 근무하며 경험한 Redis를 야무지게 사용하기
윈도우에서 작업 질문
redis 설치까지는 다 끝냈습니다. 윈도우에서는 어떻게 작업하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 빈 자동주입 질문
안녕하세요. 제가 알기론 자동주입은 스프링 빈 클래스에서만 되는걸로 알고 있습니다.근데 아래 소스를 보시면 ExtendsController 클래스에는 @Component 어노테이션이 붙지않아서스프링 빈으로 관리되지않습니다. 근데 HomeController 에서 이를 상속받으면 ExtendsController 클래스에 CommonLoginc 이 자동주입이 됩니다. 그리고 home api 의 this.say 메서드가 NullpointException 오류가 나지않고 정상 호출됩니다.이건 무슨 원리로 되는건지 알 수 있을까요? package com.info.springboot.controller; import com.info.springboot.model.ExtendsController; import com.info.springboot.model.Sample; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HomeController extends ExtendsController { @GetMapping("/home") public String home(){ this.say(); return "home"; } } package com.info.springboot.component; import org.springframework.stereotype.Component; @Component public class CommonLogic { public void logging(){ System.out.println("logging 입니다."); } }package com.info.springboot.model; import com.info.springboot.component.CommonLogic; import org.springframework.beans.factory.annotation.Autowired; public class ExtendsController { @Autowired private CommonLogic common; public void say(){ common.logging(); System.out.println("ExtendsController 입니다."); } }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링부트 재기동 이후에도 세션이 유지되는 이유
안녕하세요, 개인 프로젝트를 하는데,로그인 상태에서 서버를 재기동해도 로그인이 풀리지 않습니다. 이것이 문제라기 보다는 이 현상이 발생한 이유를 알고 싶습니다.세션 관련해서 아무 설정을 한 것이 없어서 왜 이런 현상이 나타나는지 질문드립니다.서버가 세션 저장소를 기본 저장소인 톰캣 메모리가 아니고, 다른 곳을 사용하는 건 아닌가 추측을 하는데요.이 외에 의심해 볼 만한 부분이나, 현재 서버가 세션 저장소를 어디를 쓰고 있는지 알 수 있는 방법 알려주시면 감사하겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 whitelabel error page 500
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]관련 질문 찾아보고 코드를 변경해봐도 똑같이 에러가 떠서 진행을 못하고 있습니다.. 회원 가입을 누르고 이름을 등록하면 아래와 같은 에러가 발생합니다. 버전도 확인을 했는데 뭐가 문제일까요..코드 첨부하겠습니다.. 도와주세요https://drive.google.com/file/d/1EJGRw6FzdUtj0AZh5mVd7DNqwo_HFhx_/view?usp=drive_link
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의에 나온 테이블 외 이상한 테이블 문의
안녕하세요. 아래와 같이 이상한 테이블이 생기는데 이건 왜 생기는건가요?
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
./gradlew test 실행시 인식할수 없다고 뜹니다.
제목 그대로 ./gradlew test 실행시 인식할수 없다고 뜹니다. 이 경우 gradlew이 설치되지 않아서 발생하는 문제인지 궁금합니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
test 코드 실행시 경고가 발생합니다.
test 코드 실행시 12월 30, 2024 10:47:24 오후 org.junit.platform.launcher.core.EngineDiscoveryOrchestrator lambda$logTestDescriptorExclusionReasons$7INFO: 0 containers and 3 tests were Method or class mismatch라는 경고 메시지가 뜹니다. test 코드가 돌아가는 데 큰 무리는 없지만 개인적으로 궁금해서 질문드립니다.
-
해결됨토비의 스프링 6 - 이해와 원리
인터페이스 사용에 관하여 질문드립니다.
안녕하세요 토비님. 올해 토비님의 인프콘 발표내용중 마지막 부분에, 무조건 인터페이스를 사용하라 라고 하신 것에 대해 왜 무조건 인터페이스를 사용해야 하는지 궁금합니다. 평소 저의 생각은 구현체가 한개라면 굳이 인터페이스로 분리할 필요는 없다고 생각했습니다. 구현체가 두개 이상이 되었을때 인터페이스로 분리해도 충분하다고 생각했었는데요. 토비님께서 아주 단호하게 말씀하셔서, 어떤 관점에서 인터페이스를 꼭 사용해야 하는지 궁금하여 질문을 남기게 되었습니다.언제나 좋은 강의 만들어 주셔서 감사합니다.!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 실행 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]HelloSpringApplication 에서 run 버튼을 클릭하면 다음과 같은 오류가 발생합니다. 어떻게 해야 하나요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
DTO 관련 질문 드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 항상 강의 잘 보고 있습니다@RequestMapping("/api/v2/members") public CreateMemberResponse saveMemberV2(@RequestBody @Valid CreateMemberRequest request){ Member member = new Member(); member.setName(request.getName()); Long id = memberService.join(member); return new CreateMemberResponse(id); } @Getter static class CreateMemberResponse{ private Long id; public CreateMemberResponse(Long id) { this.id = id; } }이 부분에서 보면 하나의 class 안에서 DTO도 만들던데 보통 실무에서도 해당 기능 관련 DTO는 static class로 내부에 만드나요? 아니면 따로 분리하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
MemberRepository 질문있습니다!
MemberRepository 는 싱글톤으로 관리가 될 텐데 static으로 store, sequence 선언하는 이유가 있나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
return ModelAndView
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. return new ModelAndView()를 할때 그대로 정상 리턴된다는 말씀을 제가 제대로 이해한게 맞는지 여쭤보고 싶습니다.response.sendError를 가지고 return new ModelAndView()를 하게 되면 view랜더링 없이 was로 돌아가게 되서 다시 error를 확인하고 그에러에맞는 컨트롤러로 보내는걸로 알고있습니다. 그러면 원래 스프링이 정상작동할때도 뷰랜더링 한다음에 was로 돌아가는건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
3.x.x 버전 업데이트
섹션 1에 spring initializr를 진행하다가 java 17과 spring boot 3.4.1로 변경해 진행할 수 밖에 없다고 생각되어서 커뮤니티 질문들을 보았고 52강을 먼저 보게 되었습니다. java도 17로 업데이트하였고 17로 변경한 후에 gradle도 java 17에 맞게 7.3으로 변경하였는데 이런 오류가 뜹니다 ㅠㅠ 해결법 알려주시면 감사하겠습니다