학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 잘 보고 따라했는데 제목과 같이 save()메소드만 실행됩니다 어떻게 해야할까요 ??? 하나만 실행되는 사진이고 test 소스코드는 이러합니다 package hello.hellospring.repository; import hello.hellospring.controller.domain.Member; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.core.api.Assertions.*; public class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @AfterEach public void afterEach() { repository.clearStore(); } @Test public void save() { Member member = new Member(); member.setName("spring"); repository.save (member); Member result = repository.findById(member.getId()).get(); assertThat (member).isEqualTo(result); } @Test public void FindByName() { Member member1 = new Member(); member1.setName("Spring1"); repository.save (member1); Member member2 = new Member(); member2.setName("spring2"); repository.save (member2); Member result = repository.findByName("spring1").get(); assertThat (result).isEqualTo(member1); } @Test public void findAll() { Member member1 = new Member(); member1.setName("spring1"); repository.save (member1); Member member2 = new Member(); member2.setName("spring2"); repository.save (member2); List<Member> result = repository.findAll(); assertThat (result.size()).isEqualTo(2); } }
안녕하세요 184번을 풀다가 의문이 생겨서요 저는 LEFT JOIN을 통해서 답을 얻으려고 했는데 답이 나오진 않더라구요 LEFT JOIN 을 통해서 답을 구할 수 있는 방법은 없나요..? SELECT de.name as Department, em.name as Employee, em.Salary FROM employee as em LEFT JOIN department as de ON em.departmentId=de.id WHERE salary = (SELECT MAX(salary) FROM employee) LIMIT 3;
안녕하십니까, Chapter 1의 헬로 언리얼 강의를 듣다가 궁금한 것이 있어 질문드립니다. Visual Studio에서 F12키를 눌러 엔진 내부의 함수의 선언(헤더 파일)로 이동했는데요, 실제 함수의 구현 코드를 보려면 정의(cpp 파일)을 볼 수 있어야 할 것 같습니다. cpp 파일로 이동하는 방법이 궁금합니다. (지금까지는 수동으로 cpp 파일을 찾아갔는데, 이것 외 더 좋은 방법이 있나 궁금합니다) F12키가 정의로 이동(go to definition)인데 왜 헤더 파일로 이동하는지가 궁금합니다. 감사합니다.
int main() { fill(&a[0], &a[10], 100); for(int i = 0; i < 10; i++){ cout << a[i] << " "; } cout << '\n'; fill(&b[0][0], &b[9][10], 2); for(int i = 0; i < 10; i++) { for(int j = 0; j < 10; j++){ cout << b[i][j] << " "; } cout << '\n'; } return 0; 이 코드에서 fill(&a[0], &a[10], 100); 이 부분과 교안에 설명된 부분을 보면 알 수 있듯이 마지막에 쓰이는 인덱스는 포함되지 않아 실제로 a[9]까지 초기화가 가능한 것으로 이해를 하였습니다 그런데 왜 밑에 2차배열을 초기화하는 fill(&b[0][0], &b[9][10], 2);에서는 b[10][10]이 아닌 b[9][10]인지 궁금합니다. 또 b[9][9]로 수정하여 실행해본 결과가 b[9][10]으로 수행한 결과와 같은 이유도 궁금합니다! 긴 질문 죄송합니다!
안녕하세요 ! 채점 프로그램 관련 문의가 있어서 글을 작성하게 되었습니다. 전에 풀었던 문제들을 다시 풀어보는 과정에서 전에 100점이 나왔던 문제들을 다시 한번 채점 프로그램을 돌리니 wrong_answer이라고 나와서(기존의 AA파일을 돌림) 답안 소스로 테스트를 해보았는데 똑같이 wrong_answer 라고 계속 나오는 문제가 발생해서 글을 작성하게 되었습니다. 감사합니다.
정수형에서 실수형으로 // int > long > float > double (정밀한 데이터 = 자동 형변환) 실수형에서 정수형으로 // double > float > long > int (큰 -> 작은 = 수동 형변환) 데이터 단위 형변환은 업캐스팅/다운캐스팅과 관련이 없는 개념인거죠? 뒤에까지 듣고 앞을 다시 듣다보니 int는 작은녀석이고, double은 큰범위의 녀석이니 형변환이 필요한거 아닌가? (반대는 큰녀석을 작은녀석으로 형변환 하니 자동으로 된다) 하고 의문이 들어서요 업캐스팅/다운캐스팅은 클래스, 메소드가 있는 상황에서 발생하는거죠?
안녕하세요 영한님! 저는 강의 후에 개인 프로젝트를 진행중인데요 @Column(nullable = false) @ElementCollection private List<Tech> techs; Post class에 해당 Enum type List가 있습니다. package project.como.domain.post.model; import lombok.AllArgsConstructor; import lombok.Getter; @Getter @AllArgsConstructor public enum Tech { Java("Java"), Spring("Spring"); private String stack; } 그런데 Projections.constructor 방식으로 Dto를 만들때 에러가 발생합니다. List<PostAbstractResponseDto> content = queryFactory .select(Projections.constructor(PostAbstractResponseDto.class, post.title, post.category, post.state, post.techs )) .from(post) .where(stateEq(condition.getState()), categoryEq(condition.getCategory()), techsContains(condition.getTechs())) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); post.techs와 조건식을 제외하고 조회할 때는 정상적으로 잘 동작하지만, post.techs를 넣는 경우에 argument type mismatch 에러가 발생하네요. 무슨 문제인지 궁금합니다. 감사합니다 :)
ApolloClient를 이용해서 graphql 연동 시 다음과 같은 에러가 발생합니다. 사용 환경이 localhost가 아니라 "Access-Control-Allow-Origin" 정보가 일치하지 않아 거부되고 있습니다. backend-practice graphql연동 시 localhost:3000 만 허용되는 것 같습니다. 아래 에러 정보 공유합니다. Access to fetch at 'http://backend-practice.codebootcamp.co.kr/graphql' from origin 'http://10.10.9.109:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header has a value 'http://localhost:3000' that is not equal to the supplied origin. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. ApolloClient에서 no-cors로 설정시에는 서버 에러를 수신하게 되어 현재 연동이 어려운 상태입니다. 어떻게 해야 할까요?
jpa로 토이프로젝트를 하고 있는데 아래와 같이 여정 정보를 저장하는 코드 입니다. 저장할 Journey를 Entity로 변경 후 setTravel로 매핑합니다. 그 후 전체 Travel 데이터를 return하는데 return되는 값에 저장했던 Journey가 2개 들어 있습니다. 왜그런지 이유를 잘 모르겠습니다. ㅠ.ㅠ @Transactional public List<TravelDto.Response> addJourney(Traveler traveler, Long travelId, JourneyDto.Request newJourney) throws IOException { Travel travel = travelRepository.findTravelByTravelerIdAndTravelId(traveler.getId(), travelId); Journey newJourneyEntity = newJourney.toEntity(); newJourneyEntity.setTravel(travel); return getTravel(traveler); } public List<TravelDto.Response> getTravel(Traveler traveler) { return travelRepository.findByTravelerIdOrderByOrderKeyAsc(traveler.getId()) .stream() .map(TravelDto.Response::new) .collect(Collectors.toList()); } public void setTravel(Travel travel) { if (this.travel != null) { this.travel.getJourneys().remove(this); } this.travel = travel; travel.getJourneys().add(this); }
강사님께서 작성해주신대로 안하고 function deletePost(e, id) { e.stopPropagation(); axios.delete(`http://localhost:3001/posts/${id}`); } useEffect(() => { getPosts(); }, [posts]); useEffect deps에 posts를 넣어주는 형식으로 구현하면 좋지 않은 방식인가요? 개발자 도구 Network보면 요청이 계속 가서 좋지 않은 방법 같긴 한데, 생각해보면 useEffect 사용 시 deps에 무언가를 바라보게 하는 방법을 많이 쓰는 것 같기도 해서요.