묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 시큐리티 OAuth2
통합 로그인 구축 관련해서 질문 드립니다.
안녕하세요.통합인증서버 - 클라이언트 - 백엔드서버 이런식으로 구성 되어 있는데요.플로우 관해서 질문이 있습니다.client -> auth server : return url / client id 통합인증서버로 보내고auth server -> client : auth id 통합인증서버에서 받고client -> be server : client id / auth id 클라이언트에서 받고be server -> auth server : client id / auth id 백엔드서버에서 통합인증서버로 보내고auth server -> be server : access token / refresh token 백엔드서버에서 통합인증서버로 받고be server -> client : access token / refresh token 백엔드서버에서 클라이언트 보내기이런식으로 구성을 한다고 하더라구요.저는 3번에서 바로 auth id를 통합인증서버로 보내고 토큰을 클라에서 받고 저장 그리고 백엔드 보내고 저장이라고 생각이 드는데요.불필요한 작업이 추가로 하는거 같다라는 생각을 했는데요. 클라에서 auth id를 통합인증서버로 보낼때 get으로 보내서 보안 문제가 있어서 서버 투 서버로 보낸다고 하더라구요.(백앤드 서버에서 보내는 것만 받으려고)어떠한 방식이 옳은건지, 저렇게 하면 보안적으로 더 좋은건지 잘 모르겠습니다.제가 생각하는 방식으로 해도 되는건지.. 고견 부탁드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
다대일 ,일대다 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Member와 Order의 연관관계에서 궁금한 점이 있습니다.Member와 Order 테이블만 보고, 일대 다 양방향 연관관계인지 다대 일 양방향 연관관계인지 정하는 기준이 있을까요?일대 다의 단방향 연관관계매핑은 사용하지 않는것이 좋다는건 기본편에서 들어서 배웠습니다.그런데 왜? 양방향 연관관계는 사용하면 안되는건가요?Member에서 Order를 가진다고 문제될게 있나요?
-
미해결김영한의 실전 자바 - 중급 2편
매개변수 명명 관련 질문입니다.
매개변수 이름을 element와 value로 구분하시는 이유가 있을까요? public interface Myset<E> { boolean add(E element); boolean remove(E value); boolean contains(E value); }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
jpa기본강의 서브쿼리 강의 도중 나오는 애플리케이션
안녕하세요 jpa 기본강의 서브쿼리 강의 10분 39초에서말씀하시는 애플리케니션으로 끌고가야한다는 애플리케이션이 정확히 어떤의미인지 잘 모르겠습니다. 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
static 폴더 인식이 안됨
강의 내용 대로 코드를 짰는데 localhost::8080으로 연결하면 static 폴더에 있는 html이 아닌 template 폴더에 있는 html이 뜹니다. static 폴더에 있는 html을 실행시키면 localhost::63342로 정적 페이지가 뜹니다. thymeleaf를 이용한 template 폴더에 있는 파일은 localhost::8080/hello를 하면 제대로 뜹니다. 무엇이 문제인걸까요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
select 쿼리가 나가는 이유
섹션 4. 회원 도메인 개발 회원 기능 테스트 강좌 관련 질문입니다. @Test public void 회원가입() throws Exception { // given Member member = new Member(); member.setName("kim"); // when Long saveId = memberService.join(member); // then assertEquals(member, memberRepository.findOne(saveId)); }위의 코드를 실행시켰을 때, insert문 쿼리가 왜 나가지 않는지는 이해를 했습니다. 하지만 select 쿼리가 왜 나가는지는 궁금합니다.제가 생각한 흐름을 설명드리면,memberService의 join 함수를 실행해서 member 객체를 영속화하게 되면 1차 캐시에 해당 데이터가 저장이 될 것이고 동시에 쓰기 지연 SQL 저장소에 insert 쿼리문이 쌓입니다. 이때 쿼리문은 트랜잭션이 커밋되면 DB에 반영이 되지만 테스트 클래스에서는 트랜잭션이 롤백되기 때문에 insert 쿼리가 나가지 않게 됩니다. 이후 findOne 메소드를 실행할 때에는 DB에서 직접 찌르는 것이 아니라 1차 캐시에 저장되어 있기 때문에 1차 캐시에서 데이터를 가져와도 되기 때문에 select문이 나가지 않아도 된다고 생각했는데 실제 실행결과를 보니 select 쿼리문이 나가더군요.. 이유가 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
File not found:
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]순수 jdbc 강의 16분내용으로 코드실행하는데 매핑한 주소 모두 file not found가 뜹니다..Identify and stop the process that's listening on port 8082 or configure this application to listen on another port.라고 콘솔에는 뜨는데 톰캣포트랑 h2포트랑 같아서 생기는 문제일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest 실행시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MemberServiceIntegrationTest 에서 회원가입 코드를 실행하면 MemberController 에서 오류가 발생합니다.이유가 무엇일까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 db table 생성안됨
h2 db 연결은 되었는데 member테이블 생성이 안됩니다. spring: #띄어쓰기 없음 datasource: #띄어쓰기 2칸 url: jdbc:h2:tcp://localhost/~/jpashop #4칸 username: sa password: driver-class-name: org.h2.Driver jpa: #띄어쓰기 2칸 hibernate: #띄어쓰기 4칸 ddl-auto: create #띄어쓰기 6칸 properties: #띄어쓰기 4칸 hibernate: #띄어쓰기 6칸 show_sql: true #띄어쓰기 8칸 format_sql: true #띄어쓰기 8칸 logging.level: #띄어쓰기 없음 org.hibernate.SQL: debug #띄어쓰기 2칸 # org.hibernate.type: trace #띄어쓰기 2칸 ```
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 섹션 4 회원 기능 테스트 강의 질문입니다. @RunWith(SpringRunner.class) @SpringBootTest @Transactional class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void 회원가입() throws Exception { // given Member member = new Member(); member.setName("kim"); // when Long saveId = memberService.join(member); // then assertEquals(member, memberRepository.findOne(saveId)); } @Test public void 중복_회원_예외() throws Exception { // given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); // when & then assertThrows(IllegalStateException.class, () -> { memberService.join(member1); memberService.join(member2); }); } }Junit5를 사용했다는 점을 제외하고는 강의와 똑같이 코드를 작성했습니다.이때 회원가입관련 테스트에서 강의에서는 insert문이 나가지 않지만 저는 따로 Rollback을 false로 설정하지 않아도 insert문이 실행되더군요. 이유가 궁금합니다.사진에서 확인할 수 있듯이 Rollback이 되었기 때문에 트랜잭션이 커밋되지 않아 insert 쿼리가 발생하면 안될 것 같은데 왜 실행되는지 이유를 모르겠습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
08_01 합이 같은 부분 집합
왜 dfs로 풀어야하는지 잘 이해가 되지않습니다.집합의 일부분을 사용하고 value의 값이 가장 먼저 나오는 node를 찾으면 되는 문제로 판단하고 bfs로 제출했더니 런타임오류가 발생했습니다. 아직 개념이해가 부족해 잘못된 접근 방식인건지 잘모르겠습니다. 관련해서 설명부탁드겠습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
JDK 21을 사용하는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]JDK 21을 사용하시는 특별한 이유가 있을까요? 현재 JDK LTS 릴리스가 17 다음에 21인것으로 알고 있는데 제가 찾아본 바로는 21보다는 17이 현재까지는 더 안정성이 있고, 여러 패치와 업데이트를 통해 성숙한 상태여서 커뮤니티도 더욱 활발하다고 합니다.반면에 21의 경우에는 아직은 이런저런 에러들이 발생하는것으로 알고있습니다.단지 최신 버전이라서가 아닌 특별한 이유가 있으시다면 그 이유를 알고싶습니다!
-
미해결김영한의 실전 자바 - 중급 2편
Card 객체의 suit
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이번 강의를 시청하고 enum을 제대로 공부를 안했구나 느껴서 다시 중급1편을 보고 왔는데도 Card 객체에서 suit를 생성자로 값을 주입하는걸 너무 이해가 안됩니다. enum타입은 상수라서 그냥 생성자를 이용해서 넣지않고 바로 사용하면 되는거 아닌가요? compareTo, toString에 사용하기 위해 생성자를 이용해서 주입을 하신건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build이후 파일생성안됨?
빌드가 된 후에 파일 생성이 안될수가 있나요?ㅜㅜ 경로를 계속 못찾느다고 하네요 들어가봐도 build라는 파일은 없는데요 +비슷한 질문 찾아서 gradlew build로 실행해 보니 빌드오류가 뜹니다 어떤 경우인가요? devtools 지우고 다시 해봐도 동일한 오류가 뜨네요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
딜레마라고 말씀하신 부분 자체가 이해가 잘 가지 않습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]양방향 연관관계와 연관관계의 주인 1-기본 편 강의에서13:33 즈음에 딜레마라고 말씀해주신 부분에서(제가 설계적인 센스가 있어서 그런게 아니라)Member클래스의 team필드를 당연히 외래키와 맵핑시켜야 하는거 아닌가? 라는 생각이 들었는데 오히려 둘 다 가능하다고 하니 이해가 가질 않습니다. 어쩨사 Team 클래스의 멤버를 바꾸는데 외래키를 수정해야 하는지 자세한 설명 부탁드립니다 (뒷 내용은 Team클래스에서 연관관계를 맺지 말라고 하셨지만 이해가 안 가는건 어쩔 수 없네요)좀 더 질문을 자세히 드리자면 13:33 이전까지 db는 외래키를 이용하기 때문에 방향의 개념이 필요없다고 하셨는데 객체는 서로 참조로 방향이라는 개념이 생긴다 이로 인해 패러다임의 불일치라는 문제가 생긴다라고 하셨는데 객체와 db의 방향성 까지는 이해했는데 패러다임의 불일치로 정확히 어떤 문제가 발생하는지 까지 이해하지 못했습니다 설명 부탁드립니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 빈
[질문 내용] MemoryMemberRepository가 MemberRepository인터페이스를 구현하기 때문에 스피링 빈(객체)는 MemoryMemberRepository클래스의 객체여야한다고 생각하는데강의안은 이렇게 되어있는데 부모 인터페이스가 자식을 품을수 있기 때문에 그림이 이렇게 된건가요??
-
미해결Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
newBoundedElastic 에서 queue 에 쌓이는 룰
안녕하세요 좋은 강의 감사합니다.강의 <Sceduler의 종류> 에서 13:24 쯤에 나오는 내용이 궁금합니다."subscribe 3 doing" 는 왜 T-1 쓰레드의 Q1 큐에 쌓이고, "subscribe 4 doing" 는 왜 T-1 쓰레드의 Q2 큐에 쌓에 쌓이는지 궁금합니다.그 다음"subscribe 5 doing" 역시 왜 T-1쓰레드 Q1 큐에 쌓이는 지도 궁금합니다.순서가 차례로 하나씩 할당되게 되는 것인가요감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
결론이 이게 맞나요?
강의에서 보면 연관관계의 주인은 일대다 관계 중 다에 해당하는 Member클래스입니다. 주인이 Member클래스이기 때문에 해당 연관관계 편의 메서드는 다음과 같이 Member클래스에 정의합니다.public void setTeam(Team team) { this.team = team; team.getMembers().add(this); }Team클래스인 경우 일대다 중 일에 해당하는 클래스입니다.여기선 연관관계 편의 메서드를 사용하지 않습니다. 이렇게 이해하면 될까요?
-
미해결자바 9부터 자바 21까지
12강 강의 챕터 제목에 오타가 있네요
record pattern과 siwtch pattern matching 으로 되어있습니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
book.getStockQuantity()의 개수가 8인 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.처음에는 book.getStockQuantity()가 10일것이라 예상하였고, db에서 다시 조회해야 8일것이라 생각했습니다. 8인 이유는 book.getStockQuantity()를 할때 영속성 컨텍스트의 1차 캐시에서 조회해오기 때문에 8인건가요?