inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

DTO 의 Entity 변경에 대한 위치에 대해서 문의드려요

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요 . 김영한 강사님 , 강좌 초반을 학습하다가 궁굼한 부분이 생겨서 문의드립니다. 강의에서 생성 메소드를 만들때 전달받은 DTO 를 Entity 로 변환하는 로직을 Controller에서 수행하였는데 , DTO -> Entity , Entity -> DTO 에 대한 책임을 Controller에 위임 하시는 편인가요 ? (저의 경우는 그 책임을 Service layer 에 두고 modelmapper 를 사용하고 있습니다.) @PostMapping ( "/api/v2/members" ) public CreateMemberResponse saveMemberV2 ( @RequestBody @Valid CreateMemberRequest request) { Member member = new Member() ; member.setName(request.getName()) ; Long id = memberService .join(member) ; return new CreateMemberResponse(id) ; }

  • spring
  • JPA
  • java
  • spring-boot
557 댓글 1 좋아요 0 조회수 2051

update 실무

미해결

실전! 스프링 데이터 JPA

안녕하세요 ㅎㅎ 실무적으로 궁금한게 하나 있어서 질문드립니다 update 쿼리는 실무에서도 100% 더티체캉으로 해결하나요 ??

  • spring
  • java
  • spring-boot
  • JPA
H K 댓글 1 좋아요 0 조회수 302

react router v6 에서 hoc 컴포넌트(Auth)에서 useNavigate() 를 사용할 수 없나요?

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

react router v6 에서 hoc 컴포넌트(Auth)에서 useNavigate() 를 사용할 수 없는지 궁금합니다. 강사님의 강의를 듣다가 react router v5 로 계속하려했으나 옛날방식이라 신경쓸게 너무 많아 v6 를 쓰고 있었습니다. hoc (Auth) 에서 강사님이 history.push 를 쓰셨는데 v6 에서는 useNavigate()를 쓰라고 합니다. 근데 useNavigate() 를 쓰니 Router 컴포넌트 안에서만 쓸 수 있다고 하더군요. 근데 App.js를 보시면 Router 안에 hoc(Auth)가 들어있지 않습니까? 그런데 왜 사용을 못하는지, 그렇다면 어떻게 해야하는지 궁금합니다. 마지막인데 속썩이네요;;

  • useNavigate()
  • react
  • nodejs
  • reactrouterdom
김동현 댓글 5 좋아요 6 조회수 1098

혹시 지금 준비하고 계시는 다른 강의가 있나요?

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

안녕하세요 ~ 덕분에 장고강의 재밌게 듣고있습니다. 밑에서 질문에 대한 답글중에 강의를 준비중에 있으시다고 하셨던것같은데 django의 다른강의를 준비중이신가요? 그렇다면 언제쯤 나오나요?

  • django
  • react
  • docker
  • python
YoonEo Choi 댓글 3 좋아요 0 조회수 327

entity vs form vs dto

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

entity vs form vs dto 1. 이들은 각각 어떤 특징이 있다고 생각하면 될까요? 2. 이셋을 큰 틀로 보자면 모델로 봐도 되나요?

  • spring-boot
  • spring
  • 웹앱
  • java
  • JPA
빠르면비행기 댓글 1 좋아요 1 조회수 537

thymeleaf 관련 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.

  • spring-boot
  • spring
  • MVC
  • java
댓글 1 좋아요 0 조회수 229

엔티티 VS 폼객체

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

강의내용 8:30 내용질문입니다. < API를 만들때는 엔티티를 외부에 반환하면 안된다 > 1. 필드가 그대로 노출됨 (ex.userpassword) 2. API 스펙이 변한다. (엔티티에 로직을 추가했는데 api스펙이 변한다) 솔직히 말씀드리면 전부 이해가 안됩니다..ㅠ 이전 강의에서 FORM에 입력되는 데이터를 Member 엔티티를 쓰는게 아니라 따로 만들어준 MemberForm을 쓰는이유는 이해했습니다. (Member객체 코드가 지저분해질수 있고, Valid 기능같은것을 사용하지못해서) 그것과 유사한 이유인것 같은데... 정확히 이해가 안되네요 사실 api라는 개념도 정확하게 잡히지 않습니다. 정리해서 질문 하겠습니다. 1. 저희가 강의에서 만들어준 api가 있나요??? (혹시 MemberController의 메서드들이 모두 api에 속하는건가요?) 2. 필드가 노출된다는게 무슨말인지 모르겠습니다. 예를들어 폼에 password입력칸이 있는데, 이게 어떻게 노출이 가능하다는 것인가요? 3. api의 스펙이 바뀐다는 부분이 이해가안됩니다. api스펙이 무엇을 뜻하며, 그게 바뀌면 무슨 문제가 생기나요?

  • java
  • spring-boot
  • JPA
  • 웹앱
  • spring
