묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 기본편
final 참조형 변수
[질문 내용]섹션9 final 변수와 참조 에서 final을 참조형 변수에 붙었을 때 참조 대상 자체를 다른 대상으로 변경하지 못한다는 점에서 이 참조형 변수는 싱글톤(singleton) 패턴이라고 동일시해도 되는 것인가요?
-
미해결자바 코딩테스트 - it 대기업 유제
송아지를 잡자
홀수 레벨만 본다고 했을 때 이전 홀수 레벨에서 방문한 노드를 이후 홀수 레벨에서는 왜 그냥 넘어가는 건가요?? 말씀하신 것처럼 송아지가 움직이니까 이전 홀수 레벨에서 만나지 않았더라도 이후 홀수 레벨에서 만날 수 있는 거 아닌가요??
-
해결됨김영한의 실전 자바 - 기본편
메소드 영역, 힙 영역
[질문 내용]섹션8. 자바 메모리 구조와 static 강의 1분 42초 쯤에 김영한 강사님께서 static영역에서 변수 데이터, 변수 선언해서 스태틱을 해버리면 힙 영역의 참조값을 참조할 수 있다고 그러셨는데,이 말인 즉슨, static 메소드에서 매개변수로 변수 데이터를 선언해서 그 매개변수를 통해 참조값을 참조할 수 있다고 얘기하신게 같은 의미인지 궁금해서 질문합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강사님 폴더에서는 안보이는데 out 폴더가 보여요
강사님이랑 폴더 구조가 달라요!문제가 있을까요?
-
미해결김영한의 실전 자바 - 기본편
자바 입문- 기본
안녕하세요? 자바로 data structure 에 대한 공부를 해야 하는데 선생님 수업을 기본을 신청했습니다. 혹시 어느 수업에서 데이터 구조에 대한 설명을 잘 들을수 있나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2파일 cmd,git bash에서 열려고 하는데 안됩니다.
H2 데이터베이스 설치 강의 3분 42초부터 안됩니다.일단 저는 최신 스프링 인텔리제이를 설치해 사용중이며자바는 따로 설치하지 않은 상황입니다.19년도 인텔맥에 윈도우10을 설치하여 공부중에 있습니다. cmd와 git bash로 시도중에 있습니다.각각 h2.bat 과 ./h2.sh 를 입력하는데 안되고 있습니다.
-
미해결실전! 스프링 데이터 JPA
entity 복제 방법
안녕하세요!이번에 jpa 엔티티를 복제할 일이 생겼습니다 제가 복제해야 할 엔티티는 자기참조도 하고, 1:n 관계의 조인도 되어있는 복잡한 엔티티 입니다 이런 경우 하나하나 deep copy 를 하려니 양방향 연관관계 등 로직이 너무 복잡해지는 부분이 존재하는 것 같습니다 그래서 찾아보니 entity 복제를 위해 여러가지 방법이 있다는 것을 알게되었습니다 https://www.baeldung.com/java-jpa-clone-entity요약해보면수동 복제 Cloneable 인터페이스 사용 BeanUtils 사용 ModelMapper 사용 detach() 메서드 사용 다양한 방법이 있는 것 같은데 현업에서는 주로 어떤 방식을 사용하나요?
-
미해결김영한의 실전 자바 - 중급 2편
배열도 리스트라고 할 수 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]<직접 구현하는 배열 리스트1 -시작 2:15초>리스트의 정의를 보았을 때, 순서가 있고 중복을 허용하는 자료구조를 리스트라고 한다. 배열: 순서가 있고 중복을 허용하지만 크기가 정적으로 고정됨. 리스트: 순서가 있고 중복을 허용하지만, 크기가 정적으로 변할 수 있음. 배열은 리스트에 포함이 되는 것 같기도, 안 되는 것 같기도 합니다..!정의를 보면 배열은 리스트에 포함되는 것 같고,리스트와 대조해보면 리스트가 아닌 것 같아요..! 배열도 리스트 자료구조인가요..?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
모르는 것이 많은데, 이대로 진행해도 괜찮을까요?
안녕하세요. 저는 전공자고, 자바는 학교에서 배운 상태입니다.백엔드 공부하려고 김영한 선생님 로드맵 따라가고 있고, 현재 스프링 입문 강의까지 맞춘 상태입니다.스프링에 처음 접하는데 스프링 입문 강의를 듣고 기능적인 부분은 대충 이해를 하였는데, 문법적인 것들은 처음 접해서 어려움을 느끼고 있습니다. 혹시 스프링에 대해 따로 공부하고 로드맵을 진행해야 할까요? 아니면 따로 스프링 공부 없이 로드맵을 따라가도 괜찮을까요..?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
transacional이 빨간불이 떠요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) transacional어노테이션을 추가했는데 빨간불이 나오느데 어떻게 해야하나요?3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨김영한의 실전 자바 - 중급 2편
Map에 있는 entry에 대해서 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. entry에 대해서, 뭔가 꺼림직한게 있어서 질문을 드립니다.entry에 대해서 더 자세히 설명해 주실 수 있으신가요?entry가 key와 value의 집합 이라고 이해가 되는데? 뭔가 애매해서 질문을 드립니다.꺼림직하고 애매한데, 어떻게 설명해야 할지 어렵네요.그래서 그냥 저가 느낌(생각) 그대로 질문을 올리는것입니다.답변 부탁 드립니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
자기자신을 추가해도 문제가 없는거같아 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.여기에서 public static void main(String[] args) { Scanner in = new Scanner(System.in); String input1 = in.nextLine(); Integer size = Integer.valueOf(input1); int[][] input2 = new int[Integer.valueOf(input1) ][Integer.valueOf(input1) ]; for (int i = 0; i < Integer.valueOf(input1); i++) { String[] temp = in.nextLine().split(" "); for (int j = 0; j < temp.length; j++) { input2[i ][j] = Integer.valueOf(temp[j]); } } int[] count = new int[size]; // 학생 번호 -> [V][] // 학년 -> [][V] // 자기자신 번호를 추가해도 문제X for (int i = 0; i < size; i++) { boolean[] matched = new boolean[size]; // 학년 for (int j = 0; j < size; j++) { int now = input2[i][j]; // 학생 for (int k = 0; k < size; k++) { int another = input2[k][j]; if (now == another){ matched[k] = true; } } } int matchedCount = 0; for (int j = 0; j < size; j++) { if (matched[j]){ matchedCount++; } } count[i] = matchedCount; } int max = 0; int maxStu = 0; for (int i = 0; i < size; i++) { if (count[i] > max){ maxStu = i; } } System.out.println(maxStu); }어차피 자기자신은 항상 포함되어 기본값이 1이게될텐데,boolean[] matched = new boolean[size]; 에서 체크하는걸로 처리하였습니다.이접근법이 틀린이유를 모르겠습니다.1. 자기자신을 같이처리 (기본카운트는 항상 1부터)2. 리스트에 매치된 학생들을 계산 후 마지막에 더함
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
섹션12의 HTTP 서버1 - 시작에서 27분에 질문있습니다.
다른 브라우저를 사용해야 테스트가 확실히 된다고 하셨는데같은 브라우저일 때는 왜 테스트에 어려움이 있는걸까요?어차피 쓰레드 하나로 순차 동기 실행 아닐까요?궁금합니다!
-
미해결Java TPC 실전프로젝트 (Java API 활용)
cmd창.. 인텔리제이 소켓만들기 (실습)
소켓 실습하고 있는데cmd창에서 src까지 들어갔는데자꾸 클래스를 찾을 수 없다 합니다..ㅠ구글링도 해보았으나 뭐가 문제일까요... ㅠ
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
split 메서드에서 "|" 문자를 인식하지 못하는 문제
이유는 모르겠습니다만 제 컴퓨터에서는 DELIMITER 로 지정한 문자 "|" 가 split 메서드에서 작동하지 않더라구요. window를 사용하는데 그 때문인지는 모르겠습니다. 그래서 저는 DELIMITER = "\\|" 로 지정해 동작시켰습니다. 강사님과 split 메서드가 다르게 작동하는 이유는 뭘까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
영속성 컨텍스트 1차캐시 질문
안녕하세요! 질문이 생겨 질문글 남깁니다 :) 영속성 컨텍스트는 트랜잭션을 사용하면 생겨난다 라고 말씀 해주셨는데요. 이중에 1차 캐시 부분에 대한 내용이 궁금해서 코드를 작성하던중에 의아한점이 생겼습니다. @Transactional public List<UserResponse> getUsers() { User user = userRepository.findById(4L).orElseThrow(); user.updateName("test"); userRepository.findById(4L); userRepository.findById(4L); return userRepository.findAll() .stream() .map(UserResponse::new) .toList(); }우선은 위 내용인데요, updateName을 호출한 시점에 변경 감지가 되어서 update문이 호출 되었는데, 이후에 로그로 찍히는 select문이 없더라구요. 1차캐시가 진행되면 그 이후에 객체의 값이 변경 되더라도 그 내용까지 다시 반영해서 캐싱 해주는걸까요? public List<UserResponse> getUsers() { userRepository.findById(4L); userRepository.findById(4L); userRepository.findById(4L); return userRepository.findAll() .stream() .map(UserResponse::new) .toList(); }그리고 두번째 질문은 코드를 이런식으로 트랜잭션 어노테이션 없이 작성했을 때 인데요.제 추측은 트랜잭션 어노테이션이 없으니 영속성컨텍스트가 생성되지 않을것이고 그에따라 select문이 3번 호출될것이다. 였는데 실행해보니 select문은 한번만 호출되더라구요.나름대로 왜일까 고민해본 결론은 findById가 구현된 SimpleJpaRepository클래스에 붙어있는 Transactional이 영향을 주는건가? 싶긴 한데 명확한 답은 모르겠습니다 ☹1차캐시에 한해서는 트랜잭셔널과는 독립되게 영속성컨텍스트가 동작하는걸까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
ddl-auto 관련 질문.
안녕하세요,24강 수강중에 궁금한점이 생겨 문의 남깁니다.야믈파일에 설정한 ddl-auto옵션 관련해서 validate로 값을 바꾼 뒤 몇가지 테스트를 해보았습니다. age필드를 완전히 제거name필드를 named 명칭으로 변경.name필드의 column()안에 들어가는 속성값들을 변경.이렇게 3가지를 해보았는데 실질적으로 테이블과 일치하지 않는다 라며 서버를 실행하지 않는 경우는 2번 name필드가 다른 명칭으로 변경되었을 때 한가지 경우더라구요. age는 nullable이라 아에 필드가 명시되지 않아도 일치한다고 판단하는걸까요?column 어노테이션 안에 들어가는 값들은 감지하지 못하는게 맞나요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
쿠폰 생성 에러 처리에 관해서 질문이 있습니다.
안녕하세요 강사님 강의 잘 봤습니다.덕분에 kafka와 redis를 어떤식으로 사용할 수 있는지 많은 걸 엿볼 수 있는 느낌이었습니다.강의가 다 진행되고 난 후 궁금한 점이 하나 있습니다. 쿠폰 생성 에러 처리 관련되어서 질문이 있는데, 만약 메시지를 수신하는 쪽이 아니라 발송하는 쪽에서 문제가 생겼다면 어떻게 해야하나요? 예를들어 redis에서 increment로 수량에 대해서 가져왔지만, 만약 kafka에 메시지를 보내는 것이 실패 될 경우reids에 있는 값을 다시 하나 줄여야할 것 같습니다. 이런 경우 try catch 블럭으로 처리를 하는 지? 아니면 다른 방식으로 예외처리 하는지 궁금합니다.
-
해결됨김영한의 실전 자바 - 중급 1편
String클래스 리터럴 방식 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. String 선언시 리터럴 방식으로하면 String Pool에 해당 문자열이 있는지 확인하고, 있다면 해당 문자열의 참조값을 사용하는 것으로 알고 있는데요. 반면 new 연산자를 이용하는 방식은 String Pool 을 거치지 않고 항상 새로운 String 객체를 생성하는걸로 알고있습니다. PDF 파일 2페이지에 이런 내용이 있는데요.편의상 쌍따옴표로 문자열을 감싸면 자바 언어에서 new Stirng("hello")와 같이 변경해준다. 리터럴 방식도 new 연산자를 이용하는 방식으로 자바가 변경해주는거라면 Heap 영역에 항상 새로운 String 객체를 생성하게 되는게 아닌지 궁금합니다.감사합니다. 😃
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
[28000][1045] Access denied for user 'root'@'localhost' (using password: YES)
인텔리제이 내에서 데이터베이스를 실행하려고 하면 [28000][1045] Access denied for user 'root'@'localhost' (using password: YES) 이와 같은 경고문이 뜹니다. 해결방안을 알고 싶습니다!