묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL Limit 문법 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]현재 저희 프로젝트는 Spring Boot 3.3, Spring Data JPA, MySQL을 사용하고있습니다.제가 강의를 통해서 JPQL에서는 Limit문법을 사용할 수 없으니 setMaxResults/setFirstResult와 같은 메소드를 통해서 페이징 처리를 해야 하는 것으로 알고 있습니다.근데 프로젝트를 진행하다가 팀원이 limit문법을 통해서 조회를 하는 쿼리를 보았습니다.(저희는 Spring Data JPA를 사용하고 있어 JPQL은 @Query 어노테이션을 활용하여 쿼리를 작성하고 있습니다.)@Query("select Member m where m.nickname = "홍길동" limit 1")위와 같은 쿼리로 데이터를 조회하는데 문제없이 애플리케이션이 돌아가는 것을 확인했습니다. Hibernate 버전이 6.x로 올라오면서 처리를 따로 해주는 걸까요? 만약 그렇다면 어느 버전에서 바뀐 것이고 어떻게 동작하길래 가능한건지 답변주시면 감사하겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 를 실행시켰을때 IllegalStateException 에러가 납니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.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] 위와 같은 에러가 발생합니다.. 해결법을 알려주세요 ㅠㅠ
-
미해결더 자바, 코드를 조작하는 다양한 방법
실제 개발 단계에서 이 같은 지식들을 적용할 기회가 있을까요?
안녕하세요. 강의 잘 듣고 있습니다.자바 개발자라면 당연히 JVM 구조 전반과 클래스 로더 동작 방식에 대해 알아둬야 한다고 생각합니다.이번 질문이 "실전에서 필요도 없는 데 쓸 데 없이 왜 공부해야 함?" 이라는 건방진 생각으로 드리는 질문이 아님을 미리 밝힙니다.단순히 '학습'의 의미를 벗어나 이 같은 지식들을 실전 개발에서 써먹을 수 있는 기회가 있을까요?다음 챕터들에서 등장할 리플렉션, 프록시, 애노테이션 등의 주제들은 자바 개발자 입장에서 실전 활용도가 높다는 것에 의심의 여지가 없습니다만,초보 개발자 입장에서 이번 챕터의 내용은 단순히 '알아야 하니까' 라는 의미 외에 다른 의미는 실감하기가 어렵습니다.실전 상황에서 이번 챕터의 지식들이 요긴하게 쓰일 수 있는 상황이 있다면 어떤 상황이 있을지 예시를 들어주실 수 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요 인증/ 인가에 대해서 질문 있습니다.
안녕하세요 강의 잘 듣고 있습니다.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);더 좋은 방법이 있다면 알고 싶습니다!!
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
좋은 설계
소형 테스트를 추구하며 테스트를 더욱 쉽게 바꿔보니 헥사고날 아키텍처가 되었고 이것이 테스트 코드를 쉽게 바꾸다보면 좋은 설계가 된다. 라는 것의 예시라고 봐도 될까요?
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
메모리 크기
JVM 관련프로그램인데 micro인 1GB로 메모리를 설정하면 프로그램이 뻗을 일은 없을까요?(1번과 연계해서) 현재 SSR로 화면 그려주고 있는데, api처리 + 빈 컨테이너(Springboot) + Kotlin + 템플릿엔진(타임리프) 까지 했을때 1GB를 초과하지는 않으셧는지도 궁금합니다!만약에 화면을 다른 언어/라이브러리(Vue, React)로 개발하게 된다면 CORS라던지 건드려야 될게 많아지고, 추가로 node 환경을 또 띄워야 되서 메모리가 부족하게 될 수도 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
도커로 mysql을 가동했으면 어떻게 해야할까요?
docker exec -it bash 해서 복사 해서 내 디렉터리까지 옮겨서 다 따라해봤는데 저는 kongmac@minuuimaegbug-ui-noteubug Dockerfile % docker logs cde3e64f71aa2025-03-07T08:00:12.394150Z 0 [System] [MY-015015] [Server] MySQL Server - start.2025-03-07T08:00:12.622065Z 0 [Warning] [MY-010143] [Server] Ignoring user change to 'root' because the user was set to 'mysql' earlier on the command line2025-03-07T08:00:12.623333Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 9.1.0) starting as process 1mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)2025-03-07T08:00:12.628763Z 0 [ERROR] [MY-010119] [Server] Aborting2025-03-07T08:00:12.630606Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 9.1.0) MySQL Community Server - GPL.2025-03-07T08:00:12.630620Z 0 [System] [MY-015016] [Server] MySQL Server - end.이런 오류가 나오네요... 도커로 db포트 열었으면 어떻게 해야하나요?
-
미해결실전! Querydsl
n+1문제 해결
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에서도 EntityGraph에서와 동일하게 처리하려면 public List<OrderSearchMDDto> search(OrderSearch orderSearch) { return queryFactory .select(new QOrderSearchMDDto( order.id, order.member.name, order.orderDate, order.orderStatus, order.delivery.address )) .from(order) .join(order.member, member).fetchJoin() .join(order.delivery, delivery).fetchJoin() .where( nameLike(orderSearch.getMemberName()), statusEq(orderSearch.getOrderStatus()) ) .fetch(); }이런식으로 뒤에 fetchJoin()을 붙여주면 되나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
엔티티에서 기본형 대신 Wrapper 클래스를 사용하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]엔티티 컬럼 생성시 왜 long , int 값이 아닌 Long, Integer 와 같은 Wrapper클래스를 쓰나요?
-
해결됨코드로 배우는 React with 스프링부트 API서버
스프링부트와 리액트 연동관련해서
스프링부트와 리액트를 연동하는 강의를 본격적으로 듣기전에 궁금한게 있어서 글을 남깁니다.스프링부트로만 작업을 할경우 저희에겐 타임리프라는 SSR 기술이있어서 서버의 데이터도 쉽게 웹페이지에 전달할 수 있었습니다. 하지만 리액트의 경우 타입스크립트를 기반으로한 next.js 기술이 있는데 이 기술은 node.js를 상정하고 만들어진 기술인 것 같습니다. 이때 next.js 기술이 스프링부트의 타임리프를 대체할만한 SSR기술인지 아니면 next.js 같은 SSR기술이없어도 서버의 데이터를 쉽게 웹페이지에 전송할 수 있는지 궁금합니다. 기술이 필요하다면 어떤 종류의 기술을 익히는 것이 좋을지 알려주시면 너무 감사드립니다.
-
미해결코드로 배우는 React with 스프링부트 API서버
Outlet 질문이요
IndexPage.js 에서 <Outlet/>을 했는데 todo메뉴를 클릭하면 "/list" 페이지로 이동을 안 합니다.console창을 보니 This means it will render an <Outlet /> with a null value by default resulting in an "empty" page 문구가 뜨는데 왜 그러는걸까요?
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
클래스 생성 강의 수강 중 오류 발생
따라 적었는데 프로퍼티 id가 한번도 사용되지 않았다는 오류가 떠요..
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카를 사용한 이유 이거 맞나요?
이번 카프카에서는 두 가지를 배운거 같은데 1. order -> catalog로 프로듀서와 컨슈머로 역할을 나눠서 재고관리2. 두개의 포트에서 단일 데이터베이스에 접근했을 때 카프카를 이용해서 관리하는 거 이렇게 두 가지 가르쳐주신 거 같습니다.제가 생각했을 때 1번은 카프카를 사용한 이유는 예제를 보여주기 위해서라고 생각했습니다. 카프카말고 @FeignClient를 사용해서 주문을 했을 시에 catalog에 접근하여 재고를 업데이트 시켜주면 되겠다 라고 생각했습니다. 2번은 카프카를 사용했어야 했다고 생각한 이유가 2개의 서버포트가 단일 데이터베이스에 접근했을 시에 카프카 유무에 따라 동시에 같은 주문이 들어왔을때 데이터의 일관성이 깨질수도 있다고 생각했습니다.제가 적은 내용이 틀리면 말씀해주시면 감사하겠습니다.
-
미해결코드로 배우는 React with 스프링부트 API서버
섹션3. 스프링부트와 API서버에서 부트 프로젝트 생성 및 확인 강의
heidisql로 mariadb 연결하는 방법도 알려주실수 있나요? 인터넷에 검색해봐도 잘 안나와서 모르겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
재고관리에 카프카 쓴 이유가 궁금합니다.
재고관리에 카프카 쓴 이유가 궁금합니다.제가 이해한 내용으로는 현재 order와 catalog는 다른 포트를 사용 중이고 같은 DB를 사용 중인걸로 알고있습니다. 그래서 카프카말고 @FeignClient로 재고관리에 업데이트 해주는 방식이 있는 거 같은데 이 상황에서 카프카를 쓴 이유가 있나요?
-
미해결코드로 배우는 React with 스프링부트 API서버
ch6번 첨부파일 질문있습니다.
문제상황: ch6 마지막 파일 다운 받은 후 npm i react react-dom 하고 npm start 했습니다.product와 todo를 누르면 아래와 같은 상황이 나옵니다. 혹시 첨부 파일이 잘못된거 아닐까요?ERRORCannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') at ListComponent
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
프로젝트에 카프카 쓸때도 설정 다 해줘야하나요?
이전 카프카1편 강의에서는 Iterm을 이용해서 직접 접근한 거 같은데 만약 스프링 프로젝트로 만들어도 jdbc connector, db connector를 kafka connector에 별도로 설정해줘야하나요? 아니면 스프링이 알아서 다 세팅해주나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
서비스단에 리포지토리를 주입받는 부분
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Order에서 처럼 서비스 단에 리포지토리만을 주입받아서 사용하는게 맞는 것인지 아니면 다른 서비스를 주입받아 사용하는게 좋은 로직인지 궁금합니다. 예를들어 findById를 리포지토리로 찾을 수도 있지만 memberService.findOne으로 가져올수도 있는 경우 어떤 것을 주입받아 사용하는것이 맞는 방식인지 질문드려요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Mockito 경고
[질문 내용]Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build what is described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3WARNING: A Java agent has been loaded dynamically (C:\Users\jaejin\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.15.11\a38b16385e867f59a641330f0362ebe742788ed8\byte-buddy-agent-1.15.11.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future release테스트는 통과를 했는데 위와같은 경고문이 나오네요 어떤 의미인지 잘 모르겠습니다.신경 쓰지않고 계속 진행해도 되는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
order의 cancel 메서드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]public void cancel(){ if(delivery.getDeliveryStatus() == DeliveryStatus.COMP){ throw new RuntimeException("이미 배송된 상품입니다"); } this.statusCancel(); for (OrderItem orderItem : orderItems) { orderItem.cancel(); } } 이렇게 메서드가 있는데 여기에서 orderItem 컬랙션에 있는 값들을 cancel로직을 통해 삭제하게 될 경우 db에 반영이 정상적으로 되나요? 즉 리포지토리에서 가져온 상태가 아닌 그냥 도메인 단에서 처리해줘도 영속성 컨텍스트에 의해 관리되고 더티체킹이 적용되어 cancel 로직에 의해 업데이트 되는건가요?
주간 인기글
순위 정보를
불러오고 있어요