Ahrisan 댓글 1 좋아요 5 조회수 454

여러 인덱스 중 하나를 타게 할 수 없을까요?

미해결

실전! Querydsl

안녕하세요.^^ 강의 잘 듣고 열심히 공부 중입니다. jpa + querydsl 공부 도중에 궁금한 것이 하나 생겼습니다. querydsl 에서 여러 인덱스 중에 하나를 강제로 타도록 할 수는 없나요? native query로는 mysql 같은 경우 use index를 쓰면 되는데 querydsl 에는 어떻게 할 수 없을까 무식하게 갑자기 고민하고 고민하다가 혹시 방법이 있나 없나 궁금해서 질문 들여봅니다.

  • java
  • JPA
탱구리 댓글 1 좋아요 0 조회수 1054

예외테스트 중 저번강의에서 햇던 것과 차이

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

Exception을 테스트하는 부분에서 궁금한 점입니다. 해당 강의에서는 @Test(expected = IllegalStateException.class) 어노테이션과 fail()함수를 이용해서 테스트하셨는데, 이 강의보다 최신강의로 알고있는 spring 기본편에서 테스트하실때는 아래코드와 같이 하셨습니다. 두 테스트 차이가 있을까요? @Test public void 회원가입_중복() throws Exception { // given Member member1 = new Member(); member1.setName("인프런"); Member member2 = new Member(); member2.setName("인프런"); // when memberService.join(member1); // then IllegalStateException e = assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); }

  • spring
  • java
  • spring-boot
  • 웹앱
  • JPA
Ahrisan 댓글 1 좋아요 0 조회수 235

사용자 등록함

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요 사용자 등록함수중에 언급해주신 group_concat (이미 등록되어있는함수라고 말씀해주셨는데 찾을수가 없어서.. 여쭈어봅니다) 보시다시피 그냥 concat은 있는데 group_concat 이건 어디에 등록이 되어 있는건가요 ? 그리고 JPQL 스스로 함수를 정의할 수는 없습니다 라고 다른글에서 말씀해주셨는데 그러면 이렇게 따로 정의해서 만들 필요가 있나요?

  • JPA
  • java
기팝 댓글 1 좋아요 2 조회수 735

compileQuerydsl 오류

미해결

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강의를 처음 듣고 있는 학생입니다 강의 영상에서와 같이 프로젝트를 만든후 compileQueryDsl을 실행하니 Unable to load class 'com.mysema.codegen.model.Type'. 이 에러가 나오면서 컴파일이 되지 않습니다 도저히 답을 찾을 수가 없어서 질문남겨요

  • java
  • JPA
fe00045 댓글 6 좋아요 7 조회수 25247

service와 controller의 역할에 대한 질문이 있습니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] service와 controller의 역할에 대한 질문이 있습니다. 강의를 듣고 활용해던 도중 의문점이 생겼습니다. 한참 찾아봤는데 아직도 모르겠어서 질문드립니다. 저의 기존 코드에서는 어떤 컨트롤러의 post 요청에서 A,B,C 엔티티가 반드시 순서대로 생성된후 저장되어야 합니다. (참조관계 떄문에 그렇습니다) 기존에 저는 컨트롤러에서 A 엔티티 생성 -> AService.createA() 한 후 B, C도 동일한 과정을 거칩니다. 이러니까 컨트롤러가 서비스의 역할을 해버린다고 생각했습니다. 그래서 컨트롤러는 그냥 dto를 넘겨주고 서비스에서 위의 작업을 하려했습니다. 그랬더니 몇가지 문제가 생겼습니다. 1. service에서 repository만을 사용하면 코드 중복이 심함(create 할때 복잡한 중복검증 로직이 있는대, 그것까지 전부 다시 해야함) 2. service에서 service를 주입받아서 하자니 순환참조, 나말고 코드 이해도 낮은 다른사람이 손대면 실수할 가능성 높음 등등의 문제가 생김 그래서 그냥 원래대로 냅두려니 controller가 너무 크고 service가 하는게 그냥 repository로 요청 보내기인 경우가 대부분임 그래서 질문은 1. 적절한 방법이 뭘까요? 2. 복잡하고 큰 규모의 서버 코드를 보고싶은데 좋은 예시를 어디서 찾을수 있을까요? 3. 제가 해결방법으로 여러 service를 주입받아서 사용만하는 service를 만들어서 컨트롤러에 있던 코드를 거기로 옮겨서 컨트롤러에 비즈니스 로직이 생기는걸 없에고 순환참조, 코드 중복 등을 제거 해봤는데 이게 맞는건가요? 4. MSA와 상관있는 문제일까요?

  • service
  • 웹앱
  • controller
  • spring
  • mvc
  • spring
  • java
  • oop
  • spring-boot
  • JPA
