묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
H2데이터 베이스에 데이터가 사라져요
===[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Member를 생성할 때까진 잘 되다가 조회하는 단계에서System.out.println 출력문은 안뜨는 이유가 무엇일까요? h2 데이터베이스에 가보면 저장했던 member가 사라져있습니다. 영속성이 사라진 건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
임베디드타입과 @MappedSuperclass의 차이
둘 다 상속관계 매핑과 관련 없고 속성만 상속받기 위해 사용되는 것 같은데 어떤 차이가 있는지 알 수 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
isEmpty(), NPE
private void validateDuplicateMember(Member member) { //중복 회원 검증 List<Member> findMembers = memberRepository.findByName(member.getName()); if(!findMembers.isEmpty()){ throw new IllegalStateException("이미 존재하는 회원입니다."); } }중복 회원 검증 메서드에서 위의 코드는 test 돌릴 때 제대로 작동하는데 아래 코드처럼 if문의 조건을 바꾸면 test가 fail합니다..!리스트가 null일 경우 isEmpty() 호출 시 NPE가 발생하기 때문에 가급적 null인지 여부도 함께 확인하라는 글을 본적이 있어서 아래처럼 작성한 것인데, 왜 에러가 나는 건지 궁금합니다!private void validateDuplicateMember(Member member) { //중복 회원 검증 List<Member> findMembers = memberRepository.findByName(member.getName()); if(!findMembers.isEmpty() || findMembers!=null){ throw new IllegalStateException("이미 존재하는 회원입니다."); } }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL 숫자 연산 함수 관련해서 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. COUNT(*) 함수를 사용해서 Member의 수를 카운트 하는 테스트를 했는데, 반환 타입을 Integer로 넣어서 Integer가 나올 것으로 기대했으나 IillegalArugumentException이 발생했습니다. 문제는 아래 쿼리에서 컴파일 오류가 발생하지 않았다는 점인데, 실제로 실무에서는 SELECT절 함수를 통한 값을 얻어 올 때 어떻게 사용하는지 궁금합니다.예를 들어 타입드 쿼리 대신 Query를 사용해 Object를 받아 인티저 타입으로 캐스팅한다던지, 함수가 반환하는 명확한 타입을 모두 알고 사용해야 하는 것인지, 또는 위 문제를 해결 할 수 있는 다른 방법이 있는지 알려주실 수 있나요 ? TypedQuery<Integer> query1 = em.createQuery("SELECT count(m) from Member m", Integer.class);
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임에러라고 뜨는데 어디서 잘못된 걸까요?
board의 값을 map으로 저장했습니다. map<몇번째 칸, 저장된 인형들>map의 key에 해당하는 value는 stack으로 저장했습니다.찾아보니 테스트 케이스 5번이 N번 째 줄의 인형을 쌓을 때 0 0 0 1 2 3 이런 식으로 쌓이는 경우뿐 아니라 0 1 0 2 3 같은 경우도 있다고 하네요. 하지만 이건 문제에 따로 명시되지 않은 부분이고 보통 인형 쌓기라고 하면 공백 없이 차곡차곡 쌓이는 걸로 생각해서 코드를 짰습니다.위의 테스트 케이스를 제외하고는 그럼 통과가 돼야 하는데 아예 런타임에러로 뜨는 이유를 못 찾고 있습니다..어떤 문제 때문인지 알려주시면 감사하겠습니다!package programmers.level0; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; import java.util.Stack; import java.util.StringTokenizer; public class Main{ private static int solution(int size, int[][] board, int moveSize, int[] moves) { int answer = 0; // 삭제된 인형 수 Map<Integer, Stack<Integer>> map = new HashMap<>(); // 인형뽑기 기계(몇번째줄에 어떤 인형이 있는지 저장) // 입력받은 2차원 배열을 col별로 stack으로 저장해서 map에 저장 // 0값은 stack에 저장X for (int col = 1; col <= size; col++) { Stack<Integer> stack = new Stack<>(); for (int row = size; row > 0; row--) { if (board[row][col] == 0) break; stack.push(board[row][col]); } map.put(col, stack); } Stack<Integer> basket = new Stack<>(); for (int i = 0; i < moveSize; i++) { Stack<Integer> stack = map.get(moves[i]); if (!stack.isEmpty()) { if (!basket.isEmpty() && stack.peek() == basket.peek()) { basket.pop(); stack.pop(); answer += 2; } else { basket.push(stack.pop()); } } } return answer; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int size = Integer.parseInt(st.nextToken()); int[][] board = new int[size + 1][size + 1]; for (int i = 1; i <= size; i++) { st = new StringTokenizer(br.readLine()); for (int j = 1; j <= size; j++) { board[i][j] = Integer.parseInt(st.nextToken()); } } int moveSize = Integer.parseInt(br.readLine()); int[] moves = new int[moveSize]; st = new StringTokenizer(br.readLine()); for (int i = 0; i < moveSize; i++) { moves[i] = Integer.parseInt(st.nextToken()); } System.out.println(solution(size, board, moveSize, moves)); } }
-
해결됨백엔드 개발자 성능 개선 초석 다지기
5000건에 대한 부하테스트 중 5000건 관련
올려주신 코드를 확인해보면SELECT * FROM notice limit 1000;findAll 쿼리는 1000건만 가져오도록 되어있습니다.5000건의 데이터를 조회하는 API라 하신 것은 5천건의 데이터를 가진 테이블에서 1000건을 조회하는 쿼리라고 이해하면 될까요?
-
미해결김영한의 실전 자바 - 기본편
상속과 메모리 구조
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상속과 메모리 구조에서 객체를 생성했을 때 객체 호출자타입이 본인 타입을 찾는다고 했는데 10:00분 쯤에서 말한 자식을 먼저 찾고 없으면 부모에서 찾는다고 했는데 호출자 타입의 시작이 부모라면 부모타입에 먼저 가고 부모에 없으면 자식으로 가나요? 아니면 부모는 자식을 모르니까 부모타입에서 없으면 그대로 컴파일 오류가 발생하나요?제가 생각하기엔 부모에서 없으면 바로 컴파일 오류가 발생할 거 같은데 맞나요?
-
해결됨백엔드 개발자 성능 개선 초석 다지기
비동기 방식시 주의사항 관련해서 (Common Pool)
비동기 방식 사용시 별도의 thread pool을 설정하지 않는다면 common pool을 사용하기 때문에, thread pool의 thread를 사용하도록 설정해야 하셨는데, common pool을 사용하면 안되는 이유와 thread pool의 thread를 사용했을 떄 어떤 차이점이 있는지 궁금합니다. 제가 배경지식이 부족해서 그런지 모르겠지만 이 부분에 대한 설명이 없어서 아쉬웠습니다.
-
미해결기초 알고리즘 코딩테스트 40일 완성 (by 하루코딩)
동영상 강의 화면이 작아요.
이전 강의는 화면 최대한 키우는 기능이 있던데 이번에는 그 기능이 없네요.
-
미해결백엔드 개발자 성능 개선 초석 다지기
MySQL 인덱스 관련해서
안녕하세요 incu님, 강의 잘 듣고있습니다.인덱스 면접대비하기 부분에서 2가지 질문이 있습니다.첫번째, MySQL 인덱스의 자료구조는 b-Tree라고 하셨는데, b+Tree 아닌가요? b+Tree의 개념을 포함해서 쓰신건지 궁금합니다. 두번째, 인덱스를 생성하고 그 인덱스를 WHERE 조건절에 사용했음에도 인덱스를 타지 않는 경우 중에 not eq 조건도 있는 것으로 알고있습니다. 이 경우에는 Table Full Scan하는 것이 맞는거죠? 아니면 not eq 조건에서 인덱스를 타지 않는데, 성능을 개선할 수 있는 방안이 어떤 것이 있는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Model로 전달하는 것과, dto나 form을 만들어 전달하는 것
Dto로 전달하지 않고 model로 전달하는 경우는 어떤 상황에서 하는 건가요 ?? 프로젝트를 하다보면 무조건적으로 dto로 전달했어서 궁금합니다... 같은 맥락으로 form데이터도 차이가 있나요 ???
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
질문있습니다.
강사님 안녕하세요.혹시 개인적인 질문이 있는데 메일 주소 하나 알 수 있을까요 ? 감사합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
배열 문제 질문드립니다!
배열 문제 질문 드립니다. 이 문제 인데요 ArrayEx7 번 입니다. 다름이 아니라 평균은 왜 0 으로 초기화를 안하는건가요?int total = 0; 으로 해주었는데, 평균역시 0으로 초기화 해줘야 하지 않나요?? 아닌가여...ㅠㅠ?
-
미해결김영한의 실전 자바 - 기본편
다형성 참조에 관해 질문 있습니다.
public class Animal { public void sound(){ System.out.println("동물 울음 소리"); } } public class Dog extends Animal{ @Override public void sound() { System.out.println("멍멍"); } } public class BabyDog extends Dog{ public void sound() { System.out.println("낑낑"); } } public class AnimalPolyMain1 { public static void main(String[] args) { Dog dog = new Dog(); BabyDog babyDog = new BabyDog(); soundAnimal(dog); soundAnimal(babyDog); } private static void soundAnimal(Animal animal){ System.out.println("동물 소리 테스트 시작"); animal.sound(); System.out.println("동물 소리 테스트 종료"); } }안녕하세요. 강의 중 추가적으로 궁금한게 생겨서 질문드립니다. 그림에 따르면 코드에 만약에 제가 BabyDog클래스를 만들어서 Dog를 extends 한 후 오버라이딩을 하지 않고 매서드를 생성하면 "낑낑"이 아닌 매서드 오버라이딩이 된 "멍멍"이 출력되어야 하는 거 아닌가요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
매핑 어노테이션에 대한 궁금증
복습 중 매핑 어노테이션들에 대한 궁금증이 생겼습니다. 1. 해당 매핑 어노테이션들이 강의의 예제처럼 ddl-auto에서 create 옵션을 주는 상황처럼, JPA에서 자체적으로 테이블을 생성하는 경우에 적용되는것인가.2. 혹은 해당 어노테이션들이 사용자가 따로 DB에서 테이블을 미리 생성해둔 경우에 객체와 관계형 데이터페이스를 매핑하기 위한 용도로 사용되는 것인가.혹은 매핑 어노테이션 1, 2번 모두에 해당되는건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
45강 dev 연결 에러
java -jar build/libs/library-app-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev 2024-03-06 06:57:53.124 ERROR 3375 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-j-8.0.31.jar!/:8.0.31]2024-03-06 06:34:35.506 WARN 24251 --- [ main] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: Could not obtain connection to query metadatacom.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.2024-03-06 06:57:53.140 ERROR 3375 --- [ main] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]2024-03-06 06:57:53.140 WARN 3375 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]2024-03-06 06:57:53.152 INFO 3375 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]2024-03-06 06:57:53.185 INFO 3375 --- [ main] ConditionEvaluationReportLoggingListener :Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2024-03-06 06:57:53.233 ERROR 3375 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 제 컴퓨터 mysql로 연결되어서 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure 이런 에러가 나온 것 같은데 AWS에서 빌린 컴퓨터에서 mysql연결하려면 어떻게 해야하나요? 아니면 제 컴퓨터 mysql로 연결하고 진행하나요?
-
미해결백엔드 개발자 성능 개선 초석 다지기
host.sh 실행 오류
MAC 환경에서 CPU 정보를 확인하기 위해 ./host.sh 명령어를 실행하였으나 다음과 같은 오류가 뜹니다.혹시 libsigar-universal64-macosx.dylib 파일 읽기 권한이 문제인가 싶어서 권한도 추가하였으나 동일한 에러가 발생합니다.두번 째로 환경 변수 설정도 해봤으나 동일한 에러가 발생합니다.export DYLD_LIBRARY_PATH=/Users/hyeonsu/util/scouter/agent.host/lib:$DYLD_LIBRARY_PATH
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcTemplate강의 중복_회원_예외() 테스트 오류
DB교체 후 MemberServiceIntegrationTest 시 자꾸 아래와 같은 오류가 발생합니다.구글링을 해보니 async 들어가서 메세지 안뜨게 체크 해제하는 것과 여러 방법을 해봤는데 지속적으로 저 메세지가 뜹니다..ㅠㅠ도움주시면 감사하겠습니다.상세 오류 내용 . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.2)2024-03-06T13:03:25.170+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : Starting MemberServiceIntegrationTest using Java 17.0.10 with PID 29080 (started by wlwlg in C:\개인공부\Back-End\Spring\hello-spring\hello-spring)2024-03-06T13:03:25.171+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : No active profile set, falling back to 1 default profile: "default"2024-03-06T13:03:26.078+09:00 INFO 29080 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]2024-03-06T13:03:26.510+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : Started MemberServiceIntegrationTest in 1.536 seconds (process running for 2.262)2024-03-06T13:03:26.549+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2024-03-06T13:03:26.606+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/test user=SA2024-03-06T13:03:26.607+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appendedorg.opentest4j.AssertionFailedError: Expected java.lang.IllegalStateException to be thrown, but nothing was thrown. at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:73) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:35) at org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3115) at hello.hellospring.Service.MemberServiceIntegrationTest.중복_회원_예외(MemberServiceIntegrationTest.java:54) 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)2024-03-06T13:03:27.222+09:00 INFO 29080 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2024-03-06T13:03:27.227+09:00 INFO 29080 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.Process finished with exit code -1
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품주문_재고수량초과 테스트 로직 junit5 로 했을때 이렇게 코딩하는것 맞나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@Test public void 상품주문_재고수량초과() throws Exception { //given Member member = createMember(); Book book = createBook(); //when assertThatThrownBy(() -> orderService.order(member.getId(), book.getId(), 15)) .isInstanceOf(NotEnoughStockException.class) ; }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
applications.properties 파일이 작동하지않는거같습니다.
[질문 내용]안녕하세요 applications.proproperties에 있는 코드들이 그냥 회색 글자로 나오고 MemberServiceIntegrationTest을 실행하면 정상적으로 pass가 되긴하지만 다음과 같은 WARNING 문구가 나옵니다. WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseJava HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been...이게 intellij 가 무료판이라 properties파일이 작동안하고 적런 문구가 뜨는건가요?