묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이를 키셨는데..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 인텔리제이 설치 옵션은 혹시 어디서 확인 가능한가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
화면에 관한 메소드는 엔티티에 넣지 말라고 하셨는데
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]BookForm을 인자로 받는 생성자를 넣는 건 별로인가요? 하긴 그러면 또 RestAPI맞는 생성자, 등 지저분해 지긴 할 거 같은데..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
html p 안에 ${}가 문자열로 인식돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]html에 있는 p태그 안에 ${Data}가 문자로 인식되는거같아요어떻게 해결할까요..
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
생성자 init
강사님 안녕하세요 질문있습니다!빨간 블록의 자바코드랑 코틀린코드완전히 같은건 아닌건가요?자바는 생성자 파라니터가 name일때고오른쪽 코틀린은 기본생성자 파라미터가 id와 name이라서요!..++ 추가로 게터가 자동으로 붙는다고 했는데요 data클래스가 아닌데 어째서 붙는건가요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
val 은 불변값인데 id는 값이 넣어지지 않나요?
안녕하세요 강사님 이게 val의개념을 잘 이해하지 못해서 생기는 문제같기도한데 id를 val이라고 하고 null로 넣어줬는데 아이디는 생성되면서 값이 넣어지지않나요?? 아.. 값이 넣어지는게 아니라 디비에만 넣어지고 읽기만해서 val인가요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberForm은 이미 모델에 들어가 있는거죠?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]검증오류가 날 시 BindingResult에 의해 들어가는 게 아니라,저렇게 인자로 받는 건 이미 모델에 들어가 주는거죠?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
값 타입 컬렉션에서 addressHistory에 대응되는 ADDRESS 테이블에 대해 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]addressHistory의 타입은 List<Address>라서 같은 값을 가진 Address 인스턴스들이 들어갈 수 있는데요. (심지어 동일한 인스턴스들도 중복으로) ADDRESS 테이블에 보시면, 4개의 컬럼들이 있죠.MEMBER_ID(PK, FK)CITY(PK)STREET(PK)ZIPCODE(PK) 여기서 쓰인 PK가 무슨 의미인 지 궁금합니다.여기 4개의 컬럼을 복합키로 사용해서, PK로 사용된다는 의미인가요? JPA가 날리는 쿼리를 봐도 PK로 지정된 컬럼은 없는 것 같습니다.자료 상의 오류인지 아니면 제가 잘 모르는 것이 있는지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
getOrder 안되는 이유,member 테이블 정보
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 오류가 나는데 왜 안되는건가요..? member 클래스 안에 있는 컬렉션객체를 가지고 오는 거 아닌가요?그리고 멤버 테이블에 address 임베디드 한 값이 안떠요.. 해결방법 알려주시면 감사하겠습니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
버젼 오류...
h2database 버젼은 동기화했는데도 오류가 뜨네요.. 미치겠어요 ㅠ
-
미해결스프링 시큐리티
세션 STATELESS 일때 궁금한점이 있습니다.
강사님 정말 강의 잘 듣고 있습니다. SecurityContext에 대해서 강의를 듣던중에 궁금한 점이 있어 질문을 남깁니다 세션 방식일때 SecurityContext(authentication)를 세션에 저장하고, 인증이 완료된 후에는 세션에 있는 SecurityContext를 꺼내어 SecurityContextHolder에 저장하여 stateful한 상태를 유지합니다. 근데 세션 stateless 일때는 , 세션 또한 존재하지 않을것이고, 여기서 spring security는 인증이 완료된 후에 SecurityContext에 인증객체를 담는 과정도 진행하는지 궁금합니다. stateless한 즉 rest api를 이용해서 통신을 할 경우에는 매 요청마다 인증 과정을 거칠텐데 SecurityContext에 인증객체를 담아야 하는지 궁금하네요
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
BookLoanRequest 위치에 대해서 궁금한게 있습니다.
강의에서는 BookLoanRequest 가 도서 대출에 관련된 기능이기 때문에패키지 위치가 dto > book > request 에 위치하게 됩니다. 내부에서 로직을 수행하는 도메인은 유저에 관련된 도메인이기 때문에domain > user > loanhistory 패키지에 도메인이 위치하게 되었습니다. 제가 이해한건 기능은 책 대출과 관련되어 있지만, 내부 로직에서는 책과 유저 사이 중간 매핑 테이블을 사용하기 때문이고도메인 user 패키지내에 있는건 유저가 책을 빌리는 서비스이기 때문이고 만약 서비스가 책이 대출되었는지 안되었는지 검색하는 기능이였다면loanhistory가 도메인 book쪽에 가는거라고 생각이 되는데 제대로 이해한게 맞을까요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
쿼리가 어떻게 전달되는 건가요??
강의 초반에 쿼리는 URL 주소에서 뒤에 붙여져서 보내진다고 알고 있습니다. 근데 @GetMapping("/user") 이런 식으로 URL을 받거나 할 때는 뒤에 작성하는 쿼리 부분이 없는데 어떻게 @RequestParam을 통해 쿼리 데이터를 받아오는지 궁금합니다. 이름과 나이를 작성할 때 그 데이터가 쿼리로 가는 거 같은데 도서 웹 페이지에서 해당 데이터가 어떻게 쿼리로 데이터를 받아오는지 궁금합니다. 아직 강의 초반이고 잘 모르다 보니 바보 같은 질문일 수도 있지만 알려주세요!!! 선생님!!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트에서 @Transactional 을 붙히지 않으면 왜 일차캐시가 작동하지 않을까요?
@Service @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository; @Transactional public void signUp(Member member){ memberRepository.save(member); } public Member findOne(Long id){ return memberRepository.findById(id).orElseThrow(); } } @Test void signUp() { Member member1 = Member.builder() .userId("user1") .birthDay(LocalDate.now()) .password("pass") .email("aa@bb.cc") .build(); memberService.signUp(member1); Member member2 = memberService.findOne(member1.getId()); assertThat(member1).isEqualTo(member2); } 트랙잰션이 Memberservice에서 signUp을 완료 하고 트랜잭션이 끝난다고 영속성 컨텍스트가 비워지지 않다고 이해 했는데 왜 같은 id 값으로 다시 찾을 때 동일성을 보장하지 않는걸까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드할때 ClassNotFoundException
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]계속 이렇게 뜨네요..무료버젼이라 세팅 들어가서 gradle로 바꿔줬습니다 ㅠ인텔리제이 17버젼이고,스트링부트는 3.0이상이라 찾아서 이렇게 변경했는데 계속 안되네요 뭐가 문제일까요
-
미해결이펙티브 자바 완벽 공략 2부
아이템 28 타입 안전
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.아이템 28 마지막 요약에 제네릭은 불공변이고 타입 정보가 소거된다. 그 결과 배열은 런타임에는 타입 안전하지만 컴파일 타임에는 그렇지 않다. 제네릭은 반대다. 라고 적혀있는데 배열이 런타임에 타입 안전하다는게 이해가 잘 안됩니다. Object[] objectArray = new Long[1]; /* ArrayStoreException 발생 */ objectArray[0] = "타입이 달라 넣을 수 없음"; //ArrayStoreExcpetion위 코드 처럼 공변되면서 런타임에 에러가 나는데 저장 했을때 저장 시점에 에러를 반환하면 타입 안전하다고 하는건가요?public class Chooser<T> { private final T[] choiceArray; public Chooser(Collection choices) { choiceArray = (T[]) choices.toArray(); } public T choose() { return choiceArray[0]; } public static void main(String[] args) { Collection<Integer> choices = new ArrayList<>(); choices.add(1); choices.add(2); choices.add(3); Chooser<String> chooser = new Chooser<>(choices); System.out.println(chooser.choose()); //ClassCastException } } 제네릭은 저장 시점에는 잘못된 형식의 데이터가 들어갔는지 런타임에 검사 할 수 없기 때문에 런타임 시점에 안전하지 않다고 하는건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계의 주인... 답변을 부탁드립니다.
연관관계의 주인 개념이 이해되지 않아 판도라의 상자...아니 chatGPT로 확인해보려 했습니다. 뭔가 chatGPT와 대화(?)를 이어가다가 제가 아래와 같이 질문을 던졌어요. 1. 연관관계의 주인이 N:1에서 N쪽이라면 @ManyToOne에 mappedBy를 설정하든, 설정하지 않든 상관 없이 N쪽이 주인이다.2. 반대로 연관관계의 주인이 1쪽이라면 @OneToMany에 반드시 mappedBy를 설정해야 한다.3. 스프링은 개발자가 어떠한 시나리오를 개발자가 가지고 있는지는 알 수 없기 때문에 @ManyToOne, @OneToMany, 및 mappedBy를 어떻게 사용하느냐에 따라 연관관계의 주인이 결정된다. 정말 이해가 안 가서 한 질문이었습니다. (연관관계 매핑을 3번을 들었지만 아직 제가 부족한가봐요…) 그랬더니 대답이 이랬습니다. 1. 맞습니다. 연관 관계의 주인은 대개 연관 관계의 소유자가 되는 엔티티입니다. 따라서 N:1 관계에서 N 쪽이 주인이라면 `@ManyToOne`에 `mappedBy`를 설정하든 말든 상관 없습니다. 그러나 관계의 주인이 명시적으로 지정되면 JPA에서 연관 관계를 관리할 때 더 명확하게 동작할 수 있습니다.2. 맞습니다. 1:N 관계에서 연관 관계의 주인을 1쪽으로 지정할 때 `@OneToMany`에 `mappedBy`를 설정해야 합니다. `@ManyToOne` 쪽에는 주인을 지정할 수 없습니다.3. 맞습니다. 프로그램 자체는 개발자의 의도를 인지할 수 없으며, 연관 관계의 주인을 결정하려면 `@ManyToOne`, `@OneToMany`, 그리고 `mappedBy` 어노테이션을 어떻게 사용했는지를 확인해야 합니다. 이 어노테이션들은 연관 관계의 매핑을 정의하고 어떤 엔티티가 연관 관계의 주인인지 나타냅니다. 따라서 어떻게 설정되었느냐에 따라 연관 관계의 주인이 결정됩니다. chatGPT도 실수할 때가 있어서 3번 정도 물어봤는데 거의 같은 대답을 했습니다. 그리고는 더 이상 대화가 이어지지 않았는데 이 말이 맞는지 아닌지를 아직 모르기 때문입니다. 죄송하지만 chatGPT의 대답을 신뢰해도 될 지 답변을 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중복회원 가입이 왜 될까요? + 중복회원 예외 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 다른 분들이 질문 남겨주신 부분 토대로 거의 다 확인한 것 같은데 계속 오류가 납니다 ㅠㅠ 1) 회원가입 테스트 시 중복으로 데이터가 저장됨 2) 중복회원 예외 테스트 시 중복으로 데이터가 저장됨 3) 중복회원 예외 테스트 시 예외처리가 안됐다는 오류? 제가 코드 잘못 작성한 부분이 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
no session관련 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]37분쯤까지 강의 듣고 실습을 해 봤는데 em.close 했을 경우에 예외가 발생하지 않아 커뮤니티 보고 그 이유를 알았습니다. 하지만 또 다른 문제가 생겼습니다. em.detach(xxx)을 하기전에 System.out.println("reference = " + reference.getClass());를 했을 땐 예외가 발생했는데 getClass()를 뺐을 땐 정상작동 합니다. 기 이유가 궁금합니다.Member member1 = new Member(); member1.setUsername("member1"); em.persist(member1); em.flush(); em.clear(); Member reference = em.getReference(Member.class, member1.getId()); System.out.println("reference = " + reference); //getClass()미포함 em.detach(reference); // 예외발생X System.out.println(reference.getUsername()); tx.commit();Member member1 = new Member(); member1.setUsername("member1"); em.persist(member1); em.flush(); em.clear(); Member reference = em.getReference(Member.class, member1.getId()); System.out.println("reference = " + reference.getClass()); //getClass()포함 em.detach(reference); // 예외발생 System.out.println(reference.getUsername()); tx.commit();
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
실행이 되질 않습니다 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.예제들을 돌려볼 수가 없습니다 jdk 문제일까요...? 답변해주시면 감사하겠습니다!
-
미해결스프링 시큐리티 OAuth2
소셜로그인과 JWT 인증 방식에 대해 궁금한점이 있습니다.
일반 로그인 + 소셜 로그인 전체로 JWT 인증 방식으로 도입하고자 할때소셜 로그인 인증 성공 후에 JWT 인증 객체를 발급해서 그 토큰으로 프론트단과 통신하면 되는건가요?? 그리고 JWT로 인증하는 과정이 현 강의와 밑에 나중 강의들에 나오는지 궁금합니다. 단지 인가서버에서 내려준 엑세스 토큰을 리소스 서버에서 JWT 토큰을 검증하기 위한 것인지. 아니면 일반 로그인에 대해서도 JWT 인증을 도입할시에 도움이 되는지 궁금합니다.