주문 서비스 개발 부분 강의를 듣다가 궁금한 점이 있어 질문드립니다. 주문 취소(OrderService.cancelOrder) 부분에서order.cancel() 만 작성하면 JPA 특징으로 인해, 데이터 업데이트 관련 쿼리 로직 없이 자동으로 업데이트 된다고 하셨는데요. 주문 생성(OrderService.order)의 EntityManager 가 사용된 orderRepository.save (order); 와 혼동이 와서 질문 남깁니다. 주문 취소 order.cancel() 메서드를 타면서 엔티티의 값(status, count 등) 변경 내역이 자동으로 업데이트 되는 것이라고 하면, 주문 생성도 Order.createOrder(member, delivery, orderItem); 를 타면서 엔티티의 값들을 설정하기 때문에 orderRepository.save (order); 를 사용하지 않아도 되는게 아닌가 라는 생각이 듭니다. 제가 JPA 를 잘 몰라서 혼란이 오는 것 같은데.. 쿼리는 직접 작성하지 않아도 업데이트/저장/삭제 등 DB 조작이 일어나려면 EntityManager 를 통해야 된다고 생각하고 있었습니다. 주문 취소는 EntityManager 없이 업데이트 되고, 주문 생성은 EntityManager의 persist() 를 사용해서 저장하는 것 이 2가지 차이점에 대해서 설명 부탁드립니다! 감사합니다 :)
안녕하세요 강사님. 강의 잘 듣고 있습니다!! 다름이 아니라 sudo yum install -y zsh 명령어를 통해 zsh를 설치하려고 했을 때, 설치가 지연되고 아무것도 설치가 되지 않는 상황이 발생합니다. 그래서 Timeout이 발생하는데요. 어떻게 해결해야 할지 여쭤보고 싶습니다. 감사합니다. [ec2-user@ip- ~]$ sudo yum install -y zsh ^CAmazon Linux 2023 re [ === ] --- B/s | 0 B --:-- ETAmazon Linux 2023 repository 0.0 B/s | 0 B 02:11 Errors during downloading metadata for repository 'amazonlinux': - Curl error (28): Timeout was reached for https://al2023-repos-ap-northeast-2-de612dc2.s3.dualstack.ap-northeast-2.amazonaws.com/core/mirrors/2023.0.20230614/x86_64/mirror.list [Failed to connect to al2023-repos-ap-northeast-2-de612dc2.s3.dualstack.ap-northeast-2.amazonaws.com port 443 after 30000 ms: Timeout was reached]
26:27초 쯤에 tests.py의 test_update_post() 함수에서 카테고리의 pk를 적어줘야하는지 이해가 잘 되지 않습니다. 앞서 setUp() 함수에서 post_001과 post_002를 생성할 때는 category를 입력할 때 pk 는 사용하지 않고 진행했습니다. 하지만 왜 포스트 수정을 핱때는 category를 입력할 때 pk 를 사용해야 하는지 잘 모르겠습니다.
안녕하세요. RT-1 에 Subnet1, Subnet2, Subnet3, Subnet4 이 설정이 되었었고, RT-2를 생성한 후에 Subnet3를 설정하니, RT-1의 서브넷 설정에서 Subnet3이 빠지게 되더라고요. 모르고 있다가 장애가 있었는데, 다시 생각해보면 Routing Table은 VPC 자원 내부에서 네트워크 흐름 방향을 설정해주는것인데, 두개의 Routing Table이 동일한 서브넷을 설정하면 네트워크 흐름에 충돌이 발생할것 같다는 추측을 하게 되었습니다. 제가 생각한게 틀린걸까요? 저희팀에는 아시는분이 없어서 여기에 질문을 드리네요.
안녕하세요. where 조건을 동적으로 생성해주는 부분에 대해서는 충분히 이해가 되었습니다. 그런데 혹시 특정 condition 값에 따라 join을 해줘야하는 테이블이 다른 경우라면 어떻게 처리되어야 할지 모르겠어서 글을 남기게 되었습니다. condition조건에 teamName이 있을 때만 team을 조인해주고 싶은데 join 구문을 동적으로 처리할 수 있는 좋은 방법이 어떤 것인지 질문드립니다. 😭 감사합니다.
https://www.terraform-best-practices.com/code-structure terraform best pratices 문서를 살펴보던 도중 아래와 같은 문구를 보았습니다. terraform.tfvars should not be used anywhere except composition . 컴포지션을 제외한 곳에서 tfvars를 사용하지 말라고 했는데, 이 부분은 어떻게 해석을 해야하는 건가요?? 강의 해주시는 부분은 컴포지션에 해당하기 때문에 괜찮은건가요? 컴포지션이 아닌 상황에는 어떤 상황이 있을까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 수정, 삭제 벌크 연산의 6:20 부분에서 update쿼리로 인한 영속성컨텍스트 문제를 설명해주셨는데요. 전 강의에서 em.flush()실행되는 조건들을 설명해주실 때, 직접 호출 시 트랜잭션 커밋 시 JPQL쿼리 실행 시 em.flush()가 실행된다고 설명해주신 것으로 기억하고 있습니다. querydsl도 결국 JPQL기반으로 작동된다고 알고 있는데, querydsl을 통한 select쿼리 실행을 하면 자동으로 em.flush()가 실행되지 않고, 직접 해주어야 하는 메커니즘이 궁금합니다!
약 5분 즈음에, 서브넷 추가 부분이 있는데요. 가용영역이 us-east-2a,b,c 이렇게 나옵니다. ap-northeast 가 나오지 않는데, 혹시 제가 뭔가를 놓친걸까요? 아니면 aws 자체에서 메뉴가 달라진걸까요? 그리고 서브넷 추가 이후에, DB 생성 부분에서도 영상과, 현재 AWS와는 많이 다른것 같습니다. (Burstable Clases 옵션도 없습니다.) 어떤걸 선택해야 될지 판단이 안서서, 이부분에 대한 가이드도 주시면 감사하겠습니다 !
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 5강의 GET 부분 진행하는데 404 오류가 계속 떠서 문의드립니다. 서버도 정상적으로 실행되고 타 프로젝트에서는 정상적으로 localhost :8080이 동작하는데 이 프로젝트만 계속 404 오류가 발생하네요.. Java 11 사용중이고 Gradle Reload 해봐도 해결이 안돼 질문글 남깁니다..
안녕하세요, build.gradle의 빌드 실패가 나서 문의드립니다. JDK 버전은 다음과 같이 17.0.6입니다. 그리고 인텔리제이 설정은 다음과 같습니다. java 컴파일러 설정 2. 빌드 도구 설정 3. 프로젝트 설정 마지막으로 처음 프로젝트를 다운로드 받았던 설정은 다음과 같습니다.(spring boot 3.0.7 버전 사용) 처음 build.gradle을 실행할 때부터 에러 로그 하나도 없이 그냥 빌드 실패했다는 에러가 뜹니다. 컴퓨터를 여러번 껐다가 켜봐도 여전히 같은 에러가 뜹니다. 인텔리제이와 스프링이 완전 처음이라서 이 에러를 어떻게 해결해야 하는지 모르겠습니다. 커뮤니티의 다른 글들을 참고해봐도 딱히 도움이 되지는 않는 것 같습니다. 도와주시면 너무 감사하겠습니다.
안녕하세요! 질문 좀 드리려고 합니다 엔티티 매니저 프록시는 프록시를 싱글톤으로 주입해서 동시성 문제를 해결하고 실제 엔티티 매니저 인스턴스를 ThreadLocal로 관리하는 역할 정도로 생각해도 괜찮을까요? 추가적으로 실제 엔티티 매니저는 @Transactional을 사용하면 JpaTransactionManager에서 생성이 되는데 @Transactional을 사용하지 않으면 처음 엔티티 매니저를 사용할 때 생성이 되나요?
안녕하세요. 큰돌님 강의 잘 보고있습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { static int[][] board; static boolean[][] visited; static int[] dy = {-1, 0, 1, 0}; static int[] dx = {0, 1, 0, -1}; static int yLen; static int xLen; static int cnt; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringBuilder sb = new StringBuilder(); while (n-- > 0) { int[] given = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); if (given[2] == 1) { sb.append(1).append(System.lineSeparator()); continue; } board = new int[given[0]][given[1]]; visited = new boolean[given[0]][given[1]]; yLen = given[0]; xLen = given[1]; for (int i = 0; i < given[2]; i++) { String[] numStr = br.readLine().split(" "); int y = Integer.parseInt(numStr[0]); int x = Integer.parseInt(numStr[1]); board[y][x] = 1; } for (int i = 0; i < yLen; i++) { for (int j = 0; j < xLen; j++) { if (!visited[i][j] && board[i][j] == 1) { dfs(i, j); cnt++; } } } sb.append(cnt).append(System.lineSeparator()); } System.out.print(sb.substring(0, sb.length() - 1)); } public static void dfs(int y, int x) { visited[y][x] = true; for (int i = 0; i < 4; i++) { int ny = y + dy[i]; int nx = x + dx[i]; if (ny < 0 || ny >= yLen || nx < 0 || nx >= xLen) continue; if (visited[ny][nx] || board[ny][nx] == 0) continue; dfs(ny, nx); } } } 위 코드를 실행하면 12%, ArrayIndexOutOfBounds가 발생하는데 어떤 부분인지 알 수 있을까요?