묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
예외 처리에 관하여
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 자바 중급1을 모두 학습하고 다시 보면서 복습을 하고 있던 도중 이해가 가지 않는 부분이 있어 질문 드립니다. 섹션5 Class클래스강의 (13:26)에 나오는 ClassCreateMain 클래스에 대해 질문 드리려고 합니다. main부분에서 throws Exception을 해야 오류가 않나는 것을 확인했습니다. 예외파트 강의에서 main에서도 예외를 던져버리면 에러가 난다고 이해했었는데 main에서도 예외를 던졌는데 이 예외는 어떻게 리되는 건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
질문있습니다
스프링을 이용해서 플로터로 만든 안드로이드에 mysql정보를 넘길 수 있는 서버를 만들고 싶은데 가능 할까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL 질문
JPQL 모든 쿼리가 다음의 순서를 지키는 것인지 궁금합니다.(조회만인지?), 일단 다음의 순서를 전체조회 JPQL이라고 가정하겠습니다. flush -> flush로 인한 변경감지 update 쿼리문 적용 -> 이때동안 모은 쓰기지연 저장소 sql 쿼리 적용 1차로 DB 우선 조회2차로 영속성 컨텍스트 서치해서 DB와 겹칠 경우 영속성 컨텍스트의 엔티티로 대체 (Q&A 찾아보다가 얻게된 결론입니다.)1.의 제가 서술한 과정이 맞다면 이해가 안되는 것이 마지막 과정인 영속성 컨텍스트 서치 부분입니다. 이미 flush로 변경감지 등을 모두 적용했으니 영속성 컨텍스트를 다시 서치해서 얻을 이점이 있을까요? 단순 조회일 경우에 2차로 영속성 컨텍스트를 서치하는 것이 어떠한 이점도 없는 것 같아서요.
-
미해결김영한의 실전 자바 - 중급 2편
배열리스트5-제네릭2
만약 제가 reverse 함수를 구현한다고 하면 tempValue 를 제네릭 E 로 구현해야하나요 ? 아니면 아래와 같이 구현해도 전혀 문제가 없나요 ?public void reverse() { if( elementData == null || size <=1 ){ return ; } for (int i = 0 ; i < (int)( size / 2 ) ; i++){ Object tempValue = elementData[i] ; elementData[i] = elementData[size-1-i] ; elementData[size-1-i] = tempValue ; } }ㅁ
-
미해결김영한의 실전 자바 - 기본편
.class .java 가 무슨뜻인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.12분에 선생님이 클래스, 추상 클래스, 인터페이스는 프로그램 코드, 메모리 구조상 모두 똑같다. 모두 자바에서는 .class 로 다 루어진다. 인터페이스를 작성할 때도 .java 에 인터페이스를 정의한다 라고 하셨는데 여기서 .class 로 다뤄진다 와 .java 에 인터페이스를 정의한다가 무슨뜻인가요?
-
미해결실전! 스프링 데이터 JPA
테스트 코드에서 em.flush를 해줘야 dirtyChecking이 일어나는 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 4:30 쯤에 dirtyChecking이 일어나게 하기 위해서, em.flush();를 꼭 해줘야하는 이유가 있을까요? 선생님 다른 강의에서는 find로 찾아온 객체를 setter를 통해 변경 후 따로 em.flush(); 를 하지 않았어도 transaction 끝나는 시점에 자동으로 update쿼리가 나갔던 것으로 기억하는데요. 혹시 junit을 이용한 테스트코드이어서 동작 방식이 다른걸까요? 감사합니다~
-
미해결김영한의 실전 자바 - 중급 1편
새로운 객체를 만들었는데 왜 이전 생성자 값으로 초기화 되나요?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]year를 바꿀 때 왜 month 와 day는 생성자에 입력했던 값을 유지하나요?new ImmutablaMyDate 객체를 만들었으면 멤버변수 초기화값인 0이 되어야 할것 같은데 public ImmutableMyDate changeYear(int year) { ImmutableMyDate immutableMyDate = new ImmutableMyDate(year,month,day ); return immutableMyDate; }
-
미해결윤재성의 자바 기반 안드로이드 앱개발 Part 2 - 메뉴와 4대 구성요소
39강 질문합니다.
12분쯤 내용 실행하는데 버튼 클릭 시 secondfragment가 나타나지를 않아요 내용 전부 동일하게 입력했어요 참고로 프로젝트 생성할때 api 33, tiramisu로 합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
파이썬 반복문
6:02 부분 두번째 예시에서end=" "의 의미는 무엇인가요? *표 3번 반복은 이해가는데, 3칸을 채우고 공란을 두어라 라는 의미인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
공부 순서(자바, 스프링)
이제 회원관리 예제 들어가기 시작했는데 인터페이스나 Map등 자세히 모르는 단어들이 많이 나오는데 수강을 중단하고 자바 개념 및 자료구조 공부 후 다시 수강 하는 게 좋을까요 아니면 그대로 진행하면서 모르는 개념만 그때그때 공부하는 것이 좋을까요..? 답변 간절합니다 ㅜㅜ
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
내장타입과 메서드-1
8:26화면에 나오는 문자형태 예시 전체에 대한 질문입니다.s= "Hello, World!" ->큰따옴표를 사용하였는데출력값은 전부 '' 작은따옴표로 나옵니다. 단순 오탈자인가요? join 내장타입 설명시 기준문자 앞뒤는 작은따옴표인가요 큰따옴표인가요?find와 index 문자 위치는 앞에서부터 0,1,2....로 나아가는거죠? 큰따옴표는 문자라는 것을 표기해주기 위함이므로 H부터 위치를 세면 되는건가요? 큰따옴표부터 세야하는건가요?실제 시험은 종이에 문제가 나오고, 종이 답안지에 답을 작성하는건가요? 아니면 종이 문제지에 답을 적는건가요?코딩문장을 보면 띄어쓰기가 좀 불분명해보여서 답을 생각하다보면 띄어쓰기를 빼먹는 경우가 있습니다. 예를들어 강사님 강의에서 Hello,World 인지 Hello, World 인지와 같이요.답을 적을때 띄어쓰기를 확실히 표현해서 출력값 등 답안작성하는 것이 맞나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바강의를 듣고 이 강의를 듣기 시작했는데 이해가 어렵습니다.
안녕하세요. 김영한 강사님의 자바 입문강의, 기본강의까지 들은 후 스프링 입문 강의를 듣게 된 학생입니다. 다름이 아니라 처음 프로젝트를 생성할때부터 이해가 어려워서 질문드립니다. controller라던지, resolver같은 처음 듣는 용어들이 나오고, 용어가 생소하니 매우 간단한 동작환경그림조차 이해가 어렵습니다. 혹시 이 강의를 듣기전에 미리 알아야하는 기초적인 배경지식이 있을까요? 자바입문과, 자바기본강의는 제공해주신 파일만으로 공부해도 입문자인 저도 충분히 이해가 가능하게 기본부터 설명이 되어있었는데, 스프링 입문강의는 처음보는 개념이나 용어들이 부가적인 설명없이 전개되어 강의파일만으로는 이해가 불가능해서 질문드립니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
application.yml에 default_batch_fetch_size 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 관련내용의 질문들이 있으나, 제 케이스는 다른 것 같아서 질문 올립니다.아래와 같이 작성하였으나, 적용이 되지 않습니다.jpa: hibernate: ddl-auto: create properties: hibernate: default_batch_fetch_size: 100위치를 옮겨봤는데요, properties.default_batch_fetch_size 위치에서 적용이 되는 것으로 보입니다. 다만, 실제 실행해보면 적용되지 않습니다.
-
미해결김영한의 실전 자바 - 기본편
기본형과 참조형 문제와 풀이 마지막 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.18,20줄에 nextInt()를 두 번 사용하면 버퍼에 \n\n줄바꿈 문자 2개가 남게되고, 이후에 21줄에서 nextLine()을 통해 입력 버퍼를 비운다고 했는데, nextLine()은 \n 하나만 처리하는거 아닌가요? 그렇게 되면 버퍼에 \n이 하나 남게되고, 순회(int i = 1)할 때, 다음 16줄의 nextLine()에서 \n을 처리하여 빈 문자열(" ")을 반환하지 않나요? 그런데 이 코드를 돌려보면 nextInt()를 두 번 호출하고, nextLine()을 호출하면 \n\n 줄바꿈 문자 2개를 연속으로 버퍼에서 처리되었는데 그 이유가 무엇인가요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
ReentrantLock과 sleep()에 대해 질문 있습니다.
ReentrantLock 사용시 쓸 수 있는 락이 여러 개 있는지 아니면 하나만 쓸 수 있는지 궁금합니다.Object의 wait() 사용 시 스레드가 스레드 대기 공간에서 기다리는 것처럼 sleep() 같은 경우도 따로 대기하는 공간이 있는지 궁금합니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
준영속 상태 질문
준영속상태에 대한 설명에서영속성 컨텍스트에서 이전에 존재했지만 지금은 detach된 엔티티가 아니라영속성 컨텍스트에서 이전에 존재 + 적어도 한번은 flush()되어 DB에 엔티티가 존재하는 경우 아닌가요?즉 이전에 컨텍스트에서 존재 + flush로 인한 DB에 반영되었던 엔티티
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
질문 em.find(), JPQL 조회 및 이해 확인 질문
같은 조회이지만 JPQL은 무조건 플러시한다는 개념을 알게되었습니다 반면 find()는 그렇지 않은것으로 아는데 find()또한 1차 캐시에서 가져오지 못할 경우 플러시 후 가져와야하지 않나요? 이 두 방식은 결국 "플러시"라는 차이가 있어보이는데 이유에 대해 이해가 가지 않네요.영속성 컨텍스트에서 관리되는 엔티티 객체에 대해 수정을 할 경우 커밋시도시 먼저 엔티티의 최종적 모습을 확인해서 Update쿼리문을 만든다고 생각(쓰기지연저장소에 저장)했습니다. 반면 persist() 곧바로 쿼리문이 쓰기지연 저장소에 insert문으로 저장된다고 인지중입니다. 그렇다면 persist()후에 해당 엔티티를 수정을 가한다면 최종적으로 커밋시에 insert + update 두 쿼리문이 수행되는 걸까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대일 관계
자기소개서와 관련된 서비스를 구축하던 중에 관계 매핑에 의문점이 생겨서 질문 드립니다.회원 테이블, 카테고리 테이블, 제목 테이블이 존재하는데회원은 자기소개서에 대한 카테고리와 제목을 각각 하나씩만 지정하여 자기소개서에 대한 첨삭을 받을 수 있습니다.그런데, 서비스를 다시 사용하여 카테고리, 제목을 다른 것으로 지정하여 또 다른 자기소개서에 대한 첨삭을 받을 수 있습니다.이렇게 되면 두개의 자기소개서가 생기고, 이 내용들을 마이페이지에서 확인할 수 있도록 설계를 하려고 합니다.이런 구조라면, 회원-카테고리 / 회원 - 제목은 각각 1:1로 매핑이 되는 것이 맞는건지, 각각에 대한 history가 저장되어야 할 필요가 있을 것 같아 중간에 테이블이 필요하다는 생각이 들었습니다.어떠한 연관관계 매핑이 필요한지 감이 잘 안옵니다 ㅠ
-
미해결김영한의 실전 자바 - 중급 1편
equals 설계가 이해가 어렵습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]equals는 매개변수를 받으면-> User2 클래스로 변환 (다운캐스팅)-> 만들어진 User2객체에서 id 추출-> 그걸 User2 id와 비교정리하면 들어온 Object를 User2로 바꾸어 id를 확인하는 메서드인데User2를 User2로 다운캐스팅하여 User2와 비교 후 User1 과 비교하는 로직 아닌가요?어느부분이 잘못된건지 모르겠습니다ㅜㅜ
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Lazy 강제 초기화 오류
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]Lazy 강제 초기화 시, order.getMember().getName() 는@GetMapping("/api/v1/orders") public List<Order> listV1() { List<Order> orders = orderRepository.findAll(new OrderSearch()); for (Order order : orders) { order.getMember().getName(); ... } return orders; }다음과 같은 결과를 기대합니다.{ "id": 1, "member":{ "name": "memberA", }, ... }하지만 order.getMember() 까지만 초기화 되어, 다음과 같은 결과가 나옵니다. { "id": 1, "member":{ "id": 1, "name": "memberA", "address":{ "city": "주소", "street": "거리", "zipcode": "우편번호" } }, ... }Intelij 에서도 'Member. getName()'의 결과가 무시되었습니다 라고 에러가 뜨는데 그 이유가 궁금합니다.