kevin 댓글 5 좋아요 2 조회수 2623

연결에러 나시면 보세요.

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

6.0 이상부터는 useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false 내용이 기본 적용으로 위 내용을 주석처리나 지우고 실행 하시면 잘 연결 됩니다~

  • 에러
  • nodejs
  • react
다 랜코 댓글 10 좋아요 28 조회수 952

스토어에 들어있는 값 사용하기

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

안녕하세요! 저번 질문에서 강사님께서 라는 질문에 대하 라고 답변을 해주셨는데요! 그렇다면 다른 파일(예를 들어 RegisterPage.js 등 디스패치를 쓰는 곳들을 뜻합니다!) response.payload라고 쓰지 않고 loginSuccess, register,userData 등의 스토어에 저장된 값을 다른 파일에서 직접 사용하고 싶다면 어떻게 해야되나요? 강의에서도 스토어에 있는 값을꺼내쓰지않고 와 같이 직접 처리를 해주었는데, 특별한 이유가 있나요 ?? 감사합니다.

  • nodejs
  • react
hyewon981019 댓글 1 좋아요 0 조회수 287

버전 충돌 질문

해결됨

프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 2

위와 같은 에러는 어떻게 처리하면 될까요 ?

  • react
  • devtools
hm_stom 댓글 1 좋아요 1 조회수 411

JUnit5에서 prettyPrint() 적용하기

미해결

스프링 기반 REST API 개발

