묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
When was infinite craft released?
Infinite Craft was released on March 31, 2024. The infinite craft game received a positive response from the community, with many players appreciating its creativity and ability to unlimitedly combine elements to create make new discoveries. The community also appreciated the game's playability on both PC and mobile devices, as well as its simple and intuitive interactivity. Infinite Craft has become a popular game, attracting players with its simplicity but also the challenge of exploration and creativity.
-
해결됨선형대수학개론
Example 2 나름대로 부연 설명
제 나름대로 이해한 것을 통해 부연설명을 해봅니다.Example 2 입니다. 왜 Onto인가현재 mapping을 나타내는 coefficient matrix가 주어졌고, 이 coefficient matrix는 row echelon form을 갖추고 있습니다. 이 coefficient matrix의 모든 row에 nonzero pivot이 있으므로, 이 matrix는 해를 갖습니다.(A linear system is consistent if and only if the rightmost column of the augmented matrix is not a pivot column)3x4 matrix가 해를 갖는다는 의미가 어떻게 R^4 와 연결될까요? 이는 해의 의미를 되짚어보면 이해할 수 있습니다.여기서의 해는 3 x 4 matrix A와 R^4의 vector x, R^3의 vector b가 존재할 때, 임의의 b에 대해 Ax = b의 꼴에서의 해, 즉 x가 결정될 수 있다는 뜻을 의미합니다. 즉, R^3의 어떤 b를 선택하든지, Ax=b 꼴에서 x를 결정할 수 있습니다. 즉, A라는 map의 치역(range)는 R^3가 되고, 이는 공역(codomain)과 같아집니다. 따라서 T maps R^4 onto R^3입니다.따라서, 앞으로 row echelon form으로 주어진 coef. matrix의 모든 row에 nonzero pivot이 있다면 이 matrix는 onto입니다.(강의에서 onto의 정의로 다시 설명해보면, R^3 상의 임의의 b는 최소 한 개 이상의 x의 image입니다. 따라서 onto입니다) 왜 one-to-one이 아닌가?앞서 설명한 해의 의미로 돌아가면, Ax = b에서 임의의 b에 대해 해 x를 결정할 수 있습니다. 그런데, 이 해는 x_3라는 free variable을 가집니다. 따라서, 해의 개수는 infinitely many 입니다. One-to-one이 되려면 Domain의 모든 element가 Codomain의 서로 다른 element로 mapping 되어야 합니다. 그런데, free variable이 있기 때문에 무수히 많은 variable이 Codomain의 동일한 element로 mapping 됩니다. 따라서 one-to-one이 아닙니다.(강의에서 one-to-one의 정의로 다시 설명하면, R^3의 임의의 b가 R^4의 x의 at most one x에 대한 image라는 것을 위배합니다. 무수한 x의 이미지일 수 있기 때문입니다. 따라서 onto가 아닙니다) 빠른 판단이 결과는 어찌보면 당연합니다. 두 가지로 빠르게 판단할 수 있을 것 같은데요. 첫째로 row와 column의 개수를 비교해볼 수 있습니다.우선, m x n matrix를 생각하면, row 개수는 m, column 개수는 n입니다. 그리고 모든 row와 column은 1개의 pivot 밖에 가질 수 없습니다.따라서, onto 를 위해 해가 존재하려면, 즉, 모든 row에 pivot이 있으려면, 최소한 column이 row보다 같거나 많아야 합니다. 즉 onto를 위해서는 최소한 m <= n 이어야 합니다.반대로, one-to-one을 위해 free variable이 없으려면, 최소한 row가 column 보다 같거나 많아야 합니다. 즉, one-to-one을 위해서는 최소한 m >= n 이어야 합니다.그러나, 이는 m <=n일 때 onto 라거나, m >= n일 때 one-to-one 이라는 뜻은 아닙니다. 그러나, onto이면 m <=n이고, one-to-one 이면 m >= n 입니다. (대우로 인해, m > n이면 onto가 아니고, m < n이면 one-to-one이 아닙니다) 둘째로, one-to-one correspondence로 설명할 수 있습니다. 이는 우리가 계속 사용하는 one-to-one (one-to-one function) 과는 다른 얘기입니다 (일대일 대응과 일대일 함수의 차이입니다). onto임을 판별한 시점에서, 이 matrix는 one-to-one이 아닙니다. 왜냐하면 이 matrix가 onto이면서 one-to-one이면 이 one-to-one correspondence (일대일 대응)이 되는데, 이를 위해서는 m = n이어야 하기 때문입니다. 개인 블로그에 작성하기 전에 rough하게 이해한 것들을 정리해보았습니다. 많은 분들께 도움이 되었으면 좋겠습니다. 오류가 있으면 댓글로 알려주시면 감사하겠습니다 :)
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ecs fargate service 생성 에러
이런 식으로 설정하고 생성했는데, 서비스 생성이 안됩니다. 서브넷은 4개를 다 고르려고 해도 생성할 때 막혀서 프라이빗으로 2개만 고른 상태고요. role은 원래 있던 ecsexcution에 더해 ECSfullAccess를 추가해서 사용했습니다. 이런 에러가 뜨고클라우드 포메이션에선그리고 이벤트에선이런 에러들을 확인할 수 있었습니다.그리고 로그를 확인해보면 cloudWatch에서 보였다가 안보였다가 하는데Nestjs로 서버가 구동되었을 때 터미널에서 확인할 수 있는 서버 실행성공 메시지가 보이고요.프로젝트 기한이 급해 강의를 모두 수강하고 진행할 시간이 없어서 이렇게 무례하게 질문드리는 것을 사과드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build 폴더가 만들어지지 않습니다.
윈도우에서 ./gradlew 해서 설치한 후 build폴더가 안만들어지는데, 원인을 모르겠습니다. 저는 윈도우인데 gradlew.bat 명령어가 안먹히긴 하더라구요그래서 ./gradlew로 명령어 치니 뭔가 설치된것처럼 석세스가 나오긴 하네요..자바는 18입니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Querydsl 레포지토리 분리
안녕하세요 영한님! 저는 V4 방식으로 조회를 할 때, 주로 querydsl을 사용해서 쿼리를 작성합니다. (new 키워드도 제거할 수 있고, 좀 더 직관적인 이유 때문입니다.)이런 경우 쿼리용 레포지토리를 분리할 때 쿼리 레포지토리용 CustomRepository를 따로 작성해줘야 하나요?? 엔티티 조회용OrderRepository CustomOrderRepository 쿼리 조회용 (DTO)OrderQueryRepository CustomOrderQueryRepository
-
미해결선형대수학개론
18:18 ~ 30 Example 2. 설명 오류
18:18 ~ 30 에서 Augmented Matrix에 모든 row마다 Pivot position이 있어서 Solution이 있다는 것은 틀린 설명입니다. 여기서는 Linear Mapping을 나타내는 matrix이므로 Augmented Matrix가 아니라, Coefficient Matrix가 되어야 하고, 그렇다면 Coef. Matrix의 모든 row에 pivot position이 있으므로 Solution이 있다는 말은 참이 됩니다
-
미해결[무료]기초 텍스트마이닝: 앱 리뷰 분석 with 파이썬(40분 완성)
앱 리뷰 크롤링시 질문드립니다.
안녕하세요 선생님~~ 구글 플레이 스토어 앱 크롤링 영상 참고해서 앱 리뷰를 수집중입니다. 앱리뷰가 만건이상 아주 많은 앱이라서 기간을 분할해서 조금씩 모으려고 하는데..데이터 설정기간을 과거 특정 시점부터 특정시점까지만 설정해서(예를 들어 2023. 1.1 부터 3.31 까지) 하면 수집건이 자꾸 0으로만 나오는데 시간이나 변수설정을 바꿔보아도 계속 0이 나오는데 방법은 없는 걸까요? ㅠㅠ 죄송하지만 관련해서 도움주신다면 정말 감사하겠습니다!!
-
해결됨Flutter로 SNS 앱 만들기
플러터에서 forEach문 보다 for룹을 사용을 권장하는 문제와 context 바로사용으로 체크메세지가 많이 뜨시는분들
안녕하세요 강의 잘보고있습니다.그런데 vs코드가 삭제로직에 사용된 2군데의 forEach 룹중 한군대의 forEach룹을 자동으로 for in 룹으로 변경하길레 살펴보니 플러터에서는 forEach문 사용이 권장되지 않는다는걸로 보입니다. 예를들어 삭제함수의 void _deleteImage(List<String> imageUrls) { imageUrls.forEach((element) async { await firebaseStorage.refFromURL(element).delete(); }); }의 코드는 void _deleteImage(List<String> imageUrls) async { for (String imageUrl in imageUrls) { await firebaseStorage.refFromURL(imageUrl).delete(); } } 로 수정하면 되는것 같네요. 또 VSCode에서 context를 함수바디에 바로 사용하는 문제로 체크메세지가 너무 많이 뜨는데대표적으로 feed_card_widget.dart 파일 삭제버튼의 onPressed:(){} 내에 LikeProvider,ProfileProvider를 호출하는 부분들의 context를 바로 사용하는것보다 final likeProvider = context.read<LikeProvider>();이런식으로 변수에 담아서 호출하는 방식을 사용하라는 것 같습니다. 큰문제는 아닌데 강의보시는분들 참고하세요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-E 질문 있습니다.
현재 큰돌 강사님이 풀어주신 문제 해설은 이해 됐습니다. 그런데 scv갯수가 주어지고 한 개체를 한번에 여러번 공격을 못하기에 (모든 scv의 총 체력/한번에 줄 수 있는 데미지)이렇게 해서 구할 수도 있지 않을까 했습니다. 이를 바탕으로 코드를 썻으나 틀렸다고 나오는데 이게 왜 되지 않는지 몰라서 질문드립니다. 다음은 해당 코드입니다. http://boj.kr/dab5e07b909146eba418c449e7c219f9
-
미해결스프링 핵심 원리 - 기본편
옵션 처리
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]좀 이상한 질문일 수는 있는데 @Test void AutoWiredOption() { ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class); } static class TestBean { @Autowired(required = false) public void setNoBean1(Member noBean1) { System.out.println("noBean1 = " + noBean1); } @Autowired public void setNoBean2(@Nullable Member noBean2) { System.out.println("noBean2 = " + noBean2); } @Autowired public void setNoBean1(Optional<Member> noBean3) { System.out.println("noBean3 = " + noBean3); } } 이 코드는 그냥 @Autowired에서 의존관계에 주입할 스프링 빈이 없을 때 동작을 실행하기 위한 그냥 단순한 코드인가요??ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class);에서는 TestBean을 설정 정보로 넘기고는 있지만 @Bean이나 @Component같은 어노테이션이 포함이 되어 있어야 해당 클래스 명이나 메서드 명으로 스프링을 등록하는게 아닌가요...? @Autowired는 그냥 단순히 스프링 컨테이너에서 타입과 맞는 스프링 빈을 찾아서 등록해주는 건데 이해가 잘 되지 않아서요.
-
미해결스프링 핵심 원리 - 고급편
@Retention(RetentionPolicy.RUNTIME) 질문입니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@Retention(RetentionPolicy.RUNTIME)을 붙이게 되면 해당 어노테이션이 애플리케이션 실행될 때 까지 살아있다는 것이 정확히 어떤 의미인지 알고 싶습니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
TimeLimit 문의 드립니다
로직은 다르지만 의미는 강의와 비슷하게 구현한듯 한데 타임리밋이 발생하여 문의 드립니다. 어떤 부분이 잘못된 걸까요?public class 송아지찾기 { int count = 0; boolean visited[] = new boolean[10001]; public int BFS(int s ,int e) { Queue<Integer> queue = new LinkedList<>(); queue.add(s); while (!queue.isEmpty()) { int size = queue.size(); for (int i = 0; i < size; i++) { Integer poll = queue.poll(); visited[poll] = true; if (poll + 1 < 1000 && !visited[poll + 1]) { if (poll + 1 == e) { return count + 1; } queue.add(poll + 1); } if (poll + 5 < 10000 && !visited[poll + 5]) { if (poll + 5 == e) { return count + 1; } queue.add(poll + 5); } if (poll - 1 > -1 && !visited[poll - 1]) { if (poll -1 == e) { return count + 1; } queue.add(poll - 1); } } count++; } return count; }
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
자주 뜨는 컴파일에러.
5>Done building project "BuildGraph.Automation.csproj" -- FAILED.6>Done building project "AutomationScripts.Automation.csproj" -- FAILED. 이 두개의 빌드실패가 거의 항상있습니다. PIE 실행에는 영향없는거같은데, 해결할수 있는 방법이 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
mvc 관련질문/500에러뜹니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 내용]강의 보면서 똑같이 따라써도 계속 오류가납니다(@RequestParam("name")String name, Model model)이것도 써봤는데 안되어서 혹시 몰라 required=false로해봐도 안됩니다.. 어느게 문제인지 모르겠습니다 ㅠ
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
회원가입시 QueryFailedError 에러
회원가입시 이러한 에러가 계속 발생합니다. console.log로test@test.com qwer1234 email, password는 들어가는것도 확인했고 auth/signup error를 catch했을땐 409code로 에러가 들어왔습니다.무엇이 문제일까요...?중복이 문제인가 싶어 다른 여러 아이디로도 해봤는데 계속해서 저러한 에러가 뜨면서 실패하고있습니다ㅜㅜ QueryFailedError: duplicate key value violates unique constraint "UQ_e12875dfb3b1d92d7d7c5377e22" at PostgresQueryRunner.query (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/driver/postgres/PostgresQueryRunner.ts:331:19) at processTicksAndRejections (node:internal/process/task_queues:95:5) at InsertQueryBuilder.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/query-builder/InsertQueryBuilder.ts:163:33) at SubjectExecutor.executeInsertOperations (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:435:42) at SubjectExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:137:9) at EntityPersistExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/EntityPersistExecutor.ts:182:21) at AuthService.signup (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/auth/auth.service.ts:43:7) at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-proxy.js:9:17 { query: 'INSERT INTO "user"("loginType", "email", "password", "nickname", "imageUri", "kakaoImageUri", "RED", "YELLOW", "GREEN", "BLUE", "PURPLE", "createdAt", "updatedAt", "deletedAt", "hashedRefreshToken") VALUES ($1, $2, $3, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT) RETURNING "id", "RED", "YELLOW", "GREEN", "BLUE", "PURPLE", "createdAt", "updatedAt", "deletedAt"', parameters: [ 'email', 'test@test.com', '$2a$10$hlFtQkbll6R0pJNkTywGh.DaRGVm1uhu9DJm9c.Q0OeduuMRzdNyK' ], driverError: error: duplicate key value violates unique constraint "UQ_e12875dfb3b1d92d7d7c5377e22" at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/pg/lib/client.js:526:17 at processTicksAndRejections (node:internal/process/task_queues:95:5) at PostgresQueryRunner.query (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/driver/postgres/PostgresQueryRunner.ts:260:25) at InsertQueryBuilder.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/query-builder/InsertQueryBuilder.ts:163:33) at SubjectExecutor.executeInsertOperations (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:435:42) at SubjectExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:137:9) at EntityPersistExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/EntityPersistExecutor.ts:182:21) at AuthService.signup (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/auth/auth.service.ts:43:7) at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-proxy.js:9:17 { length: 234, severity: 'ERROR', code: '23505', detail: 'Key (email)=(test@test.com) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'public', table: 'user', column: undefined, dataType: undefined, constraint: 'UQ_e12875dfb3b1d92d7d7c5377e22', file: 'nbtinsert.c', line: '670', routine: '_bt_check_unique' }, length: 234, severity: 'ERROR', code: '23505', detail: 'Key (email)=(test@test.com) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'public', table: 'user', column: undefined, dataType: undefined, constraint: 'UQ_e12875dfb3b1d92d7d7c5377e22', file: 'nbtinsert.c', line: '670', routine: '_bt_check_unique' } QueryFailedError: duplicate key value violates unique constraint "UQ_e12875dfb3b1d92d7d7c5377e22" at PostgresQueryRunner.query (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/driver/postgres/PostgresQueryRunner.ts:331:19) at processTicksAndRejections (node:internal/process/task_queues:95:5) at InsertQueryBuilder.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/query-builder/InsertQueryBuilder.ts:163:33) at SubjectExecutor.executeInsertOperations (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:435:42) at SubjectExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:137:9) at EntityPersistExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/EntityPersistExecutor.ts:182:21) at AuthService.signup (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/auth/auth.service.ts:43:7) at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-proxy.js:9:17 { query: 'INSERT INTO "user"("loginType", "email", "password", "nickname", "imageUri", "kakaoImageUri", "RED", "YELLOW", "GREEN", "BLUE", "PURPLE", "createdAt", "updatedAt", "deletedAt", "hashedRefreshToken") VALUES ($1, $2, $3, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT) RETURNING "id", "RED", "YELLOW", "GREEN", "BLUE", "PURPLE", "createdAt", "updatedAt", "deletedAt"', parameters: [ 'email', 'test@test.com', '$2a$10$DfBqqh82WjRRFN5Fj2zJu.RiqJzzJCD4vR5xA1.y2zRxaAol0pP6W' ], driverError: error: duplicate key value violates unique constraint "UQ_e12875dfb3b1d92d7d7c5377e22" at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/pg/lib/client.js:526:17 at processTicksAndRejections (node:internal/process/task_queues:95:5) at PostgresQueryRunner.query (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/driver/postgres/PostgresQueryRunner.ts:260:25) at InsertQueryBuilder.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/query-builder/InsertQueryBuilder.ts:163:33) at SubjectExecutor.executeInsertOperations (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:435:42) at SubjectExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/SubjectExecutor.ts:137:9) at EntityPersistExecutor.execute (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/persistence/EntityPersistExecutor.ts:182:21) at AuthService.signup (/Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/src/auth/auth.service.ts:43:7) at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-execution-context.js:46:28 at /Users/kwonbeomjun/Documents/rn/rn-baro_review-v1/server/node_modules/@nestjs/core/router/router-proxy.js:9:17 { length: 234, severity: 'ERROR', code: '23505', detail: 'Key (email)=(test@test.com) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'public', table: 'user', column: undefined, dataType: undefined, constraint: 'UQ_e12875dfb3b1d92d7d7c5377e22', file: 'nbtinsert.c', line: '670', routine: '_bt_check_unique' }, length: 234, severity: 'ERROR', code: '23505', detail: 'Key (email)=(test@test.com) already exists.', hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: 'public', table: 'user', column: undefined, dataType: undefined, constraint: 'UQ_e12875dfb3b1d92d7d7c5377e22', file: 'nbtinsert.c', line: '670', routine: '_bt_check_unique' }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문조회 질문입니다.
자바 17로 하면 아래같이 코드를 캐스캐이드 하라고 나옵니다. cq.where(cb.and(criteria.toArray(new Predicate[criteria.size()]))); 이부분은 캐스캐이드 해줘도 빨간줄이 나옵니다. 혹시 17버전으로 작동되는 코드는 어떤것이 있을까요? package jpabook.jpashop.repository;import jakarta.persistence.EntityManager;import jakarta.persistence.TypedQuery;import jakarta.persistence.criteria.*;import jpabook.jpashop.domains.Order;import lombok.RequiredArgsConstructor;import org.springframework.stereotype.Repository;import org.springframework.util.StringUtils;import java.util.ArrayList;import java.util.List;import java.util.function.Predicate;@Repository@RequiredArgsConstructorpublic class OrderRepository { private final EntityManager em; public void save(Order order){ em.persist(order); } public Order fineOne(Long id){ return em.find(Order.class,id); }// public List<Order> findAllByString(OrderSearch orderSearch){// QOrder order=QOrder.order;//// } /** * JPA Criteria */ public List<Order> findAllByCriteria(OrderSearch orderSearch) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Order> cq = cb.createQuery(Order.class); Root<Order> o = cq.from(Order.class); Join<Object, Object> m = o.join("member", JoinType.INNER); List<Predicate> criteria = new ArrayList<>(); //주문 상태 검색 if (orderSearch.getOrderStatus() != null) { Predicate status = (Predicate) cb.equal(o.get("status"), orderSearch.getOrderStatus()); criteria.add(status); } //회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { Predicate name = (Predicate) cb.like(m.<String>get("name"), "%" + orderSearch.getMemberName() + "%"); criteria.add(name); } cq.where(cb.and(criteria.toArray(new Predicate[criteria.size()]))); TypedQuery<Order> query = em.createQuery(cq).setMaxResults(1000); return query.getResultList(); }}
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
재고수량 초과 테스트 InvalidDataAccessApiUsageException
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]재고수량 초과할 때 NotEnoughStockException 예외가 터져야 하는데 InvalidDataAccessApiUsageException 예외가 나오네요에러 메세지와 코드 첨부하겠습니다 [error message]java.lang.Exception: Unexpected exception, expected<jpabook2.jpashop2.exception.NotEnoughStockException> but was<org.springframework.dao.InvalidDataAccessApiUsageException> at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:30) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: id to load is required for loading at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:246) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:335) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) at jpabook2.jpashop2.repository.ItemRepository$$SpringCGLIB$$0.findOne(<generated>) at jpabook2.jpashop2.service.OrderService.order(OrderService.java:34) 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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) at jpabook2.jpashop2.service.OrderService$$SpringCGLIB$$0.order(<generated>) at jpabook2.jpashop2.service.OrderServiceTest.재고수량_초과(OrderServiceTest.java:62) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:76) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19) ... 23 moreCaused by: java.lang.IllegalArgumentException: id to load is required for loading at org.hibernate.event.spi.LoadEvent.<init>(LoadEvent.java:77) at org.hibernate.event.spi.LoadEvent.<init>(LoadEvent.java:43) at org.hibernate.loader.internal.IdentifierLoadAccessImpl.load(IdentifierLoadAccessImpl.java:206) at org.hibernate.loader.internal.IdentifierLoadAccessImpl.doLoad(IdentifierLoadAccessImpl.java:160) at org.hibernate.loader.internal.IdentifierLoadAccessImpl.lambda$load$1(IdentifierLoadAccessImpl.java:149) at org.hibernate.loader.internal.IdentifierLoadAccessImpl.perform(IdentifierLoadAccessImpl.java:112) at org.hibernate.loader.internal.IdentifierLoadAccessImpl.load(IdentifierLoadAccessImpl.java:149) at org.hibernate.internal.SessionImpl.find(SessionImpl.java:2424) at org.hibernate.internal.SessionImpl.find(SessionImpl.java:2390) 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:319) at jdk.proxy2/jdk.proxy2.$Proxy123.find(Unknown Source) at jpabook2.jpashop2.repository.ItemRepository.findOne(ItemRepository.java:25) 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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 55 more[코드]@Autowired EntityManager em; @Autowired OrderService orderService; @Autowired OrderRepository orderRepository;@Test(expected = NotEnoughStockException.class) public void 재고수량_초과() throws Exception { //given Member member = createMember(); Item item = createBook("JPA book", 10000, 10); int orderCount = 11; //when orderService.order(member.getId(), item.getId(), orderCount); //then fail("재고 수량 부족 예외가 발생해야 한다."); }
-
미해결만들면서 배우는 리액트: 컴포넌트 설계와 리팩토링
npm 대신 yarn
안녕하세요! npm 대신 yarn 사용하는게 더 좋은가요??
-
미해결웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩
ajax의 xmlhttprequest를 이용한 csrf 토큰 우회
ajax의 xmlhttprequest를 이용하여 modify.php에서 hidden 형태의 csrf 토큰을 읽은 후 토큰을 요청에 담아서 보내면 csrf token 우회할 수 없을까요?
-
미해결안드로이드 모바일 앱 모의해킹과 시큐어코딩
인시큐어뱅크 로그인 오류
인시큐어뱅크 설치후 로그인할 때 denish랑 jack해봤는데 둘다 invaild credentials 라고 떠요