안녕하세요. 수업듣다가 이것저것 만져봤는데, 이번달 AWS 사용료 36달러가 결제되었습니다.. NAT Gateway 와 기타 등등 삭제한다고 했는데, 계속 비용이 쌓이는 걸로 봐서 아직 삭제가 안된 것 같습니다. 혹시 무엇을 더 삭제해보아야할까요.. 제가 확인한 바로는 NAT Gateway가 없습니다. 수업과 무관한 내용인 줄은 알지만, 혹시나 방법을 아실까해서 여기에 질문드립니다.
질문은 아니고요. 수업자료 버튼을 눌러서 받는 파일은 실제 수업 영상에서 언급하신 서울시에서 제공하는 인구관련 csv 파일이 아니라 다른거네요. 물론 아래 스크롤 해서 링크로 들어가면 되지만 이 부분에 대한 설명이 필요해 보입니다. 혹은 수업자료 버튼 눌러서 받아지는 파일이 잘못 업로드 된건지도 모르겠네요
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 MemberServiceIntegrationTest 에서 회원가입을 run하는 과정중에, 처음에는 NullPointerException 이 뜨다가, 코드수정만 했는데 이제는 아얘 실행조차 안되고 다음과 같이 오류가 뜹니다 __________________ 위의 오류를 해결하려고 아래와 같이 src/java/main을 소스루트로 지정했습니다 캐쉬삭제도 해보고 이것저것 해봤는데 실행조차 안됩니다 어떻게 고쳐야하나요 ... ㅠㅠ 도와주세요 ..
안녕하세요 선생님 질문이 있습니다. 문제를 실제 상황에서 하려면 다음과 같나요? 실제 상황예시에서 하신것처럼 production 계정으로 들어가서 S3and RDS_Full_Access IAM Role을 생성하고 dev 계정으로 들어가서 Ec2 생성할 때 위에서 생성한 IAM role을 선택하는게 신뢰 정책 사용 예시문제의 솔루션을 제대로 수행한것인가요?
Java 에서 Final 만 사용할 수 있는게 외부 변수가 메모리에서 해제 되었을 경우, 가비지를 참조할 수 있는 것을 방지하기 위해서로 알고 있는데 코틀린은 이게 가능한게 아예 메모리를 통째로 떠와서 그런걸까요? ㅎㅎ 강의 영상에서 포획한다 라고 표현하신게 그런 의미 같아요!
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
연관관계의 주인은 곧 외래키를 갖고 있는 테이블이 그 연관관계의 주인으로 이해가 됩니다. SQL문의 create table을 통해서 보면 외래키가 명확하게 드러나서 연관관계의 주인이 누구인지 파악이 비교적 수월한데, JPA의 코드를 통해 보면 누가 관계의 주인인지 잘 모르겠습니다. 물론 그것을 파악하기 쉬우라고 mappedBy를 이용해서 주인이 아니라는 것을 표시한다는 것은 알겠는데, 만약 이것이 안적혀 있더라도, 코드만 보고 관계의 주인을 파악하는 방법이 있을까요?
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
package com.group.libraryapp.domain.user; import com.group.libraryapp.domain.user.loanhistory.UserLoanHistory; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id = null; @Column(nullable = false, length = 20, name = "name") private String name; private Integer age; // ManyToOne의 관계이기 때문에 List 사용 @OneToMany(mappedBy = "user") // mappedBy는 연관관계의 주인이 아닌 쪽에 붙는다. private List<UserLoanHistory> userLoanHistories = new ArrayList<>(); protected User() { } public User(String name, Integer age) { if (name == null || name.isBlank()) { throw new IllegalArgumentException(String.format("잘못된 name(%s)이 들어왔습니다.", name)); } this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Long getId() { return id; } public void updateName(String name) { this.name = name; } } 궁금증은 간단합니다. updateName과 setName의 차이점이 무엇인지 궁금합니다. updateName 또한 setName 처럼 User 객체의 name 프로퍼티를 변경해주기 위한 메서드로 보입니다. 이름만 다를 뿐 형태가 똑같은데 굳이 updateName 이란 메서드를 만드는 이유가 궁금합니다. updateAPI에 맞춰서 통일성을 주기 위해 updateName 메서드를 만든 것인지, update의 요구 조건에 따라 updateName이 변경될 가능성이 있기 때문에 확장성 때문에 만든건지 아니면 어떠한 이점이 있는 것인지 등등 그 목적이 알고 싶습니다.
안녕하세요 호돌맨님 ! 질문이 있습니다 !! Pageable 을 사용해서 페이징 구현 시 Full Scan 을 하기 위해 Count 쿼리가 발생하는걸 확인했는데, Pageable 에서는 페이징 처리를 위해 총 데이터의 개수를 파악해야 하기 때문이니까 Count 쿼리가 필요한거고 Querydsl 은 직접 limit 값, offset 값을 지정하기 때문에 Full Scan 할 필요가 없으니 Count 쿼리가 필요없는게 맞을까요 ?
nestjs + mongoose 조합이지만, https://velog.io/@modolee/mongodb-document-to-javascript-object 와 같이 find()가 리턴하는 인스턴스 내부가 `_doc` 처럼 되어 있었습니다. 저는 user.age 이렇게 사용하고 싶은데, user 밑에 age 라는 변수도 없고, 꼭 .toObject()를 해야 하나요? 아직 이 부분에 수수께끼가 풀리지 않았습니다. 설명해 주실 수 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] "package hello.hellospring.aop; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; @Component @Aspect public class TimeTraceAop { @Around("execution(* hello.helloSpring..*(..))") public Object execute(ProceedingJoinPoint joinPoint) throws Throwable { long start = System. currentTimeMillis (); System. out .println("START : " + joinPoint.toString()); try { return joinPoint.proceed(); } finally { long finish = System. currentTimeMillis (); long timeMs = finish - start; System. out .println("END : " + joinPoint.toString()+ " " + timeMs + "ms"); } } }" TimeTraceAop 클래스를 작성한 이후에 실행을 시켜보아도 수업처럼 START END 부분이실행되지 않습니다. 단순 스프링 실행화면만 보이는데 어디가 문제일까요?