@ExtendWith ({ RestDocumentationExtension . class , SpringExtension . class }) @SpringBootTest class EventControllerTest { private MockMvc mockMvc ; @Autowired private ObjectMapper objectMapper ; @Autowired private WebApplicationContext context ; @Autowired private EventRepository eventRepository ; @BeforeEach void init ( RestDocumentationContextProvider restDocumentation) { this . mockMvc = MockMvcBuilders . webAppContextSetup ( this . context ) .addFilters( new CharacterEncodingFilter( "UTF-8" , true )) .apply( documentationConfiguration (restDocumentation) .operationPreprocessors() .withRequestDefaults( modifyUris ().host( "yoonjoy.me" ).removePort(), prettyPrint ()) .withResponseDefaults( modifyUris ().host( "yoonjoy.me" ).removePort(), prettyPrint ())) .alwaysDo( print ()) .build(); } 추가로 addFilters에 UTF-8 설정을 통해 responseBody에서 한글이 깨지는 것을 막고, modifyUris을 통해 호스트 url localhost을 원하는 문자로 바꿀 수 있습니다.

  • spring
  • rest-api
  • java
강낭콩 댓글 1 좋아요 3 조회수 733

save 질문드립니다.

미해결

실전! 스프링 데이터 JPA

jpa 커리큘럼 듣고있는 학생입니다. 첫 커리큘럼 강의 merge를 쓰지말라고 하셨는데(*1), 스프링 데이터 jpa의 save를 보면(SimpleJpaRepository구현체) merge를 사용하고 있습니다. 그러면 실무에서 스프링 데이터 jpa를 사용할 때 save기능을 사용하여야 하는것인지 사용하지 말아야 하는것인지 가이드 라인이 있을까요? *1.DB에서 데이터를 가지고 오기때문에 sql이 한번 나가는 문제, DB에서 가지고 온 데이터 수정할 때 일정 필드값이 누락될 경우 누락된 값은 변경감지와는 달리 없어지기 때문 등등의 문제로

  • JPA
  • java
  • spring-boot
  • spring
김민국 댓글 1 좋아요 0 조회수 356

리덕스랑 props

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

리덕스에서 관리되는 데이터는 props로 넘기는 대신 redux 접근해서 바로 가져와도 성능적인면에서 크게 상관없나요? 컴포넌트끼리 props 넘기는 과정이 귀찮고 나중에 코드볼때 어떤 데이터가 넘어가야되는지 확인해야되서 리덕스로 웬만한건 다 처리하려고하는데 상관없나요?

  • react
  • redux
  • next
  • react
  • redux
  • props
  • express
  • nodejs
  • Next.js
쵸잉 댓글 1 좋아요 1 조회수 277

반려동물 시장 진출 앱 기획 관련 스프링 개발자 모집

미해결

안녕하세요 현재 서로 믿을 수 있는 스타트업 멤버 구축 되었고 추가로 능력있고 참하신 개발자 팀원 두분 더 찾습니다. 관심있으신분 연락 부탁드립니다 1. 주제소개: 반려동물 서비스 중 현재 시장에 없는 서비스. 2. 현재 진행 단계: 시장분석 및 주제와 명확한 방향성까지 잡은 상태 3. 모집분야 및 주요업무: 앱 개발자-하이브리드 앱 (웹앱을 네이티브 형태로 감싼 형태) 유사사이트: https://www.pet-friends.co.kr/main/tab/2 4. 모집경력 및 필요스킬: 앱개발 관련하여 경력이 있거나, 최소 스프링을 자유롭게 다룰 수 있는 스킬 필요 vue.js 옵션 등 5. 참고기타사항: 기획/디자인/개발/마케팅 포지션 다 구성되어 있으나, 추가 개발자가 두분 정도 더 필요한 상황 6. 문의/연락: 010-4590-4917 배대근 카카오:antoniobae1 참고url:IT 웹 앱 마케팅 개발 창업모임 파랑새(Since 2021.10.02 : 네이버 카페 - http://naver.me/FIgA4x8x

  • spring
  • vue
  • js
  • java
Market+IT 댓글 0 좋아요 0 조회수 239

커스텀훅 작성할 때 axios 부분을 별도의 파일로 만들어서 호출 할 경우 type error 가 나타납니다.

미해결

실전 리액트 프로그래밍

안녕하세요. typescript 와 create-react-app 을 사용하여 공부중인데요. 커스텀 훅을 만들어서 비동기 API를 호출하여 테이블에 노출하는 기능을 구현하다가 도저히 답이 안나와서 질문드립니다. useState와 useEffect 를 사용하여 비동기 API를 set 하는 커스텀훅을 만들었고, axios 를 호출하는 별도의 파일을 만들어서 사용중인데 const [items , setItems] = useState <coronaApiProps[]>() ; const coronaItems = getCorona () ; useEffect (() => { setItems(coronaItems) ; } , []) ; 이렇게 사용하니 아래처럼 에러가 나타납니다. TS2345: Argument of type 'Promise<coronaApiProps[]>' is not assignable to parameter of type 'SetStateAction<coronaApiProps[] | undefined>'. Type 'Promise<coronaApiProps[]>' is not assignable to type '(prevState: coronaApiProps[] | undefined) => coronaApiProps[] | undefined'. Type 'Promise<coronaApiProps[]>' provides no match for the signature '(prevState: coronaApiProps[] | undefined): coronaApiProps[] | undefined'. coronaApiProps 는 제가 만든 인터페이스입니다. 해당 에러가 나타나서 useEffect 안에 const [items , setItems] = useState <coronaApiProps[]>() ; // axios 로 api 호출 const coronaItems = getCorona () ; useEffect (() => { coronaItems. then (response => { setItems(response) ; }) ; } , []) ; 이렇게 사용하니 커스텀훅을 두번 호출합니다. 그래서 axios 파일을 분리하지 않고 커스텀훅 안에 사용하면 커스텀훅을 한번만 사용합니다. api를 호출하는 axios 파일을 분리하고 사용할 수 없나요? 필요하면 github 추가해드릴 수 있습니다.

  • typescript
  • react
  • redux
  • react
  • axios
김준희 댓글 1 좋아요 0 조회수 524

인기 태그

인프런 TOP Writers

주간 인기글