묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결코드로 배우는 React with 스프링부트 API서버
spread ... 사용하는 이유가 궁금합니다
안녕하세요?[조회 페이지 이동] 영상을 보고 있는데요.List, Read Component에서는 spread를 하지 않고 바로 set으로 값을 넣었는데Add Component에서는 왜 {...initState}, {...todo}를 하는지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
데이터베이스 스키마 자동 생성 강의 질문입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. @Column(unique = true, length = 10)private String name 위와같이 코드를 작성할 때, 만약 DB 생성을 자동 기능으로 하지 않고, DB에 따로 테이블 생성을 진행했다면, 위의 코드가 있어도 반영이 안된다는 의미인거죠? 즉, DB에 따로 테이블을 만들 때 name 필드에 unique 제약 조건을 걸지 않고, varchar(255) 이렇게 했다면,아무리 @Column(unique = true, length = 10) 이렇게 한다고 해도 실제 DB에 반영이 되는 건 아니고 오직 DDL 생성할 때만 반영된다는 거죠?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderServiceTest에서 상품주문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.Book setName, setPrice, setStockQuantity 할 때 오류가 뜨는데 Item은 추상클래스에 Book이 상속을 받으니까 Book에만 setter를 설정하면 되는 거 아닌가요?item에 setter를 적용해야 오류가 풀리는데 왜 이러는지 궁금합니다.Book book = new Book(); book.setName("시골 JPA"); book.setPrice(10000); book.setStockQuantity(10);
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트 2 강의에서 질문있습니다~
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 만약 JPA에서 batch_size 기능을 사용하지 않는다면, 그리고 영속성 컨텍스트의 쓰기 지연 SQL 저장소에 쿼리 2개가 모여있는 상태라면, 커밋되기 전에 각각 다른 네트워크로 즉, 애플리케이션에서 DB로 요청이 2번 진행되서 쿼리가 날라가는 건가요? 그래서 batch_size 옵션으로 = 2가 되면 하나의 네트워크로 2개의 쿼리가 동시에 반영이 되는 건가요? 그래서 batch_size 옵션을 사용하면 API 속도 개선에 사용할 수 있는건가요?? 근데, 그렇다면 사실 무조건 batch_size 옵션을 최대한 크게 설정하면 좋은 거 아닌가요? 이것도 한꺼번에 너무 많은 쿼리들을 보내면 또 문제가 있으려나요??
-
미해결코드로 배우는 React with 스프링부트 API서버
moveToList 질문 드립니다.
안녕하세요 선생님. 좋은 강의를 정말 잘 듣고 있습니다ㅎㅎ [네비게이션관련 커스텀 훅] 강의에서 궁금한게 생겼는데요~ 쿼리 스트링에 page와 size가 있는데, moveToList에 파라미터로 page와 size를 전달해서 처리해야 하는 이유가 무엇인지 알 수 있을까요?
-
미해결1시간만에 끝내는 spring boot rest api 서비스 개발
item을 id로 get하는데 1을 넣었을 때 500에러가 나와요.
1넣으면 apple이 나와야 하는데, 500에러가 나오네요. 빌드는 잘 되었는데 어디가 문젠지 모르겠네요. 코드는 https://inf.run/8swaL올려두었습니다. 감사합니다!
-
미해결Practical Testing: 실용적인 테스트 가이드
저는 왜 OrderCreateRequest 에 기본 생성자가 없는데도 주문 신규 생성 호출이 되는건가요??
영상에서 OrderCreateRequest 클래스에 @NoArgConstructor 붙이던데.. 저는 안 붙인 상태로 돌렸는데도 돌아가는건 왜 그런건가요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
저만 화면이 나오지 않나요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]PC에서 소리는 나오는데 검은화면으로 나옵니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
spring boot 3.0 이상에서 p6spy 적용이 안됩니다.
plugins { id 'java' id 'org.springframework.boot' version '3.4.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'jpabook' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:3.4.4' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }오류 화면같은 문제인거 같아서요 https://inf.run/ZzfxG추가하라는 내용을 pdf 어디에서 찾아볼 수 있나요? 아래 질문글로 해결했습니다! implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'https://inf.run/jdbjL
-
미해결코드로 배우는 React with 스프링부트 API서버
tailwind 부분 도와주세요
어디를 수정해야 할까요? 지금 계속 다시 해보고 있는데 해결이 되지 않습니다ㅠ앞서 이렇게 했었는데 해결되지 않아 다시 해보고있습니다..! tailwind.config.js 의 content에이렇게 입력하는게 맞나요??index.css에 이렇게 오류가 떠서요 ㅠㅠ-> 우측하단 언어모드를 tailwindCSS로 바꾸면 밑줄은 사라지는데 npm start 실행시이렇게 뜹니다..!
-
미해결코드로 배우는 React with 스프링부트 API서버
tailwind.config.js 의 content
tailwind.config.js 의 content에이렇게 입력하는게 맞나요??index.css에 이렇게 오류가 떠서요 ㅠㅠ-> 우측하단 언어모드를 tailwindCSS로 바꾸면 밑줄은 사라지는데 npm start 실행시 이렇게 뜹니다..!
-
미해결코드로 배우는 React with 스프링부트 API서버
Tailwindcss 설정
npx tailwindcss init 작성시 'tailwind'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. 라고 뜹니다 코드를 다르게 작성해야하나요?
-
미해결Practical Testing: 실용적인 테스트 가이드
Mock & Stub 에 대한 이해
두 가지 궁금증이 생겨 질문드립니다!!Mock과 Stub에서 혼란을 느끼는지?Mock & Stub 에 대한 이해를 하였는지? // OrderTest.java import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class OrderTest { @Test void 주문_총_금액을_계산한다() { Product apple = new Product("사과", 1000); Product banana = new Product("바나나", 2000); Order order = new Order(); order.addProduct(apple); order.addProduct(banana); assertEquals(3000, order.totalPrice()); } }// OrderTest.java import org.junit.jupiter.api.Test; import static org.mockito.Mockito.*; import static org.junit.jupiter.api.Assertions.*; public class OrderTest { @Test void 주문_총_금액을_계산한다_Product_Mock_사용() { Product apple = mock(Product.class); Product banana = mock(Product.class); when(apple.getPrice()).thenReturn(1000); when(banana.getPrice()).thenReturn(2000); Order order = new Order(); order.addProduct(apple); order.addProduct(banana); assertEquals(3000, order.totalPrice()); } } 두 테스트에서 생각을 정리하다 보니 저는 마틴 파울러의 test double의 stub 과 mock 에 대한 개념보다TTD or BDD 스타일의 테스트 코드를 작성하다가 테스트의 편의성을 위해 Mokito을 통한 Mock 테스트를 먼저 접하게 된 후 마틴 파울러의 test double의 개념을 접하게 되었습니다. 마틴 파울러의 Mock 과 Stub 테스트에서 혼란스러운 이유테스트 코드를 작성하다보면 자연스럽게 then에 해당하는 부분은 대부분 상태(값)을 검증하는 테스트를 위주로 테스트 코드를 작성하게 되는거 같습니다.주문_총_금액을_계산한다() -> 단위 테스트로 상태(값)을 검증주문_총_금액을_계산한다_Product_Mock_사용() -> 나는 Mockito의 mock 테스트로 상태(값)을 검증 test doublestub -> 상태(값) 검증mock -> 행동 검증위 와 같이 상태(값)을 검증하는 테스트를 하다보니 stub 테스트와 Mockito 의 mock을 사용한 테스트을 동일시 보게 된거같습니다.Mockito의 mock 테스트의 개념과 test double의 mock 테스트가 동일한 개념이 아니다. Mokito의 mock을 사용하여 상태(값)을 검증하는 테스트를 하다보니 test double의 stub 테스트를 Mock 테스트 하였다라고 생각한게 아닌가? 테스트 케이스 stub 과 mock 테스트 구별하기주문_총_금액을_계산한다()해당 테스트는 실제 객체를 이용하여 상태(값)에 대한 검증을 한다. -> Stub 테스트주문_총_금액을_계산한다_Product_Mock_사용()해당 테스트는 Product 를 Mock 하여, order의 totalPrice 을 검증 한다. -> Mock?, Stub? 주문_총_금액을_계산한다_Product_Mock_사용()를 어떻게 바라 볼 것인가?test double의 mock 테스트를 준비 하였지만 검증 부분을 잘못하였다. test double의 stub 테스트를 실제 객체가아닌 가짜객체로 테스트 하였다.@Test void 주문_총_금액을_계산한다_Product_Mock_사용() { // given Product apple = mock(Product.class); Product banana = mock(Product.class); when(apple.getPrice()).thenReturn(1000); when(banana.getPrice()).thenReturn(2000); Order order = new Order(); order.addProduct(apple); order.addProduct(banana); // when int total = order.totalPrice(); // then verify(apple).getPrice(); // apple.getPrice()가 호출되었는지 검증 verify(banana).getPrice(); // banana.getPrice()가 호출되었는지 검증 }주문_총_금액을_계산한다_Product_Mock_사용()를 위와 같이 수정한다면 test double에서 이야기하는 mock 테스트이지 않을까 생각이 듭니다. 물론 모든 테스트를 test double의 Mock, Stub 테스트라는 틀에 맞춰 작성해한다는 아니라고 생각이 듭니다.주문_총_금액을_계산한다_Product_Mock_사용()가 마틴 파울러가 이야기하는 test double의 개념에서 어떻게 생각해 볼 것인가? 에대한 궁금증 우빈님의 생각이 궁금하기도 합니다. 제가 잘 이해를 하였는지 확인이 필요하여 질문드립니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
안녕하세요 이것이 내부호출 예제가 맞는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]// 인증 번호 확인@Transactionalpublic void confirmAuthenticationInfo(AuthenticationRequest.Confirm request){MemberCertificationHistory history = findById... // 엔티티 조회...validateExpiration(history);...}// 만료 일시 검증@Transactionalprivate void validateExpiration(MemberCertificationHistory history){if(history.isExpired()){processExpiration(history); // 만료 처리 . 트랜잭션 분리throw new ServerException("만료됨"...);}}// 인증 정보 만료 처리@Transactional(propagation = Propagation.REQUIRES_NEW)private void processExpiration(MemberCertificationHistory history){history.getMemberCertificationInfo().processExpiration();memberCertHisRepository.save(history); // 엔티티 저장}안녕하세요 위 코드에서 궁금한점이 있는데 내부호출에 관한 내용인지 질문드립니다.간단하게 confirmAuthentication() , validateExpiration() , processExpiration() 3가지 메서드가 있는상황이구, 차례로 호출하며 validateExpiration()에서 throw를 던지는 상황입니다. 문제는validateExpiration()를 내부에서 트랜잭션이 분리 처리(REQUIRES_NEW)되어 있는 processExpiration()를 타게되고, processExpiration()는 분리된 트랜잭션이니 .save()를 통해 저장이되고, 다시 validateExpiration()으로 돌아와 throw를 처리하게 되어 processExpiration()에서 저장된것은 롤백되지 않을것으로 예상하였습니다. 그런데 로그를보니 insert쿼리도 나가지 않고, 따로 롤백에 관한 내용도 찍히지 않았습니다.따라서 내부호출이 된건가 생각을해보니 제가 아는 내부호출이라는 문제는동일한 클래스에서 트랜잭션이 적용되지 않은 메서드에서 트랜잭션이 적용된 메서드 호출시 내부 호출이 발생하는걸로 알고있는데 위 예제에선 이미 최상위 메서드에서 트랜잭션이 적용되어 있는상태인데 따로 생성된 트랜잭션이 실행되지 않아서 혹시 이건 내부호출 문제가 맞는것인지, 아니면 다른 제가 간과한것이 있는지 궁금하여 질문드립니다 .
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
TRACE 레벨의 로그가 찍히지 않는 것 같아요( 해결완료 )
JPA 와 DB 설정, 동작확인 강의에서 리뉴얼된 메뉴얼을 따라서 진행하고 있는데 24분 34초에 나오는 BasicBinder 와 관련한 로그가 TRACE 레벨인 것 같은데 해당 로그가 찍히지 않습니다.또한 org.hibernate.SQL 과 관련한 로그도 영상과는 다르게 찍히는데 이유가 뭘까요?p6spy를 적용하여 나오는 결과 로그도 영상과 다릅니다 ( 27분 28초 )p6spy 를 적용하면서 동일한 쿼리 내용이 2번 찍히는 것 같기도 하고 문제를 모르겠습니다.2025-03-25T23:48:11.976+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-03-25T23:48:12.165+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/jpashop user=SA 2025-03-25T23:48:12.168+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2025-03-25T23:48:12.225+09:00 INFO 12200 --- [ Test worker] org.hibernate.orm.connections.pooling : HHH10001005: Database info: Database JDBC URL [Connecting through datasource 'p6SpyDataSourceDecorator [com.p6spy.engine.spy.P6DataSource] -> dataSource [com.zaxxer.hikari.HikariDataSource]'] Database driver: undefined/unknown Database version: 2.2.224 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown 2025-03-25T23:48:12.864+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL 2025-03-25T23:48:12.869+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092869 | took 2ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/jpashop create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL; 2025-03-25T23:48:12.976+09:00 INFO 12200 --- [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2025-03-25T23:48:12.988+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : drop table if exists member cascade 2025-03-25T23:48:12.990+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092990 | took 1ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists member cascade drop table if exists member cascade ; 2025-03-25T23:48:12.990+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : drop sequence if exists member_seq 2025-03-25T23:48:12.991+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092991 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop sequence if exists member_seq drop sequence if exists member_seq; 2025-03-25T23:48:12.995+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create sequence member_seq start with 1 increment by 50 2025-03-25T23:48:12.996+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092996 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create sequence member_seq start with 1 increment by 50 create sequence member_seq start with 1 increment by 50; 2025-03-25T23:48:13.000+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create table member ( id bigint not null, username varchar(255), primary key (id) ) 2025-03-25T23:48:13.002+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914093002 | took 2ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table member ( id bigint not null, username varchar(255), primary key (id) ) create table member ( id bigint not null, username varchar(255), primary key (id) ); 2025-03-25T23:48:13.005+09:00 INFO 12200 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-03-25T23:48:13.328+09:00 WARN 12200 --- [ Test worker] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2025-03-25T23:48:13.368+09:00 INFO 12200 --- [ Test worker] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2025-03-25T23:48:13.881+09:00 INFO 12200 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Started MemberRepositoryTest in 4.281 seconds (process running for 5.626) 2025-03-25T23:48:14.568+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : select next value for member_seq 2025-03-25T23:48:14.589+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914094589 | took 13ms | statement | connection 4| url jdbc:h2:tcp://localhost/~/jpashop select next value for member_seq select next value for member_seq; 2025-03-25T23:48:14.685+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914094685 | took 0ms | rollback | connection 4| url jdbc:h2:tcp://localhost/~/jpashop ; OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 2025-03-25T23:48:14.710+09:00 INFO 12200 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2025-03-25T23:48:14.716+09:00 INFO 12200 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2025-03-25T23:48:14.730+09:00 INFO 12200 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.현재 설정 파일 내용들입니다.spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto : create properties: hibernate: # show_sql: true format_sql: true logging.level: org.hibernate.SQL: debug org.hibernate.orm.jdbc.bind: traceJunit5를 사용하기 위해서 Junit4를 추가하지 않았습니다.plugins { id 'java' id 'org.springframework.boot' version '3.4.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'jpabook' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.10.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }
-
미해결코드로 배우는 React with 스프링부트 API서버
MariaDB 연동시 지속적인 에러
마지막 JDBC 데이터베이스 설정하는 부분까지 했는데도 계속 에러가 나서 찾아보니 mariaDB보다 MySQL이 더 호환이 잘된다고 나와서 MySQL로 변경하려 합니다.그런데 mariaDB와 MySQL 모두 계속 오류가나서 진행이 되지 않네요 ㅠ참고자료로 올려주신 pdf의 25페이지 코드 참고해서 해봐도 되지 않는데 살펴봐야 할 곳이 어디 있을까요?MySQL로 하는 방법도 알려주시면 감사하겠습니다!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
grafana 그래프 nodata
https://www.inflearn.com/community/questions/267420/%EB%8C%80%EC%89%AC%EB%B3%B4%EB%93%9C%EC%97%90-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%EB%AA%BB%EA%B0%80%EC%A0%B8%EC%98%A4%EB%8A%94%EA%B2%83-%EA%B0%99%EC%8A%B5%EB%8B%88%EB%8B%A4를 참고하여 Legend: {{instance}}Instant 체크 + Fields 입력을 통해 위에 처리량은 잘나오는 모습입니다 하지만밑에 그래프들은 Fields 입력하는 부분이없어서 처리량때 처럼 설정을 할 수 없고 역시나no data로 나오네요설정은 이대로 했습니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
Stub vs Mock을 설명하면서 예시가 이해가 안돼요.
안녕하세요,6:13초 쯤에 Mock에 대한 예시로 앞에서 작성했던 "when 해서 sendMail 했을 때 파라미터 4개를 넘겨줬을 때 어떤 값을 리턴함" 을 말씀해주셨는데요, 이게 stub에 가까운게 아닌가란 의문이 들었습니다.마틴 파울러의 글을 보면 Mock은 결국 호출 여부나 호출 횟수 같은 것을 검증하는 것 같더라구요.뭔가 이해가 잘 안돼서 질문을 남깁니다.감사합니다.
-
해결됨실전! Querydsl
MemberJpaRepository basicTest에서 JPAQueryFactory 빈 등록 안됨 오류
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]순수 JPA 리포지토리문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용]실전! querydsl 강의에서 4강의 순수 JPA 리포지토리와 quertdsl을 듣고 있습니다. 메뉴얼 따라서 MemberJpaRepository를 작성하고 basicTest를 실행했는데 No qualifying bean of type 'com.querydsl.jpa.impl.JPAQueryFactory' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 오류가 나면서 실행이 안됩니다. JPAQueryFactory가 빈으로 등록이 안됐다고 하는거 같은데 MemberJpaRepository 생성자 안에서 할당해 주니까 memberRepository를 Autowired 할때 자동으로 들어간다고 생각했는데 아닌가요..? 검색해보니 JPAConfig 클래스를 생성해서 직접 bean을 등록하고 테스트에 @Import(JPAConfig.class)어노테이션을 작성해서 해결하면 된다고는 하는데 메뉴얼에 관련 내용이 없길래 다음 단계로 진행하기 전에 질문 드립니다. 정확한 상황을 알려드리기 위해 오류 발생 사진을 함께 첨부합니다.
-
미해결코드로 배우는 React with 스프링부트 API서버
이거 프로젝트 실행하는 방법을 알수 잇을까여?
spring 실행하는 방법과 이 프로젝트를 실행하는 방법이요
주간 인기글
순위 정보를
불러오고 있어요