묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
자바 17버전으로 프로젝트 세팅
자바 17버전으로 할려면 프로젝트 파일 내 어떤것들을 수정 해야하죠?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대다 관계를 어떻게 풀어내야 할지 고민입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]회원, 부서 테이블을 생성하다 고민이 생겨 해당 강의를 다시 복습해봐도 어떻게 하는게 좋을지 모르겠어 질문하게 되었습니다.먼저 회원테이블은회원 ID (PK)부서 ID (FK, 부서테이블PK) , NULL부서 테이블은부서 ID (PK)부서생성자 ID(FK, 회원테이블PK), NOT NULL 로 구성되어 있는 상황입니다.필드의 개수를 최대한 간략히 나타내었는데,이러한 상황에서 1. 중간테이블을 만드는게 나을지( 이 경우 유저ID, 부서ID, type{소속 or 생성}),2. 회원테이블의 부서ID와 부서테이블의 회원ID에 각각 ManyToOne을 걸어주는게 나을지더 좋은 방법을 찾기가 어려워 질문드립니다!
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka connect 연결시 Mysql Access Denied 문제해결법
java.sql.SQLException: No suitable driver found for jdbc:h2:mem:testdbjava.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)현재 kafak connect 연결시 이런 오류가 뜹니다. order-service를 mariadb Driver로 설정했는데 왜 h2메모리방식의 드라이버를 찾는지 이유를 잘 모르겠으며 해결방법이 절실합니다. Kafka의 zookeeper, Kafka server는 현재 작동이 잘됩니다. 윈도우 사용자입니다. 도움이 절실합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka connect 실행시 No suitable driver 해결이 안됩니다
현재 zookeeper, kafka server는 다 실행되고 topic list도 잘 나오는 상황입니다. 하지만 현재Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mydb이 에러 때문에 진도를 못나가고 있는 상황입니다. 강의 그대로 했음에도 불구하고 어떤것이 문제인지 모르겠습니다. 제발 도와주세요
-
미해결스프링 부트와 리액트로 구현하는 소셜 로그인
로그인 성공시
로그인 성공시defaultSuccessUrl 에서는 "/todos" 로 설정하고successHandler의 CustomLoginSuccessHandler 에서는 "/" 로 되어 있을때 어디로 리다이렉트 되어야하나요?설명에는 defaultSuccessUrl 가 우선순위라고 하셨는데, 실행해보면 / 로 갑니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
DB 관련 강의 개설 계획은 없으신건가요?
이번 강의 끝내고 로드맵대로 JPA 기본1편로 건너가 학습중인데요.JPA 기본편에선 jpa라 당연하겠지만 이전보다 더 DB 관련 지식을 요구하는 것 같더라구요.예전에 DB를 약간 학습했던 적이 있어 드문드문 떠오르는 기억에 아직까진 강의를 듣는데는 큰 어려움은 없으나 DB를 학습했던건 오래전일고 깊이 있게 한 것이 아니라서 DB관련 지식이 희미하고 매우매우 얕게만 남아있습니다. 영한님 말씀 들어보면 실무에 투입되면 DB에 대해서도 꽤 잘알아야 하는 것 같구요.앞으로의 미래를 생각한다면 한번은 DB를 따로 더 공부해야한다고 생각하고 있습니다.그래서 스프링 MVC 강의에 앞서 모든 개발자를 위한 HTTP 웹 기본 지식라는 강의로 웹에 관한 강의를 해주셨는데요. 정말 큰 도움이 됐습니다.이것처럼 DB도 선수 학습 강의로 개설 계획이라던가 없으신건가요? 있으시다면 언제쯤 개설되는지 알 수 있을까요?DB강좌도 모든 개발자를 위한 HTTP 웹 기본 지식처럼 있다면 많은 도움이 될 것 같습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Member 엔티티 - Item 엔티티 연관관계 설정
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 강의 수강 중 질문이 생겨 여쭤봅니다.요구사항 분석을 확인하면 '상품 등록'이 있습니다. 상품 등록은 회원이 직접 상품을 등록하는 것일텐데 도메인 모델 설계 부분에서 Member 엔티티와 Item 엔티티 간 연관관계가 없는 이유가 궁금합니다. Member 엔티티가 Item을 등록하는 기능도 있으니 Member 엔티티와 Item 엔티티 간 연관관계도 설정해주어야 하지 않나요 ?!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
JPA모델과 도메인모델 분리가 필요한 사례
안녕하세요 🙂"도메인 모델을 직렬화 했다가, RDB에 저장했다가" 하는 경우도 JPA와 도메인모델 분리가 필요한 경우라고 생각되는데 어떻게 생각하시나요?도메인모델이 생성되었을때 영구보관이 필요한게 아니라, 어느정도 상태머신이 진행된 후 영구 보관이 필요하여 그전에는 레디스나 다이나모 같은 저장소에 보관하다가, 이후에 RDB에 영구보관을 하는 경우가 좀 더 자세한 예시일 것 같아요. 이 경우 JPA에서 DB 성능등을 이슈로 양방향맵핑을 하는 경우 순환참조로 인한 직렬화 이슈가 생기기 때문에 어떻게 해결할 수 있을지 고민하다가 이때 모델 분리를 선택한 경험이 있습니다. -- 무조건적인 지향을 하는게 아니라 필요에 따라 기술을 선택할 수 있게 강의를 진행해주시는 점 너무 많이 배우고 있습니다. 감사합니다.
-
미해결스프링 부트와 리액트로 구현하는 소셜 로그인
SocialLoginWeb1303 소스 제공해 주시면 안되나요?
SocialLoginWeb1303 소스 제공해 주시면 안되나요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]물리 트랜잭션 과 논리 트랜잭션에 대해 가령 다음과 같이 있을 경우 @Transactional 의 경우 dataSource.getConnection(); 과 같이 트랜잭션이 시작되는 걸 의미 하니 placeOrder 메소드 전체가 물리 트랜잭션에 해당하고 그 이후 내부의 각 메소드 나 비즈니스 로직에서 사용되는 트랜잭션은 논리트랜잭션에 해당한다고 이해 하면 될까요? @Servicepublic class OrderService { @Transactional // 논리 트랜잭션 1 public void placeOrder() { orderRepository.save(); paymentService.processPayment(); // 논리 트랜잭션 2 (propagation 여부에 따라) }}
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@joincolumn와 연관 관계의 주인에 대해서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요? 단방향 관계에서 @joincolumn이 선언된 필드를 가지고 있는 엔티티가 항상 연관관계의 주인이 되는게 맞을까요?실제 FK컬럼이 생성되는 위치와 별개로 말입니다ㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[제보] pdf내 gradle dependencies 명령어가 동작하지 않는 이슈 제보
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. '1.프로젝트 환경설정.pdf' 강의자료내 5페이지에 있는 gradle 명령어에 오류가 있어 제보 합니다. 강의자료 5페이지에 있는 내용중 아래의 이미지에 표시한 gradle 명령어를 그대로 복사했을때 동작하지 않습니다../gradlew dependencies —configuration compileClasspath 하이픈(-) 하나가 누락된것으로 보이는데 아래와 같이 정정 요청 드립니다. :-) AS-IS./gradlew dependencies —configuration compileClasspathTO-BE./gradlew dependencies -—configuration compileClasspath
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberRegisterRequest 에 대해서
토비님, 항상 좋은 강의 감사드립니다. 강의 내용을 학습하던 중 궁금한 점이 생겨서 질문드립니다!강의 코드에서 MemberRegisterRequest가 domain 패키지 안에 직접 정의되어 있고, 이 동일한 객체를 adapter 계층의 컨트롤러에서 @RequestBody로 직접 받는 것을 확인했습니다.제가 접해온 일반적인 계층형 아키텍처에서는, 웹 계층을 위한 DTO를 별도로 두고 서비스 계층에서 이를 도메인 객체로 변환하여 도메인 계층이 웹 DTO에 의존하지 않도록 분리하는 방식을 주로 사용했습니다.그래서 강의에서 보여주신 설계 방식에 대해 궁금한 점이 두 가지 있습니다.이처럼 요청(Request) 자체를 도메인의 일부로 보고 domain 패키지에 포함시키는 설계가 갖는 이점은 무엇인지 궁금합니다.이러한 설계가 계층 간의 결합도를 높일 수 있다는 우려에 대해서는 어떻게 생각하시는지, 그리고 어떤 상황에서 이러한 실용적인 접근이 더 효과적이라고 판단하시는지, 토비님의 설계 철학이나 기준에 대해 여쭙고 싶습니다.감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
벌크연산 주의 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]벌크연산 시 주의에서 벌크연산을 먼저 실행하고 영속성 컨텍스트를 초기화 한다고 하셨는데 다른 엔티티의 영속상태가 영속성 컨텍스트에 저장되어있는경우가 있을 수도 있어서 영속성컨텍스트를 먼저 flush하고 나서 벌크연산을 수행하는게 맞다고 생각하는데 혹시 잘못생각하고 있는건가요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
find()에 대한 질문.
이번 강의에서 find를 사용했을때 출력결과를 보고 궁금한 점이 있어 질문 드립니다.강의 2:00부터 코드에서 find()를 사용하는데요.이 find()를 사용할때 쿼리 출력 시점에 대해서 궁금합니다.먼저 persist() 라던지 setXXX() 라던지 값을 저장하거나 변경할 때는 쓰기 지연 SQL 저장소 라는 곳에 해당 쿼리가 저장되고 commit(정확히는 flush)을 하면 쿼리가 DB에 날아가는데 출력되는 것이 딱 이 시점인 것으로 이해하고 있습니다.예시로 아래와 같은 코드에서Member member = new Member(); member.setId(1L); member.setName("HelloA"); System.out.println("======BEFORE======"); em.persist(member); System.out.println("======AFTER======"); tx.commit();결과는 쿼리가 출력되는 순간은 persist() 가 호출되는 때가 아닌 commit(flush)가 호출된 때입니다. 따라서 콘솔에 쿼리는 before 와 after 이후에 출력 됩니다. 그리고 이제 find 코드와 결과입니다Member findMember = em.find(Member.class, 1L); System.out.println("============"); tx.commit();이때 쿼리가 출력 된 것을 보면 commit 시점이 아니라 ========== 이전, 그러니까 find()가 호출 된 시점이라는 것을 볼 수 있는데요. find는 persist() 와 setXXX 인 저장 및 업데이트처럼 쓰기가 아닌 읽기이기 때문에 find() 시점에 DB에서 바로 조회하는 쿼리를 사용하기 때문에 그런 것인가요?이 말은 find()는 쓰기 지연 SQL 저장소도 사용 안하는거겠죠?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
준영속 엔티티의 기준
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 강의 수강 중 질문이 생겨 여쭤봅니다.강의에서는 사용자에게 입력받은 BookForm form의 데이터를 새로운 객체인 Book book = new Book();에 할당하고 있습니다. (5분 54초) 강의 중 '임의로 만든 엔티티이지만 식별자 pk를 가지고 있기에 준영속 엔티티이다' 라고 말씀하셨는데, 준영속 엔티티의 기준이 궁금합니다.이미 DB에 persist된 객체의 참조가 아닌 식별자 값만 공유하더라도 준영속 엔티티가 되는 것일까요 ? Book book = (Book) itemService.findOne(form.getId()); 이렇게 DB에서 참조를 직접 조회하지 않고 단순히 id값만 DB에서 가져와서 할당해도 준영속 엔티티의 기준이 되는지 궁금해서 여쭤봅니다 !
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
스프링 3 버전 이상 rollbackFor 변경된듯요
rollbackOn으로 변경된거같네요 스펙이
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
플러쉬와 커밋 차이점
플러쉬와 커밋 차이점이 궁금한데..플러쉬는 그냥 쓰기 지연 SQL 저장소에 있는 쿼리들을 DB에 날려서 DB에 단순 반영한 것이고커밋은 이 반영된 내용을 '확정' 시키는 것이 맞나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
test 파일을 어디서 확인 할 수 있을까요?
jpa 최선버전 설정하기 pdf 파일을 따라하고 있는데요, h2 데이터베이스 설정하고 있는데 홈폴더라는 것은 어느것을 말하는건가요? test.mv.db파일이 숨김 해제 처리해도 안보여서요..
-
해결됨Spring Boot와 React로 배우는 초간단 REST API 게시판 만들기
[게시글 목록 페이지]수업에서 강의 내용대로 진행이 안되네요.
안녕하세요. 깃북 소스대로는 문제가 안 나오는데, [게시글 목록 페이지]수업 내용대로 코딩하면, useEffect( () => { getPostList() }, []);라는 소스가 있음에도useEffect가 정의 안 되었다고 에러가 나오네요. 이거 무슨 버전 문제인가, 라이브러리 문제인지는 모르겠는데... 해결 방법 여쭈어 보아도 될까요??