묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
값이 없으면 예외를 던지는 것이 더 자연스러운 상황에 대한 질문
베스트 프랙티스 6.무조건 Optional이 좋은 것은 아니다 부분을 설명 하실 때 "값이 없으면 예외를 던지는 것"이 더 자연스러운 상황에 대한 설명 부분에서 궁금한 것이 생겨서 질문드립니다. 예를 들어 특정 ID 기반으로 User 엔티티를 찾는 DBA 코드가 있다고 할 때 반환타입을 Optional<User>가 아닌 User로 했을 때 클라이언트 코드쪽에서는 if (user == null) { throw new NotFoundException("..."); }아래와 같은 Optional을 사용한 코드보다 위와 같은 이런 코드가 더 낫다는 걸로 받아들이면 될까요??findUserById(userId) .orElseThrow(() -> new NotFoundException("..."));
-
미해결실전! 스프링 데이터 JPA
UsernameOnlyDto 타입 type mismatch 오류
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.UsernameOnly 인터페이스 타입과 지네릭스 타입으로 결과는 문제 없이 동작하지만UsernameOnlyDto 타입으로 결과 값을 받으려고 findProjectionsByUsername를 호출하면 type mismatch 오류가 생깁니다. Specified result type [study.datajpa.dto.UsernameOnlyDto] did not match Query selection type [study.datajpa.entity.Member] - multiple selections: use Tuple or arrayList<UsernameOnlyDto> result = memberRepository.findProjectionsByUsername("m1");package study.datajpa.dto; public class UsernameOnlyDto { private final String username; public UsernameOnlyDto(String username) { this.username = username; } public String getUsername() { return username; } }// List<UsernameOnly> findProjectionsByUsername(@Param("username") String username); List<UsernameOnlyDto> findProjectionsByUsername(@Param("username") String username); <T> List<T> findProjectionsByUsername(@Param("username") String username, Class<T> type); org.springframework.orm.jpa.JpaSystemException: Specified result type [study.datajpa.dto.UsernameOnlyDto] did not match Query selection type [study.datajpa.entity.Member] - multiple selections: use Tuple or array at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:341) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:560) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:343) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:136) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) at jdk.proxy2/jdk.proxy2.$Proxy149.findProjectionsByUsername(Unknown Source) at study.datajpa.repository.MemberRepositoryTest.projections(MemberRepositoryTest.java:403) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) Suppressed: org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:804) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:758) at org.springframework.test.context.transaction.TransactionContext.endTransaction(TransactionContext.java:135) at org.springframework.test.context.transaction.TransactionalTestExecutionListener.afterTestMethod(TransactionalTestExecutionListener.java:272) at org.springframework.test.context.TestContextManager.afterTestMethod(TestContextManager.java:488) at org.springframework.test.context.junit.jupiter.SpringExtension.afterEach(SpringExtension.java:275) ... 2 moreCaused by: org.hibernate.query.QueryTypeMismatchException: Specified result type [study.datajpa.dto.UsernameOnlyDto] did not match Query selection type [study.datajpa.entity.Member] - multiple selections: use Tuple or array at org.hibernate.query.sqm.internal.SqmUtil.throwQueryTypeMismatchException(SqmUtil.java:1272) at org.hibernate.query.sqm.internal.SqmUtil.verifyResultType(SqmUtil.java:1209) at org.hibernate.query.sqm.internal.SqmUtil.verifySelectionType(SqmUtil.java:1159) at org.hibernate.query.sqm.internal.SqmUtil.verifySingularSelectionType(SqmUtil.java:1114) at org.hibernate.query.sqm.internal.SqmUtil.checkQueryReturnType(SqmUtil.java:1088) at org.hibernate.query.sqm.internal.SqmUtil.checkQueryReturnType(SqmUtil.java:1049) at org.hibernate.query.sqm.internal.SqmUtil.validateQueryReturnType(SqmUtil.java:1040) at org.hibernate.query.sqm.tree.select.SqmSelectStatement.validateResultType(SqmSelectStatement.java:153) at org.hibernate.query.sqm.internal.QuerySqmImpl.<init>(QuerySqmImpl.java:240) at org.hibernate.internal.AbstractSharedSessionContract.createCriteriaQuery(AbstractSharedSessionContract.java:1483) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:1443) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:143) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:320) at jdk.proxy2/jdk.proxy2.$Proxy136.createQuery(Unknown Source)
-
미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
Optionl.of에 대한 질문
Optinal은 "값이 없을 수도 있다" 라는 의도를 드러내기 위해 사용하잖아요.근데 Optional의 정적 생성자 메서드 중에 Optional.of()를 보면, null일 경우 NPE가 발생하는데, 그럼 Optional을 사용하는 의미가 없지 않나요? Optional.ofNullable과 empty는 사용의도라던가 언제 사용하면 되겠다에 대한 인사이트가 확 오는 반면에 Optional.of는 언제 사용하면 좋을지에 대한 감이 안오네요.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
강의 다 들었는데 마무리 공부 어떻게 해야되요?
강의 다 들었는데 마무리 공부 어떻게 해야되요?강의 들은 거 만 복습 하면되나요?다른 학습지도 문제 풀어봐야 되나요?
-
해결됨김영한의 실전 자바 - 중급 2편
주소값에 실제로 접근하는데 걸리는 시간??
강의 주제와 직접적인 연관은 없는거지만.. 실제 주소값으로 접근하는데 걸리는 시간은 고려하지 않아도 되는가? 입니다 아무리 배열이 인덱스의 실제 주소값을 한번에 계산해서 찾는 구조라고는 해도 결국 그 주소까지 이동하는건 시간이 걸릴거같은데요예를들어 그게 10억 번째 인덱스라면 거기까지 순간이동 할수는 없잖아요?? 그래서 인덱스 번호에 비례해서 시간이 더 걸리긴 할거같은데..이건 너무 인간의 관점에서 생각하는거고 실제로 컴퓨터는 다르게 동작하는 걸까요?? 제가 생각해도 너무 무식한 질문이긴한데 의문을 해소하고자 질문 드립니다 ㅠㅠ ============================ 수강을 더 진행하다보니 실제 성능 설명 파트에서 메모리 접근에 대한 얘기를 해주셔서 의문이 자연스럽게 해결됐습니다 !
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
10:35 구조체 포인터,구조체 배열 관련
1.배열포인터는 첫번째 인덱스 값이 나온다고 하셨었는데구조체 포인터는 초기값이 뭐가 나오나요? struct Person{ int age = 10; int price = 5;} person1 main(){ struct Person person1; struct Person *ptr = &person1;System.out.printf(“%d”, *ptr);} 2.아래처럼 구조체 명을 명시하지 않은경우엔 구조체 배열, 구조체 포인터를 어떻게 생성하나요? struct { int age = 10; int price = 5;} person1
-
미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
저도 람다에 파라미터 힌트를 키고싶어요,,
저도 람다 사용할 때 o -> o.getDelivery() 이거 사용할 때 파라미터 힌트로 Order 같은걸 띄우고싶습니다. 옵션에 Inlay Hints 에서 자바쪽도 다 켜보고 했는데 저는.. 왜 안켜질까요 ㅠㅠ
-
미해결그림으로 배우는 자바, 파트1: 입문!
cloudstudying.kr 비밀번호 찾기
안녕하세요. 옛날에 만들어놨던 계정 비밀번호가 안됩니다. 자주 쓰는 비밀번호를 다 해봐도 안되서 비밀번호 찾기로 이메일 주소 입력해서 메일을 받아야하는데 오류가 뜹니다. 해결해주실 수 있을까요? 아이디 이메일주소는 #####@naver.com입니다. 혹시나 가입이 안되어있나해서 회원가입으로 이메일주소 아이디로 넣으니까 있다고는 되어있는데 비밀번호 찾기가 안되고 있습니다!
-
미해결김영한의 실전 자바 - 중급 1편
날짜와 시간 문제 2번.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. package time.test; import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class TestLoopPlus { public static void main(String[] args) { LocalDate startDate = LocalDate.of(2024, 1, 1); for (int i = 0; i < 5; i++) { LocalDate nextDate = startDate.plus(2 * i, ChronoUnit.WEEKS); System.out.println("날짜" + (i + 1) + ": " + nextDate); } } } 반복문 안에서 nextDate로 받는것도 불변 객체 아닌가요?불변객체이면 새로운 변수로 받아야 하는 게 아닌가해서 반복문 안의 코드가 이해가 잘 안됩니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
공부방법 관련 질문
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.안녕하세요 선생님.사정이 있어서 시험 시작 15일 전에 시험 준비를 시작한 비전공자 학생입니다. 코딩 관련된 회차 강의를 다 듣고 올려주신 기출 문제를 최근 문제까지 다 풀어봤을 때 24년 2회차 전 까지는 각 회차마다 한 두문제 막히긴 해도 거의 다 맞추던가 복습을 하면 어느정도 커버가 가능할 정도로 자신감이 있었습니다.그런데 24년 2회차 부터 생각보다 어려운 문제들이 많아서 코딩 2문제 정도는 손을 못댈 정도로 벅차다고 느끼고 있습니다.(물론 아직 시험까진 11일 정도 남았지만 킬러문제를 맞출 수 있을거란 생각이 안들어서요...) 여기서 들은 생각이 선생님께서 추천 해주신 코드문제를 다 맞추고 이론을 두문제 정도 맞추는 전략이 아닌 코드 킬러문제는 버리고 이론문제를 조금 더 맞추는 전략은 어떨지 여쭤보고 싶어 질문드립니다. 그러하면 이론 공부에 시간을 조금 더 투자해야 하는데 어떻게 하는게 좋을까요???
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
17:25 %.5lf 관련
%.2f는 소숫점 둘째 자리까지 출력하라는 거고%.5lf는 소숫점 다섯째자리까지 출력하라는 건데 2는 f고 5는 lf여야 하는건가요? 2lf 혹인 5f는 틀린 문법인가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
섹션7 강의자료
섹션7강의중에 강의자료가 없는 강의가 많은데 이건 강의자료가 없는건가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
아스키코드 19분 13초 기출문제 질문
안녕하세요 *(p+3)과*p+4에서 괄호가 있다면 해당 메모리 배열에서 3만큼 움직이라는 뜻이고괄호가 없다면 아스키코드로 구하라는 뜻으로 이해해도 될가요?()의 유무가 어떤식으로 달라지는지 설명 부탁드립니다감사합니다
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
6분 29초 코드 예제 질문
안녕하세요 6분 29초에 구조체를 여러개 넣는 배열에서 질문이 있습니다메인함수 7번째 라인 즉,cars[0]/model[i] = '\0' //문자열 종료 문자가 코드에서 어떤 역할을 하는 지 여쭤봅니다그 위 2줄에 for문을 돌면서 널문자를 만날 때 까지 돌면서 이름을 가져오는데 7번째 라인은 어떤 의미인지 궁금합니다감사합니다
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
반복문과 range
11분 30초답이 13579 아닌가요?1 3 5 7 9 라고 나와있어요for i in range(1, 10,2): print(i, end=" ")
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
14분대 질문있습니다.
A b = new B();였다면 생성자 of AADCD가 되는 건가요?질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
-
미해결실전! Querydsl
오류 com.mysema.codegen.model.Type 대응 방법을 알 수 있을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강사님.compileQuerydsl을 실행했을때, 아래 오류가 발생했습니다.Unable to load class 'com.mysema.codegen.model.Type'.혹시 스프링부트3.0 에서는 가능한 대체 설정 방법을 알 수 있을까요?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
DataOutputStream관련하여 궁금한점이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]DataOutputStream은 앞에 2바이트로 문자길이가 저장되고 뒤에는 실제 문자 데이터가 저장된다고 하셨는데요, 길이가 2바이트가 넘어가는 문자를 저장하게 되면 어떻게 되는지 궁금합니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
CAS 연산3 강의 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]1. 여러 스레드가 정말 완벽하게 동시에 실행되는 경우임의의 두 스레드 A, B가 정말 완벽하게 동시에 실행되었다고 가정하겠습니다. 현재 atomicInteger의 value가 0에서 1로 증가해야하는 상황입니다.A와 B 모두 getValue의 값은 0입니다.A와 B 모두 result의 값은 true가 될 것이며 getValue는 0에서 1로 증가합니다. A와 B 모두 1을 return 합니다. (결괏값: 1)이런 경우는 절대로 없는 건가요?2. sleep 사용 시 타 스레드 간섭이 증가하는 이유sleep 사용 시 타 스레드 간섭이 증가하는 이유를 제 나름대로 생각해 보았는데, sleep(100)이라 하더라도 모든 스레드가 100ms 후에 완벽하게 동시에 깨어나지는 않기 때문일까요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
프로세스와 스레드 관련해서 질문 있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 해당 강의를 듣고 질문이 있는데요,우리가 일반적으로 자바/스프링부트 프로젝트를 맥북으로 인텔리제이로 실행한다면 어떻게 프로세스가 이루어지는지 알 수 있을까요? 제가 생각해본건 아래와 같습니다. 프로세스 1자바(강의 내용중에, 자바를 실행하면 자바도 하나의 프로세스라고 하셔서 추가했습니다) 프로세스 2JVM(그리고 이 JVM이 가상 컴퓨터이니까 그 컴퓨터의 프로세스 내부에서 스프링부트가 실행된다고 생각하고 있습니다!) 프로세스 3인텔리제이 이렇게 생각하고 있는 게 맞는 내용일까요??