묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
equals 메서드
여기에서 E 타입에 대해서 equals 메서드를 적용할 수 있는 이유가 뭔가요?물론 String, int 같이 기본형이거나 String 같이 많이 쓰이는 타입은 override 가 되어 있어서 문제 없는 것은 알고 있지만 우리가 정의한 객체의 경우에는 equals 가 override 안되어 있어서 우리가 원하는 결과값이 안나올 수도 있지 않나요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
초기 설정 오류 및 실행 안 됨
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]자바 버전 17스프링 부트 3.3.4위와 같이 오류가 뜨며 run 버튼이 나타나지 않습니다. 첫 번째 오류 메시지Cause: class jdk.internal.loader.ClassLoaders$PlatformClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$PlatformClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap') 두 번째 오류 메시지Could not configure services using BuildScopeServices.configure().> Could not configure services using BuildScopeCompileServices.configure().* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.BUILD FAILED in 35ms .gradle 에서 캐시 삭제 해봤습니다.intellij 재설치 해봤습니다.프로젝트를 열 때 build.gradle 파일을 선택하였습니다.어떻게 해결하면 좋을까요...
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
3번 문제 다르게 풀었는데 질문 있습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]저는 문제 풀때 won이라는 정수형 변수를 dollar 변수를 초기화 할때 같이 초기화를 시켰는데 선생님은 else 블록 안에서 초기화 하셨더라구요 선생님 방법대로라면 else 블록이 실행될때만 won 변수가 할당되는거 같은데 이러면 코드 실행시 won 변수가 쓸모없다면 변수를 초기화하지 않아도 돼서 더 좋아보이기도 하고 제 방법으로 해도 별로 상관없어보이기도 해서요 더 좋은 방법을 알고 싶어서 질문 드렸습니다.질문1. 제 방법으로 해결해도 상관없는건가요?질문2. 제 방법이 맞더라도 선생님의 방법이 제 방법의 상위호환 개념인건가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
hello-mvc와 hello-template
hello-template으로 return해서 hello-template.html에서 thymeleaft에 로직 처리가 되는것은 이해했으나 그걸 다시 변환후에 주소창에 보면 hello-template에서 처리를 하였는데 왜 hello-template?name=spring가 아닌 hello-mvc?name=spring가 되는건지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
길이문제질문
쌤.. c언어 배열에서의 길이 length와 sizeof의차이는 이해가가나'hello,World!'의 문자길이가13이라고한것이 마지막에 /n널값포함해서 13이라한걸까요?볼때마다헷갈리네요ㅠㅠ
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
정보처리기사 실기 23년 1회 C언어 문제 풀이 강좌 3분 23초
정보처리기사 실기 23년 1회 C언어 문제 풀이 강좌 3분 23초에 나오는 내용에 대한 질문입니다. 포인터와 관련해서 이야기를 해주셨는데 강의 내용에서 언급한대로 p는 값 또는 메모리를 가리킬 수 있습니다. 그런데 선언할 때는 포인터이고 사용할 때는 값이라고 하셨는데 printf에서 사용한 p는 사용할 때니 값이 나와야 하는 것 아닌가요?당연히 정처기 문제에서 바뀌는 값이 나올 순 없지만 포인터에 대해 이해하기 위해 질문합니다. 그렇다면 더불어서 printf에서 사용한 p 와 a에 대한 차이점은 무엇인가요?
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
왜 int, long은 안되는지 궁금합니다.
4:30 쯤에 100자리수로 받으면 왜 int나 long(숫자형)으로 받을 수 없는건지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
파이썬 예외처리 출력 결과물
강사님 그럼 출력 결과물이 # 예외가 발생하지 않는 경우Result is: 5Execution finally blockCaught an exception: ZeroDivisionErrorExecution finally blockCaught an exception TypeErrorExecution finally block 이게 맞을까요? 주석으로 함께 적어주시면 좋겠습니ㅏㄷ.
-
미해결김영한의 실전 자바 - 중급 1편
정적 중접 클래스와 바깥 클래스의 관계에 대한 질문입니다.
이전 교안에는 바깥 클래스와 정적 중첩 클래스가 아무런 관계가 없다고 나와있어서 단지 중첩되어있는 각각의 클래스이고 바깥 클래스의 private static 변수에 접근할 수 있다는 특징을 가지고 있다고 이해를 했습니다.정리 부분에서는밀접한 관련이 있다고 나와서 조금 헷갈리는데 앞에 이해한대로 생각하면 될까요?
-
미해결김영한의 실전 자바 - 중급 1편
중첩과 내부의 차이
먼저 중첩과 내부의 차이가 내부에서 단순히 위치만 차지하는 것과 나를 구성하는 한 요소인 것으로 나뉘는 것으로 학습을 했습니다. 그런데 중첩 클래스에 내부 클래스도 모두 포함이 된다고 해서 헷갈려서 질문드립니다! 위에 말씀 드린 차이는 정적 중첩 클래스와 내부 클래스를 구분할 때만 사용하는 것일까요?
-
미해결실전! 스프링 데이터 JPA
team.getMembers().add(this);
Member 클래스 안의 changeTeam 메소드 관련 질문있습니다.해당 메소드안에 team.getMembers().add(this); 이 부분이 들어가게 되면 팀의 멤버를 찾는 쿼리가 한 번 더 나가게 될 것 같은데, 확인 결과 쿼리가 안나가는 것으로 보이는데 어떤부분을 알아보면 될까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
영속성 컨텍스트와 id 생성의 관계
안녕하세요. JPA활용1 강의 중 상품 리포지토리 개발 부분에서 궁금한 점이 생겨 질문드립니다. 첫 번째 사진은 ItemRepository의 save함수이고 두 번째 사진은 ItemService의 join함수입니다. save함수의 경우 persist(item)을 하였을 때, DB에 바로 저장되는 것이 아니라 트랜잭션이 커밋될 때까지 영속성 컨택스트에 들어있는 것으로 알고 있습니다. item의 id는 DB에서 부여하는 것이니 트랜잭션이 끝날 때가지 id값은 null일 것이라고 생각했습니다. 그런데 join함수를 보면 트랜잭션이 끝나기 전 item의 id를 return하는 부분이 있고, 실제 테스트를 했을 때도 id값이 1로 존재하는 것을 확인했습니다. 저는 item 엔티티를 만들 때 @GeneratedValue전략으로 SEQUENCE를 사용한 것도 아니고,return을 하는 시점은 아직 트랜잭션이 끝나기 전이라 DB에서 id를 부여한 것도 아닌데, 왜 id값이 존재하는지 궁금합니다. 아래와 같이 테스트를 진행했을 때 성공하였는데, 혹시 테스트를 잘못한 것일까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Section2 - 회원등록 API
안녕하세요. 실전! 스프링 부트와 JPA 활용 1편 강의를 수강하면서 작성한 코드에서 api라는 개념이 나와서 조금 헷갈려서 질문드립니다. 1) postman 사용은 단위 테스트처럼 사용하는건가요?개발한 코드에서 입력값을 넣고 함수가 잘 동작하는지 확인하는 용도인지 궁금합니다. 2) 외부 api를 다른 팀으로 제공을 한다고 말씀주셨는데 팀 간의 관계가 궁금합니다.1편에서는 html로 작성해서 데이터를 localhost에서 입력해서 받아온 후에 Controller에서 처리를 했었는데,2편시작에서는 controller api는 1편의 Controller의 차이점을 잘 모르겠습니다. 감사합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
정렬 알고리즘
강사님 27분에 나오는 정렬 알고리즘 와 유사한 정렬 알고리즘 문제 실제 시험 출제시 문제에서 오름차순 or 내림차순 중 명확히 어떤 정렬 조건으로 하라고 문제 주어 지나요?만약 출제 된다고 하면 아래 예시 처럼 출제 될까요?예) 다음은 정렬 알고 리즘 이다 아래 코드 보고 결과값 출력 하시오 ( 단 , 정렬조건은 오름차순 이다.)
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
병합(merge)과 변경감지
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]JPA 활용 1편을 듣고 jpa기본편을 책과 함께 수강중입니다.JPA 활용 1편에서 merge를 사용하면 모든 값을 다 바꾸어서 파라미터로 지정해 주지 않으면 null값이 할당되어 데이터에 문제가 생길 확률이 높다고 배웠습니다. 따라서 이것이 merge의 특성인 거로 생각하고 있었는데,jpa기본편 책 105페이지에 jpa기본 전략은 엔티티의 모든 필드를 업데이트 한다 라고 되어있었습니다. 그래서 약간 혼란이 왔었는데 이내 다시 정리해볼 수 있었습니다.그래서 내려본 결론은 변경 감지를 통하여도 모든 필드가 업데이트 되는 것은 맞는데, 스냅샷을 통해서 변경 없는 필드의 정합성은 유지하고, 변경되는 부분만 안전하게 변경할 수 있다. JPA 활용 1편에서 한 merge예제는 준 영속인 엔티티 객체를 만들어 버렸기 때문에 필드 값을 할당할 때에 누락되면 기존 데이터가 반영이 안된다 (스냅샷 같은 것이 없기 때문) 으로 정리할 수 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
ALL_SEQUENCES 테이블을 만들라고 하셨는데
강의에서는 ALL_SEQUENCES를 만들지를 않았는데어떻게 Oracle 버전에서 실행 하셨나요?
-
미해결김영한의 실전 자바 - 중급 1편
문제 2번 도서 관리 시스템에 ArrayList 사용
package nested.test.ex1; import java.util.ArrayList; import java.util.List; public class Library { private List<Book> library = new ArrayList<>(); private int MaxBookCount; public Library(int maxBookCount) { this.MaxBookCount = maxBookCount; } public void addBook(String bookName, String author) { Book book = new Book(bookName, author); if (MaxBookCount == library.size()) { System.out.println("도서관 저장 공간이 부족합니다."); return; } library.add(book); } public void showBooks() { for (Book book : library) { System.out.println("도서 제목: " + book.bookName + ", 저자: " + book.author); } } static class Book { private String bookName; private String author; public Book(String bookName, String author) { this.bookName = bookName; this.author = author; } } }코드를 이렇게 작성해도 될까요?조건에 객체 배열을 사용하도록 하긴 했는데 실무에서도 이런 경우엔 배열을 더 많이 사용할까요?
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
4:28 build.gradle 수정 시 kotlin-reflect관련 implementation 추가 해야할까요?
build.gradle에 plugin만 추가하니 오류나고 아래 내용이 추가되니 오류가 사라지고 정상 동작하였습니다.implementation "org.jetbrains.kotlin:kotlin-reflect"정확한 원인은 모르겠는데 contextLoads할때 부터 error가 나서 kotlin으로 만든 Book을 Entity로 인식하지 못하는 것 같았습니다. 이렇게 해결하는게 맞는건지 궁금합니다. windows10 / java11 / intellij 사용중입니다! [오류원문]Failed to resolve parameter [com.group.libraryapp.service.book.BookService bookService] in constructor [public com.group.libraryapp.service.book.BookServiceTest(com.group.libraryapp.service.book.BookService,com.group.libraryapp.domain.book.BookRepository,com.group.libraryapp.domain.user.UserRepository,com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository)]: Failed to load ApplicationContext org.junit.jupiter.api.extension.ParameterResolutionException: Failed to resolve parameter [com.group.libraryapp.service.book.BookService bookService] in constructor [public com.group.libraryapp.service.book.BookServiceTest(com.group.libraryapp.service.book.BookService,com.group.libraryapp.domain.book.BookRepository,com.group.libraryapp.domain.user.UserRepository,com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository)]: Failed to load ApplicationContext at app//org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:239) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:183) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:74) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:355) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:302) at app//org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:280) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272) at java.base@11.0.24/java.util.Optional.orElseGet(Optional.java:369) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271) at app//org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) 이하 생략..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 database 테이블이 생성되지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. users/dlwns 에 test3.mv.db 를 만들고터미널에 입력을 하여 연결을 했습니다.spring: datasource: url: jdbc:h2:tcp://localhost/~/test3 username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true logging: level: org.hibernate.SQL: debug그리고 Test를 진행했을 때,h2 database에 접근하면table이 생성되지 않습니다. 어떤 점이 문제인지 알고 싶습니다.감사합니다.
-
해결됨스프링 기반 REST API 개발
REST API 개발 중 비즈니스 로직 적용 부분의 JSON 에러
아래와 같이 perform 과정에서 validator -> serialize로 넘어가는 부분에서 json 이 eventDTO를 찾을 수 없다는 에러가 발생하여 json을 직렬화할 수 없어서 error 메시지가 반환되지 않아 test 실패가 나타나는 것 같습니다. 혹시 버전 차이로 인해 필요한 어노테이션이나 함수가 달라져 발생하는 문제일까요? 관련하여 검색해도 답안을 찾기 어려워서 질문 드립니다. 감사합니다.Inconvertible types; cannot cast 'org.example.springrestproject.Events.EventControllerTests' to 'org.springframework.test.util.JsonPathExpectationsHelper'No value at JSON path "$[0].objectName"java.lang.AssertionError: No value at JSON path "$[0].objectName" at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:302) at org.springframework.test.util.JsonPathExpectationsHelper.assertExistsAndReturn(JsonPathExpectationsHelper.java:326) at org.springframework.test.util.JsonPathExpectationsHelper.exists(JsonPathExpectationsHelper.java:190) at org.springframework.test.web.servlet.result.JsonPathResultMatchers.lambda$exists$3(JsonPathResultMatchers.java:123) at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214) at org.example.springrestproject.Events.EventControllerTests.createEvent_Bad_Request_Wrong_Input(EventControllerTests.java:149) 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)Caused by: java.lang.IllegalArgumentException: json can not be null or empty at com.jayway.jsonpath.internal.Utils.notEmpty(Utils.java:401) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:390) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:377) at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:299) ... 8 more