묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
메서드의 지역변수명과 내부클래스의 멤버메서드에서의 지역변수명의 중복관련
지역 변수의 캡쳐에 대해 이해는 하였지만 한가지 이해가 되지 않아 질문 드립니다아래와 같이 localVar 를 다시 선언을 하면 print의 지역변수로서의 localVar이 되고 이전의 localVar의 접근? 값출력?이 다른 변수의 생성이 없이 가능한가에 대해서 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 gradlew build 실행 안됨
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]git bash 연동했고 터미널을 열어서 가장 먼저 ./gradlew를 입력하면 위 과정까지 수행이 됩니다. 하지만 그 다음으로 1. gradlew build (command not found), 2. ./gradlew build (Failed이라 뜸)gradlew (command not found)gradlew.bat (command not found)뭘 입력해도 더이상 진행이 안됩니다. 도와주세요 선생님
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
조건문 문제와풀이2 평점에 따른 영화추천 풀이 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]조건문 문제와풀이2 에서 평점에 따른 영화추천문제와 관련된질문입니다.강의에서는 영한님께서 if문을 묶지 말라고하셨는데 아래 코드처럼 작성하면 안된다는 말인가요? 실행에는 문제가 없는거 같은데 영한님이 말씀하신 의도가 궁금합니다.package cond.ex; public class MovieRateEx_re { public static void main(String[] args) { double rating = 8.1; if (rating >= 9) { System.out.println("'어버웃타임'을 추천합니다"); } else if (rating >= 8) { System.out.println("'어버웃타임'을 추천합니다"); System.out.println("'토이스토리'을 추천합니다"); } else if (rating >= 7) { System.out.println("'어버웃타임'을 추천합니다"); System.out.println("'토이스토리'을 추천합니다"); System.out.println("'고질라'을 추천합니다"); } } }
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
조건문 문제와풀이2 평점에 따른 영화추천 풀이 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]조건문 문제와풀이2 에서 평점에 따른 영화추천문제와 관련된질문입니다.강의에서는 영한님께서 if문을 묶지 말라고하셨는데 아래 코드처럼 작성하면 안된다는 말인가요? 실행에는 문제가 없는거 같은데 영한님이 말씀하신 의도가 궁금합니다.package cond.ex; public class MovieRateEx_re { public static void main(String[] args) { double rating = 8.1; if (rating >= 9) { System.out.println("'어버웃타임'을 추천합니다"); } else if (rating >= 8) { System.out.println("'어버웃타임'을 추천합니다"); System.out.println("'토이스토리'을 추천합니다"); } else if (rating >= 7) { System.out.println("'어버웃타임'을 추천합니다"); System.out.println("'토이스토리'을 추천합니다"); System.out.println("'고질라'을 추천합니다"); } } }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
다익스트라 알고리즘
제가 이해한 것이 맞는지 궁금해서 질문드립니다.pq에서 poll이 됐다는 것은 poll이 된 해당 정점은 dis 배열에서 최소 비용이 확정됐다는 것이죠?만약 3번 정점의 비용이 4로 최소비용 확정이 되었는데 이것은 1 -> 3으로 갔을 때인 거잖아요. 그럼 1이 아닌 다른 정점에서 3번으로 가는 경우도 pq에서 poll이 될텐데 이미 확정이 났기 때문에 수행속도를 줄이기 위해 if continue 문을 쓰신건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
react 소스 부탁드립니다!
강의 너무 잘 보고 있습니다.덕분에 처음 서버 개발할 때 큰 도움 되었습니다. 좋은 강의 감사합니다! 메일 : kei02012@naver.com
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberRegisterRequest 의 검증 방식으로 @Valid 와 초기화 스크립트의 차이가 무엇인가요?
안녕하세요, 토비님! 훌륭한 강의 너무너무 잘 듣고 있습니다. 토비님의 고견 덕에 제 개발 세계관을 정리하는데 도움이 많이 되고 있습니다. 감사합니다. 강의의 데이터 검증 파트에서 질문이 있습니다.MemberRegisterRequest 의 검증 방법으로 jakarta.validation 을 사용하도록 설명해주셨는데요.(1) MemberRegisterRequest 의 생성자 또는 팩토리 매서드에서 값을 검증하는 방식과 validation 어노테이션을 이용하는 방식을 어떻게 구분해서 쓰는지? 와 (2) validation 어노테이션이 활용되는 영역의 범위가 궁금합니다.저는 코틀린 스프링부트로 강의를 따라가고 있어서 코틀린 기준으로 예시를 들면, 보통 저렇게 도메인 레이어에서 비즈니스 로직에 직접 사용되는 데이터를 검증하는 경우에는 코틀린의 init 블록 내에 비즈니스 관련 데이터 검증 로직을 넣어서 해당 클래스 객체의 데이터 정합성이 항상 보장되게 해왔는데요. (게다가 도메인 레이어의 클래스다보니 더욱 타 기술 의존 없이 검증하는 게 좋다고 생각해서 init 블록을 애용해왔습니다.)반대로, Valid 는 외부로부터 입력 받은 데이터들의 아주아주 기본적인 데이터 타입 검증 용도(Nullable, 숫자, 이메일, 공백 여부 등) 정도로만 사용해왔습니다. 애초에 제공해주는 어노테이션의 기능이 비즈니스 의미를 담기엔 턱없이 부족해서, "데이터가 비즈니스 의미상으로는 틀릴 수 있어도, 타입 자체는 맞아" 정도만 보장해주는 용도라고 느꼈습니다.그래서 강의에서 어플리케이션 서비스의 파라미터나 도메인 객체의 상태를 검증하는 용도로 사용하시는 모습이 조금 낯설게 느껴졌습니다.어플리케이션 서비스 파라미터에 들어있는 데이터는 이미 컨트롤러에서 기본 검증은 끝난 데이터들이라고 생각해서요.게다가 Valid 를 어플리케이션 서비스에서도 쓰기 시작하면, 컨트롤러와 서비스에서 중복 검사를 하게 될 것 같습니다.이런 점들에 대해서 어떻게 생각하시고 어떻게 구분하시는지 그 기준이 궁금합니다.Q&A 의 다른 질문들에 대한 토비님의 답변들을 보면서도 많이 배우고 있습니다. 고견 감사합니다! 🙂
-
미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
스프링 데이터 JPA 인터페이스에서의 default 메서드 사용
영한님 강의를 들으면서 인터페이스의 default 메서드는 하위 호환성을 위해서만 사용하고 일반적인 애플리케이션 개발시에는 사용할 일이 없다고 생각했었습니다. 그러나 프로젝트를 하던 도중에 스프링 데이터 JPA를 사용하는 Interface에서 Service에서 매번 Optional을 꺼내기 번거로우니 default 메서드를 사용해서 .orElseThrow(() -> new 예외 발생) 처럼 메서드를 작성하고 이렇게 해도 된다고 이야기를 들었습니다. 저는 이런 예외 발생도 Service 계층에서 하는 것이 맞는것 같기도 하면서, 사실 매번 Optional을 꺼내는 것이 귀찮기도 했던것이 사실이라 이렇게 사용하는 것이 일반적으로 정상적인 패턴인지 궁금해서 질문 드렸습니다. 디폴트 메서드의 올바른 사용법에서 '공통으로 쓰기 쉬운 간단한 로직'에 이정도의 상황이 부합되는지 궁금합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Application.java 실행이 안돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] Application.java 파일 실행버튼이 비활성화 되어 있습니다. 버전은 21을 쓰고 있어요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Application.java 실행이 안돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링부트에서 프로젝트를 생성하고 Application.java를 실행하려고 하니까 실행버튼이 비활성화 되어있습니다. jdk 버전 23을 사용하고 있는데 왜 안되는건지 모르겠습니다. 해당 화면 사진입니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
4일차 과제 'SQLSyntaxError: Table not found Error' 질문
4일차 과제의 문제 1번을 해결하려고 코드를 작성하고 Table도 생성해서 run 해보았는데, 자꾸 Table not found 에러가 뜨면서500 internal error가 발생합니다. 이 에러 때문에 테이블도 3번 다시 생성하고, show tables 했을 때도 table이 모두 잘 출력됩니다. 대소문자 바꿔서도 다 해봤는데 왜 이런 오류가 뜨는지 모르겠습니다..ㅜㅜ 도와주세요ㅠ
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
notify(), notifyAll()
각각 3개로 한정된 소비자, 생산자 스레드가 있습니다. 생산자가 생산자를 깨운 것 처럼 notify()로 일어난 스레드가 다시 wait() 해야하는 경우 락을 반납하고 대기 상태에 든다면 이후 다시 notify()하는 스레드가 없기 때문에 교착상태가 발생하는건가요? (새롭게 추가되는 여러 스레드가 있다면 해결될 가능성도 있으나 새롭게 추가되지 않는 한정된 상황이라면 교착상태가 발생할 수 있으니 notifyAll() 사용이 올바른 선택인지 궁금합니다)
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
예전에 서브넷 계산하는거 강의 있지않았나요??
혹시 없어졌는지 궁금해요
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
만들면서 배우는 클린 아키텍처 관련된 질문
강의에서도 잠깐 언급되지만, 전체적인 강의 내용이 만들면서 배우는 클린 아키텍처의 저자가 주장하는 내용과는 지향하는 바는 같지만 그 구현에 있어서 어느정도 거리가 있다고 느껴지는데요..!"만들면서 배우는 클린 아키텍처" 이 책을 읽으면서도 저자가 주장하는 내용이 좋은 아키텍처라는 생각이 들었었고, 그 지름길에 대해서도 많은 생각이 들었습니다.그러다보니 강의에서 언급해주시는 일부 내용들은 이 지름길을 사용했다는 것으로도 저한테는 느껴지기도 하는데요. 하지만 또 다른 측면으로 토비 선생님께서 강의에서 말씀하시는 내용들이 매우 타당하고 이것 또한 매우 클린하며 헥사고날 아키텍처의 장점을 매우 잘 살리고 있다는 생각도 들었습니다.제가 궁금한 건 "만들면서 배우는 클린 아키텍처" 에서 저자가 주장하는 내용들에 대해 토비 선생님께서는 어떻게 생각하고 계시는지 궁금합니다!회사에서 많은 시니어 분들이 헥사고날과 관련해서는 저자마다 주장하는 내용이 다른 경우가 많으니 최대한 많이 접하고 스스로 기준을 삼는 것이 좋다라고 조언을 주시기도 하셔서 더욱 궁금하네요 ㅎㅎ:)!
-
미해결김영한의 실전 자바 - 중급 1편
타입 관련해서 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 듣다 보니까. int형 변수를 toString 메서드로 반환하여 String으로 바뀐 값을 sout 출력으로 확인 시켜주시는대. 출력된 결과로 int형으로 출력된건지. String으로 출력된건지 알 수 있는건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
강의내용 중 GenerationType.SEQUENCE 일 때 실습에서 생기는 차이점 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니요3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.https://inf.run/Viaq1저도 이분과 같은 증상이 나타나서 여쭤봅니다. main메소드를 한번만 실행하여 진행하여도 em.persist() 메소드가 여러번 실행될 때 현재 값이 51이 아닌 101이 됩니다 혹시 24년도 최신버전으로 진행할때 자바는 17, 하이버네이트는 6으로 업데이트되면서 javax가 아닌 jakarta를 사용해서 생기는 일인지 궁금합니다
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
조건문 (v2) 15:00 실제 시험에서 문제위에다가 써도 불이익은 없나요?
조건문 (v2) 15:00 실제 시험에서 문제위에다가 써도 불이익은 없나요? 즉, 문제에다 낙서해도되나요?
-
미해결김영한의 실전 자바 - 중급 1편
toString() 하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]11번 문제에서 toString을 해주는 이유가 뭔가요?reverse()까지만 하고 출력해도 잘 나오는데 왜 그렇게 하는건지 궁금합니다.
-
미해결나도! 스프링으로 인공지능을 할 수 있다(인프1탄)
Gradle 동기화 오류
완전 초보입니다. 온라인 강의 들으면서, 하나하나 단계별로 따라하고 있는데, Gradle 동기화 오류가 발생하고 있습니다. ChatGPT 답변에 따라 계속 해 봤는데, 해결이 안되고 있습니다. 처음에는 한글명으로 되어 있어서 문제인가 싶어서,, "한글명" --> yunkkim 으로 변경했는데, 그것도 해결책이 아닌거 같고, gradle.properties 파일을 추가해 보기도 하고,, 어찌 해결 해야 할까요?Multiple build operations failed. Could not move temporary workspace (C:\Users\yunkkim\.gradle\caches\8.14.3\transforms\dab9c5aa8765a6befd44e49da2bac9d1-1b58f335-d72b-448f-a093-89ca330d8ea9) to immutable location (C:\Users\yunkkim\.gradle\caches\8.14.3\transforms\dab9c5aa8765a6befd44e49da2bac9d1) Could not move temporary workspace (C:\Users\yunkkim\.gradle\caches\8.14.3\transforms\cfc6584c7a788e7d4dba5168f57ef3f7-cdad1752-221b-4e79-8033-98f49d023da3) to immutable location (C:\Users\yunkkim\.gradle\caches\8.14.3\transforms\cfc6584c7a788e7d4dba5168f57ef3f7)>
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
안녕하세요 토비님
질문이 있어 남깁니다.30. 회원 애플리케이션 기능 추가 강의 중 Activate 메서드를 작성하면서 설명해주신 Spring Data Jpa 사용시 save를 사용해야 한다고 공식문서에 나와있다고 하셨는데 해당 문서에 대한 링크를 알수있을까요?save를 안티패턴이라고도 설명을하고 불필요한 오버헤드 발생에 대해서는 어떻게 생각하시나요? 강의의 내용 처럼 JpaRepository가 아닌 Repository를 사용 하는경우에는 필수적으로 save를 해야 하나 JpaRepository의 경우는 Jpa 자체에서는 save라는 것이 없기 때문에 새로운 엔티티를 생성할때만 사용을하고 업데이트의 경우는 생략을 해야하는 것일까요?