묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
섹션9 compose up 에러
세션9 내용 따라하면서 docker compose up 커맨드를 입력했는데 다음과 같은 에러가 났습니다. 코드는 올려주신 깃헙 코드 사용하였는데 해결 방법 알 수 있을까요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
연관관계의 주인을 파악하는 방법에 대해 궁금한 점이 있습니다.
연관관계의 주인은 곧 외래키를 갖고 있는 테이블이 그 연관관계의 주인으로 이해가 됩니다.SQL문의 create table을 통해서 보면 외래키가 명확하게 드러나서 연관관계의 주인이 누구인지 파악이 비교적 수월한데, JPA의 코드를 통해 보면 누가 관계의 주인인지 잘 모르겠습니다.물론 그것을 파악하기 쉬우라고 mappedBy를 이용해서 주인이 아니라는 것을 표시한다는 것은 알겠는데, 만약 이것이 안적혀 있더라도, 코드만 보고 관계의 주인을 파악하는 방법이 있을까요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
domain\user\User.java 파일에 updateName 메서드에 대한 궁금증이 있습니다.
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이 변경될 가능성이 있기 때문에 확장성 때문에 만든건지 아니면 어떠한 이점이 있는 것인지 등등 그 목적이 알고 싶습니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
Count 쿼리 발생에 대해 궁금합니다.
안녕하세요 호돌맨님 ! 질문이 있습니다 !!Pageable 을 사용해서 페이징 구현 시 Full Scan 을 하기 위해 Count 쿼리가 발생하는걸 확인했는데, Pageable 에서는 페이징 처리를 위해 총 데이터의 개수를 파악해야 하기 때문이니까 Count 쿼리가 필요한거고 Querydsl 은 직접 limit 값, offset 값을 지정하기 때문에 Full Scan 할 필요가 없으니 Count 쿼리가 필요없는게 맞을까요 ?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
서버 실행
이리저리 해봐도 에러는 없는거 같은데 서버 실행이 안되네요... 어떻게 해결할수 있을까요??
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
find() 가 리턴하는 instance member
nestjs + mongoose 조합이지만, https://velog.io/@modolee/mongodb-document-to-javascript-object와 같이 find()가 리턴하는 인스턴스 내부가 `_doc` 처럼 되어 있었습니다.저는 user.age 이렇게 사용하고 싶은데, user 밑에 age 라는 변수도 없고, 꼭 .toObject()를 해야 하나요?아직 이 부분에 수수께끼가 풀리지 않았습니다.설명해 주실 수 있나요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 요청 드립니다.
안녕하세요 강사님업무와 병행하다 보니 절반밖에 수강을 못하였습니다.수강 연장 요청 드려도 될까요? 감사합니다.
-
해결됨하루만에 배우는 AWS REDIS
ubuntu 명령어가 어디에 있나요?
다음과 같은 양식으로 남겨주세요.질문을 한 배경 : 강의에서는 아래에 강의자료에 남겨두겠다고 하셨는데 강의에는 별도로 존재 하지 않는 듯 하여 남겨봅니다. 질문내용 :강의에 첨부가 되지 않은 것인지 궁금합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 신청
안녕하세요.업무로 인하여 수강 신청 시작이 늦었습니다.가능하시다면, 수강 연장 신청 부탁드립니다.감사합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
기간 연장 요청
회사 업무와 병행 하다 보니 기간이 부족한 것 같습니다..기간 연장 부탁 드리겠습니다! 감사합니다
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
certbot과 git충돌 질문자 입니다.
안녕하세요. certbot 실행 이후 git clone이 되지 않아 질문을 남겼었던 질문자입니다!당시 얼추 인도해주신 솔루션이 인스턴스 설정 초기화 후 새로 설치 였던터라 시간이 걸릴것으로 예상이 되어서 우선순위를 좀 뒤로 미루고, 다른 일들을 하다가 오느라 이제야 다시 질문의 일로 돌아왔습니다.그런데 이제와 생각해보니 certbot 과 git의 충돌이 유력한 원인이라면... certbot을 재설치? 재실행? 하면 되지 않을까 싶어서 인터넷에 검색을 해봤는데 자동갱신에 관한 글뿐이 없더군요.. 해서 혹시 certbot을 날렸다가 다시 설치하거나 certbot의 설정파일들이 임시로 작동하지 않도록 하는 방법이 있을까요?만약 임시 비활성화가 가능하다면 그 사이에 git clone을 진행하고, 다시 활성화 하면 될것 같아서.. 혹시 아시는 방법이 있으실지 여쭤봅니다
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
Controller Test 시 @WebMvcTest 사용 관련 질문입니다.
안녕하세요 호돌맨님 :) 좋은 강의 늘 감사드립니다.Controller Test 할 때 질문이 있습니다. 강의에서 호돌맨님께서는 @SpringBootTest 사용하셨는데 저는 한 번 @WebMvcTest를 사용해보고 있습니다.그러다보니 문제가 하나 발생을 하더라구요. 우선 PostController 쪽 코드를 보여드리겠습니다.@GetMapping("/posts") public ApiResponse<List<PostResponse>> getAll(@ModelAttribute PostSearch postSearch) { List<PostResponse> posts = postService.getAllPost(postSearch); return ApiResponse.ok(posts); }보시면 게시글을 전체 조회하는 이 메서드의 경우에는 인증이 따로 필요없이 바로 조회가 되게 했는데요. Insomnia 라는 프로그램을 통해서 테스트했을 때 따로 인증하지 않아도 전체 조회 요청이 성공하는 것을 확인했습니다.그런데 테스트코드를 작성할 때 인증 처리를 해주지 않으면 계속해서 401 에러가 발생을 하더라구요.@DisplayName("게시글을 전체 조회한다.") @CustomMockUser //todo 실제로는 인증이 필요없는데도 테스트 통과를 위해서 인증 처리를 해줘야 하는 것인가? @Test void getAllPosts() throws Exception { // given List<Post> posts = IntStream .range(1, 5) .mapToObj(i -> Post.of(FREE, i + "번 제목입니다.", i + "번 내용입니다.")) .toList(); List<PostResponse> response = changePostListToPostResponseList(posts); // when when(postService.getAllPost(any())).thenReturn(response); //then mockMvc.perform( MockMvcRequestBuilders.get("/api/posts") ) .andDo(MockMvcResultHandlers.print()) .andExpect(MockMvcResultMatchers.jsonPath("$.code").value(200)) .andExpect(MockMvcResultMatchers.jsonPath("$.message").value("OK")) .andExpect(MockMvcResultMatchers.jsonPath("$.status").value("OK")) .andExpect(MockMvcResultMatchers.jsonPath("$.data").isArray()) .andExpect(MockMvcResultMatchers.status().isOk()); }@CustomMockUser 어노테이션을 붙여줘야 테스트 통과가 되는 상황입니다. 실제 원하는 기능은 인증없이 전체 조회 되게 하는 것이 목표인데 테스트 통과를 위해서 @CustomMockUser 어노테이션을 붙여주는 것이 올바른 테스트인지 궁금합니다! 혹시 이게 @WebMvcTest와 관련없는 다른 문제라면 알려주시면 한 번 제가 더 찾아보겠습니다..!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
44강) 강사님 질문 있습니다.
안녕하세요 강사님취업 준비 중이라 진도가 더디네요 ㅠㅠ질문이 많아서 죄송합니다.다름이 아니고 배포 중에 문제가 생겼습니다.44강 10분쯤을 듣고있는데, mysql 비밀번호를 변경하라고 하셨습니다.저는 이미 저번에 깃허브에 커밋을 했고, 그 후에 인텔리제이 유료버전 체험판이 끝나버렸습니다.그래서 제 코드 수정이 안되어 비밀번호 변경을 못 하는데요.이런 경우에는 어떻게 해야 할까요?aws에서 비밀번호 설정 없이 배포할 수 없을까요?포트폴리오에 배포주소 올리려고 했는데 큰일이네요...
-
미해결AWS Certified Advanced Networking - Specialty 자격증 준비하기
수강 연장 부탁드리겠습니다
AWS Certified Solutions Architect - Associate 자격증 준비하기 을 먼저 듣다보니, Network는 이후에 들어야하는 상황 입니다.바쁘시겠지만 처리 부탁 드리겠습니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기한 연장 요청
안녕하세요 코드 바나나님,수강생입니다. 강의 기간을 조금 더 연장해주실 수 있나요?한 번 훑었지만 한 번 더 짚어가며 제대로 공부하고 싶습니다. 감사합니다.
-
미해결AWS Certified Advanced Networking - Specialty 자격증 준비하기
수강기간 연장 부탁 드립니다.
업무시작전에 강의를 듣고 싶었는데, 다른 업무로 인해 강의 신청 후 듣지를 못하고 있었네요.최근 업무 이관을 받을 예정이라, 수강 기간 연장 부탁 드립니다. 충실히 듣겠습니다!
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
대출 반납 오류
https://github.com/strongmhk/Springboot/blob/main/library-app/src/main/java/com/group/libraryapp/domain/user/User.java 처음에 B라는 유저가 클린코드를 대출했다가 반납했는데, 잘되었습니다.근데 다시 대출을 하고 반납을 누르면 반납이 완료됐다고 뜨는데,B라는 유저로 다시 대출을 하려니까 오류가 뜨네요.그래서 DB를 확인해보니 DB에는 B라는 유저가 처음 대출을 하고 반납을 한 후, 2번째로 대출 후 반납을 했을 때 is_return 필드가 갱신되지가 않습니다.제 생각엔 User 클래스 안의 returnBook 메서드에서 .findFirst() 메서드 때문인 것 같기도한데 findLast라는 메서드는 없네요. 해결책이 있을까요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요! 생성자와 필드의 타입에 관련하여 질문있습니다
위의 코드에서 jpa 때문에 protected로 기본 생성자를 만들어주어야 한다고 하셨는데, 이게 무슨 의미인가요??왜 id는 Long 타입인데, userId는 long타입인가요?왜 id = null;로 해준건가요? sql ddl문은 작성해주지않고 자바 class만 작성해준 후 jpa 어노테이션을 붙여주면 db에 자동으로 테이블 생성이 안되나요? 입문자인데 눈높이에 맞춰 잘 설명해주시는 덕분에 재밌게 배우고 있습니다😄
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 요청드립니다.
회사 업무와 병행 하다 보니 기간이 부족한 것 같습니다.기간 연장 부탁 드리겠습니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강에서 막혀서 문의드립니다
13강에서 이러한 오류가 떠서 해결해보려고 이것저것 시도해봤는데 영 안되서 문의드립니다 ㅠ해결방법에 대해 도움주시면 감사하겠습니다