묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
접근제어자 질문
안녕하세요, 강의 잘 보고 있습니다. 접근제어자 강의 수강 중인데, public, private, default 관련 사용법 알려주셔서 protected는 스스로 만들어보고 테스트 해봤습니다. 그런데, protected는 다른 패키지여도 자식클래스는 접근이 가능하다는데, 어떻게 사용해야하는건지, 왜 main에서 오류가 나는지 모르겠습니다..package access.b; import access.a.AccessData; public class AccessMain extends AccessData { public static void main(String[] args) { AccessData data = new AccessData(); // 이렇게 하면 안되는 이유 data.protectedField = 5; data.protectedMethod(); } }이렇게 했을 때 오류가 나고, package access.b; import access.a.AccessData; public class AccessMain extends AccessData { public static void main(String[] args) { Test test = new Test(); test.ts(); } } class Test extends AccessData { void ts(){ protectedField = 3; System.out.println("protected test 호출입니다."); protectedMethod(); } }이런 식으로 접근하면 또 접근이 가능했습니다..왜 그런건지, 어떤 경우에 이런식으로 쓰는건지, main에서는 왜 안되는건지 궁금합니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
8분에 실행 테스트 하는데 뭐가 문제인지 모르겠어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 실행되다가 중간에 오류가 발생하는데 이게 어떤 오류인건지 잘 모르겠습니다.아시는 분 계실까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
gradle build 실패, intelij 빌드 성공 왜그런걸까요?
안녕하세요 스프링부트 3.0 이상 버전을 사용하고 있는 사람입니다.원래는 gradle로 잘 빌드하다가 오늘 갑자기 gradle빌드가 실패하네요그래서 혹시나 해서 build를 intelij로 바꿔보니깐 실행이 잘됩니다. 3.0이상버전부터는 gradle빌드로 해야한다고 하시는데 이렇게 하면 문제가 생길까요?왜그런걸까요?
-
미해결김영한의 실전 자바 - 기본편
scanner.nextInt() ,scanner.nextLine()
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]1. 실전자바 섹션2에 문제와 풀이 15:15 부분정도에서 scanner.nextInt()가 가격한번 받고 아래에 수량 받는데가격을 입력받는 scanner.nextInt() 뒤에는 scanner.nextLine()을 추가하지 않고 수량을 입력받는 scanner.nextInt() 다음에 scanner.nextLine()을 쓴 이유가 어떻게 될까요? int가 연속으로 올때는 안써도 되는건가요? 그 이유가 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP 시간 추출 실시간 반영
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의 잘 듣고 있는 수강생입니다.AOP 적용 강의 6분30초 쯤 이나 그 이전에도 보면, 강사님이 localhost:8080 에서 회원목록 같은 곳 들어가실 때나 뭔가 접속할 때마다 실시간으로 인텔리제이에 START시간과 END시간이 반영이 되어서 나오는데 저는 그냥 이미지 처럼 처음 실행했을 때만 실행시간이 나올 뿐 그 이후부터는 아무것도 변화하지 않습니다.. 실시간으로 반영이 안되는 것 같아요 이유가 뭘까요? (TimeTraceAop부분은 강의노트와 똑같습니다. 혹시 몰라서 복붙했습니다)
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
메서드 문제와 풀이 2
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.=========================================저는 if, else if로 풀었는데 결과는 같지만 이렇게 작성하면 어떤 점이 다른지, 개선해야 될 부분이 어떤 것이 있는지 궁금합니다! (메인 부분만 가져왔어요!) public static void main(String[] args) { Scanner sc = new Scanner(System.in); int balance = 0; int amount; int withdraw; while (true) { System.out.println("---------------------------------"); System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); System.out.println("---------------------------------"); System.out.print("선택: "); int menu = sc.nextInt(); sc.nextLine(); if (menu == 1) { System.out.print("입금액을 입력하세요: "); amount = sc.nextInt(); balance = deposit(balance, amount); } else if (menu == 2) { System.out.print("출금액을 입력하세요: "); withdraw = sc.nextInt(); balance = withdraw(balance, withdraw); } else if (menu == 3) { System.out.println("현재 잔액: " + balance); } else if (menu == 4) { System.out.println("시스템을 종료합니다."); break; } else { System.out.println("잘못 입력하셨습니다."); } } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중복회원, 회원가입 오류
[질문 내용]https://drive.google.com/file/d/1UqI2_8bN8k4yq1Zww3OVkDLQ_yS_tsPS/view?usp=sharing 오류를 gpt 와 함께 찾아보니.. Autowired 주입하려는 필드가 빈으로 정의되어 있지 않다고 하는것 같더군요.ㅠ 그래서 의존성 주입이 되지 않는다고 합니다. 더하여서 JdbcTemplateMemberRepository 에 Autowired 어노테이션이 되지 않는 이유도 알고싶습니다. + 스프링 오류 코드를 gpt에 돌려보고 어떤 코드인지 보는 저인데.. WARNING 뒤에 있는 것을 확인하고 오류를 찾으시는 걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티 객체의 setter사용
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요?예[질문 내용]여기에 질문 내용을 남겨주세요.강의 12분에서 Member 객체를 만들고 setter를 사용하셨는데 엔티티의 setter는 지양해야되는 것으로 알고있습니다.createMember 와같은 정적팩토리 메서드 로 객체생성하는게 더 낫지않나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Transactional 업데이트 쿼리
엔티티 컬럼의 값을 수정할 때 save()를 안써도 JPA의 더티체킹 때문에 트랜잭션 커밋 시점에 업데이트 쿼리가 나간다고 알고 있습니다. @Transactional public void updateDeleteFlag(Long fileId) { File file = fileRepository.findById(fileId) .orElseThrow(() -> new EntityNotFoundException("해당 파일을 찾을 수 없습니다.")); file.changeDeleted(true); }위 코드에서 @Transactional 어노테이션을 제거하면 update 쿼리가 나가지 않아서 수정이 안되더라고요. 이건 트랜잭션 커밋 시점에 업데이트 쿼리가 나가는데 @Transcational 어노테이션을 달지 않으면 트랜잭션을 시작하지 않아 커밋도 없기 때문에 그런건가요? 1번의 내용이 맞을 때, @Transactional 어노테이션이 업데이트 메서드에 없다면, update 쿼리가 언제 나가는지 궁금합니다. update 쿼리가 나가지 않고 있다가 (JPA SQL저장소에 계속 머물다가) 다른 트랜잭션 (가령, 게시물 조회) 이 실행되고 커밋되는 시점. 이때 update 쿼리가 나가게 되는건가요?
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
선생님 문제 풀다가 궁금한 사항이 있어서요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]반복문 문제풀이에서요. 모르고 처음 사진처럼 썼더니 선생님이랑 답을 포함 하고 있지만 다른 내용이 나오더라구요.사진1과 2의 차이가 뭘까요?ㅠㅠ 사진1은 총합 값말고 그전에 더한값도 나오더라구요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
변경감지 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]변경 감지 코드로 수정 메서드를 작성하던 중 setter를 없애고 ItemService의 updateItem() 안의 setter들을 대체하기 위해public void updateItem(String name, int price, int stockQuantity){ this.name = name; this.price = price; this.stockQuantity = stockQuantity; }이 코드로 Item클래스 안에 작성했습니다.@Transactional public void updateItem(Long id, String name, int price, int stockQuantity) { Item item = itemRepository.findOne(id); item.updateItem(name, price, stockQuantity); // item.setName(name); // item.setPrice(price); // item.setStockQuantity(stockQuantity); }이렇게 사용하기 위해서 입니다.하지만 이것도 결국은 setter인데 이렇게 작성하는 게 올바른 방법일까요? 더 좋은 코딩 방법이 있는 지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
TransactionContext 관련 문의
[질문 내용]안녕하세요.@Rollback(false) 어노테이션을 달기 전에도 TransactionContext 로그가 뜨지 않는 것은 어떤 문제인가요?? 어노테이션 대신에 autowired한 엔티티매니저 flush를 해도 로그는 나타나지 않습니다.감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
name = "", mappedby ="" 등에서 자동완성
강의영상을 보다 보면 제목에 적어 놓은 name = "" 의 " " 영역에 ctrl+space로 자동완성을 띄우셔서 클래스 같은 걸 바로 작성하도록 하시는데 혹시 어떻게 세팅을 해야 가능할까요? 다른 건 자동완성이 뜨는데 해당 " " 부분들은 자동완성이 되지 않아서요. JPA FACET 설정도 해놨습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 통합 테스트 시 @Transactional로 DB를 롤백 시키는데 id는 여전히 건너뛰어지는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]섹션 6의 JPA 강의를 듣다가 생긴 궁금증입니다! spring1이라는 멤버를 가입시키고 h2 콘솔을 통해 확인해보니 멤버 spring1의 id는 10이었다고 가정해보겠습니다. 이 직후에 스프링 통합 테스트에서 회원가입() 테스트 메서드를 한 번 돌리고, 다시 spring2라는 멤버를 가입시켜보면 멤버 spring2의 id 값은 11이 아닌 12가 됩니다.JPA가 보내는 insert 쿼리에선 id가 null로 넘어가니까 id 값을 부여하는 건 결국 DB라고 생각했는데 왜 테스트 후 롤백을 해도 11번 id가 건너뛰어지는 것일까요? 이 부분의 매커니즘이 궁금합니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
값타입과 @MappedSuperclass의 차이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]값타입 @MappedSuperclass의 차이가 무엇인가요?BaseEntity를 @MappedSuperclass로 놓고 상속받아서 여러 속성을 한꺼번에 갖는것과 값타입 클래스를 @Embeddable로 설정해서 위임하는 것의 차이가 궁금합니다. 둘다 여러 속성들을 동시에 관리해서 다른 테이블의 속성으로 사용하기 위한 목적이라면 하나만 있으면 될 것 같은데, 왜 굳이 2개 모두 필요한가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
array 말고도 리스트 공부
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/[질문 내용]제가 여기서array 는 공부했는데 , 리스트에 대해서 공부하고 싶은데 어디에서 할 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 빈 이라는게 뭔가요 이전강의를 다시봐도 모르겠어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.스프링 빈 계속 말씀해주시는데 잘 모르겠어요 @autuwire라는것도 어떤 기능인건지 이해가 안가요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
섹션 1-5, 동작확인 실습시 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 섹션1-5강 JPA와 DB설정 동작확인 강의에서 MemberRepositoryTest.java를 실행하면 검증 실패가 떠서 문의드립니다. 제가 STS에서 실습중이라 왜 오류가 뜨는건지 모르겠는데... 오류라고 뜨긴 뜨는데 강의 내용처럼 DB에 memberA가 잘 insert 되서 들어가긴 합니다. 근데 빨간색 오류가 떠요. 왜그런건가요?
-
해결됨김영한의 실전 자바 - 기본편
지역변수, 멤버변수 관련 질문이 있습니다.
지역 변수: 메소드 내부에서 선언된 변수 이며, 값을 수동으로 초기화 해줘야 한다. 멤버 변수: 클래스에 선언된 변수이며, 값이 자동으로 초기화 된다.요기서 test 변수는 멤버 변수 아닌가요?해당 코드를 실행시키면 에러가 떠서 궁금해서 질문드립니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
코틀린에서 ModelMapper는 어떤지 궁금합니다.
안녕하세요! 강의를 모두 수강하고,최근 신규 프로젝트로 코틀린을 사용할 예정이라 강의를 다시 한번 곱씹어 보고 있습니다 궁금한 내용은 다름 아니라 java 프로젝트를 했을 때Entity > DTO 변환 시 필드의 추가/변경/삭제 시 누락을 방지하려고 ModelMapper를 자주 사용했던 기억이 있는데, 강사님 강의에서는 이러한 작업을 할 때 'of' 나, 'fixture' 와 같은 같은 팩토리 메서드를 주로 사용하시는 것을 보고궁금해서 찾아보니 코틀린은 매핑 관련 라이브러리를 잘 사용하지 않는다는 글도 있더라고요.. 혹시 이러한 부분은 어떻게 생각하시는지 궁금합니다!