묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨코드로 배우는 React with 스프링부트 API서버
config 패키지 내 파일 문의
이전 학습인 섹션2 Rest 방식 컨트롤러 만들기 (2)까지만 해도 RootConfig 파일이 없었는데 지금 수업 Rest컨트롤러 - 수정/삭제, CORS 에는 해당 class 파일이 추가 되어 있더라구요.그런데 querydsl 검색처리 에서 제공해주신 압축 파일에 해당 RootConfig 파일이 존재 하는데 해당 파일을 추가 해야하는지 없어도 괜찮은지 궁금해서 문의 드려요.
-
미해결코드로 배우는 React with 스프링부트 API서버
인텔리제이 tailwindcss
안녕하세요. 저는 인텔리제이에서 vite로 리액트를 설치하고, 스프링 부트 프로젝트와 연동을 시켜놓은 상태로 강사님 강의를 따라가고 있는데요. 강의 따라서 tailwind 설치하고, 코드 추가해주고 App Component에서 스타일을 쓰려고 하니, 적용이 안되는데 어떻게 해결할 수 있을까요??
-
미해결코드로 배우는 React with 스프링부트 API서버
mariadb 다운로드 관련 질문입니다.
안녕하세요 강의 잘 듣고 있습니다.저는 version을 클릭해도 아무것도 뜨지 않습니다....도움 부탁드립니다.
-
해결됨코드로 배우는 React with 스프링부트 API서버
/api/member/login 404 에러 질문 드립니다.
시큐리티까지 강의를 듣고 혼자 실습 예제 만들어서 회원가입부터 진행하고 있습니다. 강의 따라서 진행할 때에는 잘 됐는데, 지금은 섹션6 시큐리티 부터 따라했는데 /api/member/login 으로 포스트맨이나 웹 브라우저로 접속하면 해당 경로를 찾을 수 없다는 404 에러가 발생하게 됐습니다. ㅠㅠ http.formLogin(config -> config.loginPage("/api/member/login"));강의 따라 진행할 때에도 /api/member/login 컨트롤러는 별도로 없었는데, 지금 왜 갑자기 에러가 발생하는지 궁금합니다 ㅜㅜ
-
미해결코드로 배우는 React with 스프링부트 API서버
csrf disable 의 대안책에 대해 질문드립니다.
스프링 시큐리티를 학습한 지 얼마 안되서 부족한 부분이 많아서 궁금한 점이 있어서 질문드립니다.csrf 를 disable 으로 설정하고 JWT 토큰을 활용하여 엑세스 토큰 유효 시간을 짧게(10분 이면 괜찮을까요..?)설정과 함께 리프레쉬 토큰(30일이면 괜찮을까요..?)을 발급하는 것으로 csrf 공격에 대비가 충분하다고 볼 수 있을까요?그리고 금융권처럼 보안을 강력하게 요구되지 않은 이용자 빈도가 낮은 개인 쇼핑몰 페이지 같은 실무 환경에서 csrf 에 대해 어떻게 대안을 세우는 것이 가장 적절하고 보편적인 방법이 될까요?
-
미해결코드로 배우는 React with 스프링부트 API서버
PathVariable이 제대로 인식되지 않는 문제
본 강의 REST컨트롤러 - 수정/삭제, CORS 설정 시청중에Putmapping, DeleteMapping 쪽에서 파라미터를 @PathVariable로 받는데, postMan에서 테스트 요청을 보냈을때 파라미터가 전달되지 않습니다. @PathVariable(name="tno") 처럼 name을 명시하니까 제대로 파라미터가 받아지던데요 원래는 name은 생략 가능한게 아닌가요??
-
미해결코드로 배우는 React with 스프링부트 API서버
Entity에 ElementCollection이 두 개 있는 경우
안녕하세요! 하나의 엔티티에 @ElementCollection 붙은 필드가 두 개 있는 경우를 시험해 보고 있습니다. @EntityGraph(attributePaths = {"a", "b"}) 이런 식으로 해서 테스트를 돌리면 org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags 과 같은 오류가 나는데 ElementCollection 두 개가 있는 경우는 하나의 쿼리로 모두 가져오는 방법은 없나요?
-
해결됨코드로 배우는 React with 스프링부트 API서버
JWT 페이로드 안에 데이터는 어느 것이 포함되어야 하는지 질문드립니다
JWT 페이로드 안에 비밀번호가 저장되어 있는데, 주로 JWT 를 사용한다고 가정하면 어느 데이터를 페이로드 안에 넣어야 하고, 넣지 말아야 할 데이터는 어떤 것들인지 알 수 있을까요?!
-
미해결코드로 배우는 React with 스프링부트 API서버
포스트맨에서 회원 권한이 출력되지 않습니다.ㅠㅠ
강의 내용와 다르게 포스트맨 수행 결과 권한이 함께 출력되지 않고 있습니다. 어느 부분이 문제인가요 ..? 콘솔창에서는 정상적으로 모두 출력된 것을 확인했습니다 ㅠㅠ 그래서 더 모르겠습니다..
-
해결됨코드로 배우는 React with 스프링부트 API서버
이동한 페이지 번호가 회색 색상으로 변하지 않습니다 ㅠ
데이터는 정상적으로 가져와지고 있습니다. 하지만 선택된 페이지 번호가 회색으로 변경이 안되고 있는데, 어느 부분이 문제인지 모르겠습니다...PageComponent.js 에서 선택된 페이지 번호에 회색을 부여하는 것으로 알고 있는데, 왜 안되는 걸까요..? 아래는 PageComponent.js 코드입니다. 강의 내용과 피피티와 코드가 동일합니다.import React from 'react'; function PageComponent({serverData, movePage}) { // serverData.prev, pageNumList, next return ( <div className="m-6 flex justify-center"> {serverData.prev ? <div className="m-2 p-2 w-16 text-center font-bold text-blue-400 " onClick={() => movePage({page: serverData.prevPage})}> Prev </div> : <></>} {serverData.pageNumList.map(pageNum => <div key={pageNum} className={`m-2 p-2 w-12 text-center rounded shadow-md text-white ${serverData.current === pageNum ? 'bg-gray-500' : 'bg-blue-400'}`} onClick={() => movePage({page: pageNum})}> {pageNum} </div> )} {serverData.next ? <div className="m-2 p-2 w-16 text-center font-bold text-blue-400" onClick={() => movePage({page: serverData.nextPage})}> Next </div> : <></>} </div> ); } export default PageComponent; 그리고 콘솔창에서 다음과 같은 경고창이 뜨는데 가장 좋은 해결 방법에 대해 알 수 있을까요?이 문제는 해결됐습니다! 제가 ListComponent.js 파일 안에서 div 태그 안의 key 속성에 todo.tno 를 큰따옴표로 묶은 오타였습니다.
-
해결됨코드로 배우는 React with 스프링부트 API서버
PageResponseDTO 생성자의 매개변수 변수명에 관련된 질문
안녕하세요.현재 섹션 4 서비스계층 - 상품 목록 처리 강의 7분 44초 진행중 문제가 생겨 질문 드려요.제 코드에서는 totalCount 를 사용하지 못하는데, 선생님 강의에서는 totalCount 로 사용 하셨더라구요. 기존의 섹션2 - 페이지처리를 위한 DTO설계 14분 56초 부분에서는 매개변수 명을 total 로 작성 해주셨는데 매개변수 명을 totalCount 로 작성하면 해결 되는건가요??
-
미해결처음 만난 리덕스(Redux)
counter 애플리케이션에서 toString 질문입니다
counter 애플리케이션의 코드 중 render함수에서store에서 getState를 사용해 state 값을 가져오는데 이 때 toString()을 해주는 이유가 궁금합니다. function render() { console.log(typeof store.getState()); valueElem.innerHTML = store.getState().toString(); }
-
미해결코드로 배우는 React with 스프링부트 API서버
QTodo Class Not found
2024-04-18T17:27:21.633+09:00 ERROR 19504 --- [apiserver] [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/zerock/apiserver/domain/QTodo] with root causejava.lang.ClassNotFoundException: org.zerock.apiserver.domain.QTodo at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[na:na]package org.zerock.apiserver.repository.search; import com.querydsl.jpa.JPQLQuery; import lombok.extern.log4j.Log4j2; import org.springframework.data.domain.*; import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport; import org.zerock.apiserver.domain.QTodo; import org.zerock.apiserver.domain.Todo; import org.zerock.apiserver.dto.PageRequestDTO; import java.util.List; @Log4j2 public class TodoSearchImpl extends QuerydslRepositorySupport implements TodoSearch { public TodoSearchImpl() { super(Todo.class); } @Override public Page<Todo> search1(PageRequestDTO pageRequestDTO) { log.info("search1........................"); QTodo todo = QTodo.todo; JPQLQuery<Todo> query = from(todo); query.where(todo.title.contains("")); Pageable pageable = PageRequest.of( pageRequestDTO.getPage() - 1, pageRequestDTO.getSize(), Sort.by("tno").descending()); this.getQuerydsl().applyPagination(pageable, query); List<Todo> list = query.fetch(); // 목록 데이터 long total = query.fetchCount(); return new PageImpl<>(list, pageable, total); } } 코드는 잘 따라 친거같은데 getList() 할때마다 QTodo 클래스를 못찾는다고 요류가 뜨네요.... 어떻게 해결할 수 있을까요?
-
미해결코드로 배우는 React with 스프링부트 API서버
섹션2 강의에 RootConfig와 ModelMapper과 관련된 내용은 없나요?
안녕하세요. 섹션2 RootConfig라는 클래스가 없다가 마지막 강의에서 보이던데 아무 언급이 없어서 질문 드립니다. 섹션2 pdf에는 RootConfig와 ModelMapper에 대해 언급되어 있던데 거기 있는 내용만 보고 넘어가면 되나요?
-
미해결코드로 배우는 React with 스프링부트 API서버
2장 router ch02_start폴더를 따로 만들고 시작해야 하는건가요?
2장 보는데 ch02_start 폴더를 하나 생성하고 시작하신건가요..???
-
해결됨코드로 배우는 React with 스프링부트 API서버
섹션7에 이름 없는 강의가 2개 있는데 오류인가요?
눌러봐도 강의 재생이 되진 않네요.
-
미해결코드로 배우는 React with 스프링부트 API서버
github 링크
화면 html 소스 같은 것들 때문에 github 주소는 없나요?
-
미해결코드로 배우는 React with 스프링부트 API서버
장바구니 컨트롤러 처리 @PreAuthorize 부분 오류
@PreAuthorize("(#itemDTO.email == authentication.name)") @PostMapping("/change") public List<CartItemListDTO> changeCart(@RequestBody(required = true) CartItemDTO itemDTO) { log.info("itemDTO : {}", itemDTO); if (itemDTO.getQuantity() <= 0) { return cartService.remove(itemDTO.getCino()); } return cartService.addOrModify(itemDTO); }위코드에서 #ItemDTo 값이 null 설정되는것같습니다.아무리 찿아봐도 원일을 알수없는데 확인좀 부탁드릴수 있을까요? 우선 오류로그는 아래와 같습니다.jakarta.servlet.ServletException: Request processing failed: java.lang.IllegalArgumentException: Failed to evaluate expression '(#itemDTO.email == authentication.name)' at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1022) ~[spring-webmvc-6.1.5.jar:6.1.5] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.5.jar:6.1.5] Caused by: java.lang.IllegalArgumentException: Failed to evaluate expression '(#itemDTO.email == authentication.name)' Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'email' cannot be found on null at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:224) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:111) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorValueRef.getValue(PropertyOrFieldReference.java:416) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:98) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.OpEQ.getValueInternal(OpEQ.java:42) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.OpEQ.getValueInternal(OpEQ.java:32) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:119) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:309) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:30) ~[spring-security-core-6.2.3.jar:6.2.3]
-
미해결코드로 배우는 React with 스프링부트 API서버
궁금한점 있습니다 !
안녕하세요 강사님 !!리액트 + 스프링부트 웹개발 강의이지만스터디용으로리액트 네이티브에서 해당 스프링부트 어플리케이션 API 를 활용해도 되는 부분인가요???
-
미해결코드로 배우는 React with 스프링부트 API서버
테일윈드css사용할때
어떤 클래스명이 어떤 css에 해당하는지를 일부내용들은 암기하고 사용하시는건지 궁금합니다! 그냥 사용하다보면 저절로 외워지는건가요?그리고 강의내용과는 별개로 현업에서 디자인같은 부분은 피그마를 많이 사용하는듯 하는데 피그마로 디자인한것을 코드로 변환하는 과정이 어떻게 이루어지나요?피그마 자체기능으로 html코드로 변환한다음에 이걸 잘 가공?해서 프론트코드로 만들어내는건지 아니면 그냥 피그마 이미지만 보고 클론코딩하는것처럼 코드를 작성하는건지 궁금합니다