묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
2차원 배열을 통한 학생 수 & 성적 입력받기
안녕하세요 강사님... 제가 눈을 씻고 찾아봐도 어느 부분에서 잘 못 된지 모르겠습니다.......ㅜㅜ왜 국어 영어 수학이 안나오고1번 학생국어 점수:국어 점수:국어 점수:2번 학생영어 점수:영어 점수:영어 점수: 이런 형식으로 나올까욥,,,,
-
해결됨김영한의 실전 자바 - 기본편
12. 다형성과 설계 NewCar에서 pressBrake() 기능을 추가한다면..
안녕하세요 영한님!궁금한 점은 OCP 원칙까지 보고나서 생겨난 질문입니다.Car 인터페이스를 구현하는 K3Car, Model3Car, NewCar의 클래스, Driver는 Car인터페이스를 의존하고 있는데요.,,.강의 내용과 같이 Car 인터페이스에 있는 추상메소드들만 구현한 클래스끼리 있을 때는 크게 어려운 점이 없는 것 같지만.,.,위와 같이 NewCar에서 이 때까지 없었던 pressBrake()라는 기능을 새로 추가하여 Driver에게 해당 메소드를 사용하게 하고싶다면! 어떻게 코드를 짜야하는지가 저의 궁금증입니다!먼저 코드를 짜보면서 혼자 해결해보려고 했으나,.., 자바와 아직 완벽히 친해지지 못했는지 더 좋은 방법이 있지 않을까 하며 만족스러운 해법을 찾지 못 하고 있습니다..1. Driver 클래스의 drive() 메서드 블록 안에서 instanceof를 사용하여 car변수가 NewCar 클래스일 때 pressBrake()를 사용한다면?강의에서 배웠던 OCP원칙 중 Closed for modification에 모순이 생겨버리고.. 2. Car 인터페이스에 pressBrake() 메서드를 넣는다면?OCP 원칙에 모순이 생길 뿐더러 오히려 대대적인 코드 수정도 생겨버립니다..해당 사항에 대해서는 어떻게 대처를 해야 잘했다고 소문이 날지 궁금하여 질문을 올리게 되었습니다!
-
미해결김영한의 실전 자바 - 기본편
스프링 질문
자바 기본편 강의까지 수강한 이후 바로 스프링으로 넘어가도 괜찮을까요??
-
미해결실습으로 배우는 선착순 이벤트 시스템
redis 설정 시 application.yml을 수정하지 않는 이유
안녕하세요 강사님.spring-data-redis 의존성을 추가하여 디펜전시 받고couponcountrepository.java를 생성하였습니다.보통 yml 파일에 redis 관련 설정도 해주는 것으로 알고있었는데 강의에서는 따로 yml에 redis 설정을 하지 않아서요.redis 설정을 안해준다면 어플리케이션에서 어떻게 redis와 연결될 수 있는지.. 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
JPA 순환참조 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. EventGroupInformation.java@NotFound(action = NotFoundAction.IGNORE)@JsonBackReference@ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)@JoinColumn(name="CATEGORY_ID", insertable = false, updatable = false)private CategoryInformation categoryInformation;@BatchSize(size = 1000)@JsonManagedReference@OneToMany(mappedBy = "eventGroupInformation", cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)@Where(clause = "DBSTS = 'O' AND FEED_DISPLAY_YN = 'Y' AND START_DATE <= SYSDATE AND END_DATE >= SYSDATE ")@Column(insertable = false, updatable = false)private List<EventInformation> eventInformations; CategoryInformation.java@BatchSize(size = 1000)@JsonManagedReference@OneToMany(mappedBy = "categoryInformation", fetch = FetchType.LAZY)@Where(clause = "DBSTS = 'O' AND START_DATE <= SYSDATE AND END_DATE >= SYSDATE ")@Column(insertable = false, updatable = false)//@Access(value = AccessType.PROPERTY)public List<EventGroupInformation> eventGroupInformations; 여러개의 oneToMany가 걸려 있는 entitiy들을 강의 V5예제를 참고하여 개선중에 있습니다.CategoryInformation(Order)ㄴ EventGroupInformation(OrderItem)ㄴ EventInformation(Item)이런 식에 구조인데요, 각각 oneToMany 입니다. EventGroupInformation과 EventInformation을 fetchJoin을 통해 쿼리를@Query(value = "SELECT distinct eg FROM EventGroupInformation eg " +"LEFT JOIN FETCH eg.eventInformations e " +"WHERE eg.dbsts = :dbsts " +"AND eg.categoryId IN :categoryIds" ) 호출하면 해당 fetchjoin 쿼리 하나만 나갈꺼라고 생각을했는데,갑자기 상위 entity인 CategoryInformation 테이블에 category_id(PK)로 category_id 개수만큼의N+1 이슈가 발생 하였습니다. JsonBackReference, JsonManagedReference 해당 옵션을 주면 역참조가 안되어야 하는게 맞지 않나요?? 추가로 ManyToOne 쪽에 @JsonIgnore 도 추가 해보았으나 마찬가지입니다 ㅠ제가 놓치고 있는게 있을까요? 김영한 선생님 강의 에서는OrderItem-Item 관계에서 IN쿼리를 호출했을때 IN절에 포함되는 orderId기준의 상위 엔티티인 Order 테이블에 역으로 쿼리가 나가는건 못봤는데 말이죠..(물론, 양방향 관계를 끊고 단방향 설정시 N+1 쿼리는 나가지 않습니다.)
-
미해결김영한의 실전 자바 - 기본편
복합단어 패키지명 관례문의
패키지명은 소문자가 관례인데만약주문이력 이라는 패키지를 만들거면 아래 1번이 관례인가요?1) orderhistory2) order-history3) order.history (order 패키지 하위에 history 패키지 ) order 패키지 밑에 여러 하위 패키지가 있다면 3번이 제일 좋긴 한데, 만약 history 패키지 밖에 없더라도 3번처럼 하는게 적절한지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@Column 관련 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.실전 예제에서 추가된 카테고리랑 딜리버리에 @Column이 추가되지 않은 이유는 DB Table까지는 사용하지 않을 거여서라고 생각하면 될까요?Order나 Member에는 @Column이 있는데 다른 곳은 또 @Column이 없고.. 어디서 어떻게 써야할지 확신이 안갑니다 ㅜ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 실행문제
소스파일https://drive.google.com/file/d/1Laef4VrgEfQ0--86aUf1ENR9yi4LSwXF/view?usp=sharing강사님이 하신대로 따라하는 중인데 처음 MemberRepositoryTest를 실행할 경우 테스트가 통과됩니다. 이후 @Rollback(false)를 추가해서 실행할 때부터 에러가 납니다. h2 DB를 삭제하고 처음부터 다시 해봐도 똑같이 처음 한번은 통과하고 그 다음부터 에러가 납니다. 아래는 로그 전문입니다. https://drive.google.com/file/d/1sLImPcsiNvBY04ZOmBWe6fVansFaWWPi/view?usp=sharing
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
StudentDao파일은 생성자가 없는데 왜그런가요?
생성자가 없는 클래스의 이유를 검색해도 답을 구하기가 어렵네요
-
해결됨실전! Querydsl
[질문X] fields 방식이 private이여도 주입이 되는 이유
저도 잠깐 생각해봤는데,이 Projections.fields라는 건 리플렉션 방식을 이용한다고 함.뭔지는 잘 모르겠으나, 객체의 구체적인 타입을 알지 못하더라도 해당 객체의 멤버변수, 메서드 등에 접근할 수 있도록 해주는 자바의 기능이라고 함.생각해보면 private 하는 게 정말로 다른 객체에서 절대로 접근하지 못하게 할거야! 라기 보다는 유지보수, 축약하자면 캡슐화를 위해 함. 근데, 필드에 주입 할 수 있다는 것 자체가, 주입할 판이 있어야 함. 주입할 객체가 있어야 함. 그래서 비어있는 생성자가 필요한 듯.
-
해결됨실전! Querydsl
왜 메소드 이름이 bean인가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]저는 bean이라 하면 뭐에 의해 관리되는 하나하나 개개의 단위? 라고 생각했어요. 스프링 빈.영속성 컨텍스트에 의해 관리되는 엔티티들도 약간 그런 느낌으로.. 근데 여기서 bean이라는 메소드 명을 들으니 뭐라고 생각해야 될 지 모르겠어요.
-
미해결스프링 시큐리티
연결 부분
이런 내부 인증 과정을 세세하게 알 수 있어서 너무 좋습니다..근데 중간에 브레이킹 포인트 찍을 때 장면이 생략이 되서 중간 중간 부분이 아는 사람만 알게 넘어간 것 같아서 질문 드립니다.. 1)AbstractAuthenticaionProcesingFilter 해당 filter 에 attemptAuthentication 가 추상 메서드로 있는 상태에서 this.attemptAutehnticaion 했을 때 어떻게UsernamPasswordAutenticationFilter에 구현 된 attemptAutentication이 실행 되는지 2) UserNamePasswordAuthenticationFilter에서return this.getAuthenticationManager().authenticate(authRequest); public interface AuthenticationManager { Authentication authenticate(Authentication authentication) throws AuthenticationException; }impementation이 5개가 있는데 왜 ProviderManager 클래스로 넘어갈 수 있는 건가요? 3) ProviderManager에서 해당 인증을 처리할 수 있는 Provider인 DaoAuthenticationProvider에서 createSuccessAuthenticaion까지 가는 과정을 알 수 있을까요?
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
입력 받을 숫자의 개수를 입력하세요 관한 문제
강사님 안녕하세요. 배열 문제와 풀이1 마지막 부분 입력 받을 숫자의 개수를 입력하세요에 관한 질문을 드립니다.입력 값을 받고 그 입력 변수를 in[] numbers = new int[count]; 한 뒤for(int i = 0; i<count;i++){...}라고 작성하셨는데 numbers.length를 써도 상관이 없나요??
-
미해결김영한의 실전 자바 - 기본편
[변수의 초기화] 멤버 변수 자동 초기화하는 이유가 궁금합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의를 듣다 궁금점이 생겨 질문드립니다. 멤버 변수는 왜 지역 변수처럼 항상 직접 초기화를 하는게 아니라 왜 자동으로 초기화를 해주는지 이유가 궁금합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
단축키 오류 Cannot perform refactoring. Unknown expression type
Cannot perform refactoring. Unknown expression type Ctrl + Alt + V 단축키를 누르면 위와 같은 오류가 납니다.어떻게 해야할까요?
-
미해결윤재성의 자바 기반 안드로이드 앱개발 Part 1 - UI Programming
상태 변화 리스너 중 switch-case문 오류 문제
강의 22분 35초 경 switch-case 문을 통해 체크박스의 id로 분기를 하려고 할 때 // id로 분기함 switch (checkboxId) { case R.id.checkBox: break;case 문의 R.id.checkBox부분에서 "Constant expression required" 에러가 발생합니다. 구글링을 해보니 switch-case 문의 상수가 final로 선언되지 않아 발생하는 문제라고 하는데 어떻게 해결할 수 있을까요?
-
미해결스프링 시큐리티 OAuth2
인가서버에 login post요청
안녕하세요?상태 :client server에서 고객 아이디와 비번을 client server controller로 보내서여기서 restTemplate를 이용하여,localhost:8081/oauth2/authorization/springoatuh2로 get mapping하여 login page를 얻어왔습니다.여기서다시 한번 restTemplate을 이용하여 localhost:9000/login 으로post 요청을 하면서 body (multipart/form-data) 에 username, password, _csrf(로그인페이지에 있는) 값을 보내어 access token을 받으려고 하였는데,null을 리턴받았습니다. response header 에 Location은 localhost:9000/login이 되었습니다.이유는 쿠키가 전달되지 않아서 그랬습니다. 그래서, 첫번째 restTemplate으로 부터 받은 response에서쿠키를꺼내서 두번째 restTemplate에 담아서 같이 보냈더니 localhost:9000/으로 response header Location이 잡혔습니다. 그래서, 인가서버에서 다음상황으로 그러니까 client server로 code를 전달해주는 과정으로 넘어가지가 않고 멈추었습니다. 인가서버 log level을 oauth2로 잡고 디버그해보았을때 로그인이 되어있고, redirect uri 가 `/` 로 되어있음도 확인하였습니다. postman으로는 두 요청을 보내었을때 성공적으로 accesstoken을 받았는데,질문 :직접 client server의 controller에서 보낼때는 실패하는 이유가 무엇일까요?뭔가 더 필요한 정보가 있을까요? state, nonce 와 같은 값들을 넣어주어야 할까요?긴글 읽어주셔서 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 Driver 서버 연결 오류가 발생합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 돌고래 새로고침 누르고 실행 시켜 보니 오류가 발생합니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName 메서드
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]findByName 메서드 리턴값이 result.stream().findAny(); 인데 findFirst()가 아닌 findAny()를 사용하신 이유가 뭔가요? 둘중 아무거나 사용해도 상관없을까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
처음 JPA 프로젝트 생성하기 오류 입니다 ..
제가 여러번 생성 해봤는데 계속 저렇게 에러가 뜨는데 어떤 잘못인지 잘 모르겠습니다 .. ㅠ