inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

포폴 데이터모델링, jpa설계하다가 질문 !!

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요?? 김영한님 JPA강의 덕에 포폴 순항하고 있습니다. 항상 좋은 강의 감사한 마음을 가지고 있습니다. 파이팅하세요 !! 궁금한점을.... 간단하게 설명하려고 노력하겠습니다 !! 예를들어서 블로그 포스팅 domain을 아래와 같이 만들었습니다... id: ~~~~ content: ~~~~ tags: ~~~ (일대다 관계) comments: ~~~(일대다 관계) 그런데 !!! 여기서 궁금한점 !! 제 생각으로는... 아 그냥 편하게 포스팅한번에 끌고와서(tags, comments) 응답해주고 싶은뎅... 그런데 영한님께서는 이 강의에서 일대다 관계를 두번이상하면 안된다고 하셔서...ㄷㄷ;;;; 그래서, 오랜 고민끝에 포스팅 (id,content,tags)를 응답해주고 comments는 다대일 방법으로 응답을 해줬거든요??.... (이게 옳은방법일까...ㄷㄷ;;) 그러니까 요청을 두번 보내는거에요.. 포스팅 한번... 포스팅에 연관관계있는 comments 한번.. 저의 이러한 판단과 설계과 괜찮은 걸까요?? 질문드리고 싶습니다 !! (잘 이해하셨을라나...ㄷㄷ;ㅠㅠ)

  • jpa
  • spring-boot
  • 데이터모델링
  • 일대다
  • spring
  • JPA
  • java
댓글 1 좋아요 1 조회수 377

userinfo 요청 시 403에러

미해결

스프링 시큐리티 OAuth2

http://localhost:8080/realms/oauth2/protocol/openid-connect/userinfo 포스트맨 요청 시 403 에러가 납니다 버전은 20.0.1입니다

  • spring-boot
  • oauth
  • spring
  • java
kim미소 파파 댓글 3 좋아요 1 조회수 1117

아이템 32. 핵심 정리 12:00 이 부분에서 질문이 있습니다.

미해결

이펙티브 자바 완벽 공략 2부

String[] attributes = pickTwo("좋은", "빠른", "저렴한"); 제가 자바 기초가 약해서 이해를 못하는걸까요? .. bytecode로 확인하면 pickTwo 메소드를 반환하게 된다면 Object(추상적) 형식으로 반환 해서 String(구체적) 형식으로 변환(타입 케스트) 해서 문제(ClasscastException)가 발생된다고 해주셨는데요 그러니깐 구체적 -> 추상적 으로 변환 문제없음 추상적 -> 구체적 으로 변환 문제 있음 결론은 이것인데 Object obj = new Object(); obj = "test"; // 추상적인 Object 에 담음 String string = (String) obj; // 구체적인 String 에 담음 해당 원인이라면 해당 소스는 에러가 발생해야 되는것이 아닌가요?.... 자바 기초가 약해서 그런지 조금 이해가 안되는 부분이 있어서 질문 드립니다.

  • java
리나 댓글 1 좋아요 1 조회수 511

DiaryItem에 key={it.id}전달 이유

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요, 강의를 수강하다 궁금한 점이 있어 여쭤보려합니다. React에서 배열 사용하기 1 - 리스트 렌더링(조회) 강의 16분 35초 쯤 DiaryItem에 key={it.id}값을 전달하고 뒤에 {...it}을 전달하는 코드를 작성하게 되는데 {...it}을 전달하게 되면 it 내부에 있는 id도 같이 전달되게 되는데 굳이 key값에 it.id를 중복해서 전달하는 이유가 궁금합니다. 그래서 key={it.id}를 지워보았는데 코드는 동일하게 동작하였습니다. 이유가 무엇인가요?

  • nodejs
  • javascript
  • react
박태완 댓글 1 좋아요 1 조회수 391

uuid 에러

해결됨

풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기

안녕하세요. 수업을 듣던중에 같은 방법으로 uuid 라이브러리를 다운받고 실행을 하고있는데 이런 에러가 발생을 하고 있는데 혹시 어떤 부분이 문제인지 알수있을까요..? @types/uuid 로 삭제 설치 다시 해보고 진행해도 계속 같은 에러가 발생합니다 ㅠ <package.json> "dependencies": { "@types/uuid": "^8.3.4", "graphql-request": "^5.0.0", "graphql-tag": "^2.12.6", "react": "^18.2.0", "react-dom": "^18.2.0", "react-query": "^3.39.2", "react-router-dom": "^6.4.3", "sass": "^1.56.1" }, <handlers.ts> import { v4 as uuid } from "uuid"; const mock_products = Array.from({ length: 20 }).map((_, i) => ({ id: uuid(), imageUrl: `https://placeimg.com/200/150/${i + 1}`, price: 50000, title: `임시상품${i + 1}`, description: `임시상세내용${i + 1}`, createAt: new Date(1668159460287 + i * 1000 * 60 * 60 * 10).toString(), })); <에러 내용> [plugin:vite:import-analysis] Failed to resolve import "uuid" from "src\mocks\handlers.ts". Does the file exist? C:/Users/home/Desktop/배포/shop/shopping/src/mocks/handlers.ts:3:27 1 | import { graphql } from "msw"; 2 | import GET_PRODUCTS from "../graphql/products"; 3 | import { v4 as uuid } from "uuid"; | ^ 4 | const mock_products = Array.from({ length: 20 }).map((_, i) => ({ 5 | id: uuid(), at formatError (file:///C:/Users/home/Desktop/%EB%B0%B0%ED%8F%AC/shop/shopping/node_modules/vite/dist/node/chunks/dep-51c4f80a.js:39971:46) at TransformContext.error (file:///C:/Users/home/Desktop/%EB%B0%B0%ED%8F%AC/shop/shopping/node_modules/vite/dist/node/chunks/dep-51c4f80a.js:39967:19) at normalizeUrl (file:///C:/Users/home/Desktop/%EB%B0%B0%ED%8F%AC/shop/shopping/node_modules/vite/dist/node/chunks/dep-51c4f80a.js:36835:33) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async TransformContext.transform (file:///C:/Users/home/Desktop/%EB%B0%B0%ED%8F%AC/shop/shopping/node_modules/vite/dist/node/chunks/dep-51c4f80a.js:36968:47) at async Object.transform (file:///C:/Users/home/Desktop/%EB%B0%B0%ED%8F%AC/shop/shopping/node_modules/vite/dist/node/chunks/dep-51c4f80a.js:40224:30) at async loadAndTransform (file:///C:/Users/home/Desktop/%EB%B0%B0%ED%8F%AC/shop/shopping/node_modules/vite/dis

  • firebase
  • graphql
  • react
어벙리벙 댓글 1 좋아요 0 조회수 974

jpql flush 자동 호출

미해결

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

jpql flush 자동 호출되는 것이 커밋까지 된다는 말씀이실까요? jpql 로 db 에서 데이터를 조회하려면 db 에 반영이 되어야할 것 같아서입니다.

  • JPA
  • java
Jerry 댓글 1 좋아요 0 조회수 506

index.tsx에서 ProductItem부분에서 해당 반환 형식이 유효하지 않다고 할 때

해결됨

풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기

index.tsx에서 ProductItem부분에서 해당 반환 형식이 유효하지 않다고 하면서 화면에 Display되지 않을때 어디를 확인하면 되는지 조언 부탁드립니다~ 데이터는 BASE_URL로 부터 잘 오고 있습니다 mac에서 vsc사용하고 있습니다 아래는 해당부분입니다 import { useQuery } from "react-query" import ProductItem from "../../components/product/item" import { fetcher, QueryKeys } from "../../queryClient" import {Product} from "../../types" const ProductList = () => { const {data} = useQuery<Product[]>(QueryKeys.PRODUCTS, () => fetcher({ method: 'GET', path: '/products' }), ) /* id: 1 title: "Fjallraven - Foldsack No. 1 Backpack, Fits 15 Laptops" price: 109.95 description: "Your perfect pack for everyday use and walks in the forest. Stash your laptop (up to 15 inches) in the padded sleeve, your everyday" category: "men's clothing" image: "https://fakestoreapi.com/img/81fPKd-2AYL._AC_SL1500_.jpg" ▶ rating 2 items rate: 3.9 count: 120 */ return ( <div> <ul> {data?.map(product => ( <ProductItem {...product} key={product.id} /> ))} </ul> </div> ) //return (<div>상품목록</div>) } export default ProductList components/product/item.tsx 파일입니다

  • graphql
  • firebase
  • react
givita_dev 댓글 2 좋아요 0 조회수 490

profile email 권한페이지가 나오지 않습니다.

미해결

스프링 시큐리티 OAuth2

authorization_code 를 얻어오는 요청 보냄 login 페이지가 떠서 로그인함 email ,profile 등 이걸 허락하겠는가? (저는 이게 안뜹니다.) 8081이 안떠있으니 에러페이지 code를 복붙해서 access token 요청 -> accestoken 잘받아옴 해당 access token 으로 userinfo 요청시 403 forbidden 놓친 설정이 있나 확인을 여러번 하였는데 첫번째 강의에서는 Clients 설정에서 Authentication flow 에 implicit flow를 체크하셨는데 2번째 강의에는 해제 되어있길레 해제 해봤지만 결과는 동일합니다. 무엇이 문제인지 알 수 있을까요..? jwt.io에서 토큰 정보를 확인했을떄 다음과 같습니다. 제가 안되길레 여러 RoleMapping을 추가해본것입니다. { "exp": 1668576888, "iat": 1668576588, "auth_time": 1668576573, "jti": "6775c84b-9f26-4d8c-ab58-a09c136eb782", "iss": "http://localhost:8080/realms/oauth2", "aud": [ "realm-management", "account" ], "sub": "f35e128a-f3a9-48df-a784-5675ade34468", "typ": "Bearer", "azp": "oauth2-client-app", "session_state": "4b46d62b-0dbe-41ba-9901-a2465eed5f41", "acr": "1", "realm_access": { "roles": [ "offline_access", "uma_authorization", "default-roles-oauth2" ] }, "resource_access": { "realm-management": { "roles": [ "manage-users", "view-users", "query-groups", "query-users" ] }, "account": { "roles": [ "manage-account", "manage-account-links", "view-profile" ] } }, "scope": "profile email", "sid": "4b46d62b-0dbe-41ba-9901-a2465eed5f41", "email_verified": false, "name": "kakarot lim", "preferred_username": "user", "given_name": "kakarot", "family_name": "lim", "email": "user@keycloak.com" } 구글링 해서 알아본 결과 authorization_code를 요청할때 헤더에 scope=openid 로 하니 잘되었습니다. 이건 버전 차이라고 보면 될까요? 저는 도커로 20 버전을 사용하였습니다.

  • java
  • spring
  • spring-boot
  • oauth
dohyun_lim 댓글 1 좋아요 1 조회수 867

WebSecurityConfigurerAdapter 클래스 사용 불가

미해결

스프링 시큐리티

2~3강의중 WebSecurityConfigurerAdapter 클래스를가 사용하는 버전이 업데이트 되면서 더이상 사용할 수 없는데 혹시 다른 클래스를 상속받아 설정하여 사용하는 방법 알려주실 수 있나요?

  • java
  • spring-boot
  • Spring Security
bomifja 댓글 1 좋아요 0 조회수 936

V4 에서 DTO로 조회시 즉시 로딩이 되는 건가요?

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] V4 에서는 fetch join을 사용하지 않으셨는데 조회 쿼리는 한번만 나가는 것을 확인했습니다. dto로 조회를 하면 Lazy로딩으로 세팅해도 즉시 로딩으로 나간다고 이해하면 될까요?

  • spring-boot
  • JPA
  • java
  • spring
김가가가 댓글 1 좋아요 2 조회수 604

AuthenticationManager

해결됨

스프링 시큐리티

public class SecurityConfig extends WebSecurityConfigurerAdapter { ... @Override public AuthenticationManager authenticationManagerBean() throws Exception { return super.authenticationManagerBean(); } @Bean public FilterSecurityInterceptor customFilterSecurityInterceptor() throws Exception { FilterSecurityInterceptor filterSecurityInterceptor = new FilterSecurityInterceptor(); ... filterSecurityInterceptor.setAuthenticationManager(authenticationManagerBean()); return filterSecurityInterceptor; } } 위 방식으로 AuthenticationManager 를 받아 와서 사용하셨는데, authenticationManagerBean() 는 단순히 AuthenticationManager 빈을 반환한다고 이해하면 되나요? WebSecurityConfigurerAdapter 를 사용할 수 없는 5.7 이후 버전에 맞추어 구현한 아래 authenticationManager(HttpSecurity http) 를 사용해도 문제 없을까요? public class SecurityConfig { @Bean public AuthenticationManager authenticationManager(HttpSecurity http) throws Exception { AuthenticationManagerBuilder authenticationManagerBuilder = http.getSharedObject(AuthenticationManagerBuilder.class); authenticationManagerBuilder.authenticationProvider(authenticationProvider); return authenticationManagerBuilder.build(); } @Bean public FilterSecurityInterceptor customFilterSecurityInterceptor(HttpSecurity http) throws Exception { FilterSecurityInterceptor filterSecurityInterceptor = new FilterSecurityInterceptor(); ... filterSecurityInterceptor.setAuthenticationManager(authenticationManager(http)); return filterSecurityInterceptor; } }

  • Spring Security
  • java
  • spring-boot
감채 댓글 1 좋아요 1 조회수 574

npm start 이후 크롬창에 아무것도 뜨지않음

미해결

처음 만난 리액트(React)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 사진 첨부 순서대로 index.js, Comment.jsx, CommentList.jsx, npm start시 출력되는 크롬 화면입니다. 이전 시계 실습에서도 동일하게 빈 화면이 출력 됐는데 타 수강생님이 올려주신 코드를 적용하니 해결이 됐어서 다음 챕터를 진행하였습니다. 그런데 동일하게 빈화면이 출력되어 어떤 부분에서 문제가 있는지 도저히 찾을 수 없어서 질문드립니다.

  • javascript
  • HTML/CSS
  • react
alsdl413211 댓글 2 좋아요 2 조회수 2098

프록시 객체에 대해 질문이 잇습니다.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 프록시 강의를 보고 궁금한게 생겨 질문드립니다. 먼저 member객체를 생성하고 member.setUserName("hello");로 이름을 설정하고 persist(member); 하시고 바로 flush를 하셨습니다. 이후에 em.getReference(Member.class, member.getId());를 하시고 getId와 getUserName을 하실때 getId는 이미 getReference를 할때 getId(이미 있는 값이라 하셨습니다)를 사용해서 db에서 조회할 일이 없었다 라고 하셨고 getUserName은 db에서 조회해야한다 라고 하셨었는데 처음에 member객체에서 setUserName으로 값을 넣어주었고 id도 generatedValue로 값이 자동으로 설정되어서 2개의 값이 flush하기 전에 세팅이 되었는데 왜 id는 조회할때 이미 있는값이라 select문이 안나가고 userName은 값이 없어 select문이 나간건지 궁금합니다(설명을 잘 못해서 죄송합니다 ㅜ... 이해가 잘 안간탓에... 답변 해주시면 감사하겠습니다)

  • java
  • JPA
김진현 댓글 1 좋아요 0 조회수 347

BooleanExpression 모든 조건이 null 일 때

미해결

실전! Querydsl

이 경우 where절이 빠짐에 따라 테이블의 모든 데이터가 나오는 건 이해했습니다. 테이블 데이터가 많을 경우 select를 많이 하느라 장애가 난다까진 알겠는데, 그렇다면 이걸 해결할 수 있는 게 페이징뿐인가요? 어떠한 사정이나 목적 때문에 페이징 적용이 되지 않은 쿼리의 경우, 이걸 방지하기 위한 방법이 있는지 궁금합니다.

  • JPA
  • java
박민호 댓글 1 좋아요 0 조회수 597

컬렉션타입이라는게...정확히 뭔가요?

미해결

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

컬렉션타입이 었었다 라고 하시는데 혹시 컬렉션타입이라는게 @Embeded 와 관련되어 Address 이런 클래스를 일컫는말인가요?

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

q class 생성 이유

미해결

실전! Querydsl

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

  • JPA
  • java
grayman1234 댓글 1 좋아요 1 조회수 976

Quarydsl 로 no-offset 페이지네이션이 구현가능할까요?

해결됨

실전! Querydsl

[질문 내용] 여기에 질문 내용을 남겨주세요. 김영한님 로드맵중 실전로드맵 패키지 듣고있는데, restapi설계중에 무한스크롤을 구현해야하는 시점에 강의 내용에 Quarydsl로 페이지네이션 강의가 나와서 여쭤봅니다 no-offset 방식으로 페이지네이션이 구현 가능할까요 ? 가능하다면 어떤식으로 구현해야할까요..

  • JPA
  • java
S-J L 댓글 1 좋아요 0 조회수 1481

이미지 프리로딩 질문

해결됨

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

강의에서 이미지url을 프리로딩하는것을 알려주셨는데 혹시 이미 리액트 폴더안에 에셋으로 넣어놓은 이미지 파일이나 폰트를 모달 띄우기 전에 미리 프리로딩 하는 방법을 알 수 있을까요?

  • devtools
  • react
qutuzm 댓글 1 좋아요 1 조회수 403

회원 수정 API만들떄 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 수업중에 수정관련 API는 변경 감지를 통한 변경이라고 설명을 해주셨고 Entity는 getter외 나머지는 잘 쓰지 않는다는 말씀을 해주셨습니다. 수업중에는 setter를 통한 변경을 하였는데 실무에서는 어떤 방식으로 하는지 궁금해서 질문 올립니다.

  • java
  • spring
  • JPA
  • spring-boot
wjdghks6086 댓글 1 좋아요 1 조회수 295

ItemServiceTest 아이템 수정 테스트코드

미해결

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

@Test public void 아이템_수정() throws Exception { // 아이템을 등록하고 수정하고 조회한대로 되었는지 equal 테스트 // given Item book = new Book(); book.setName("책책"); itemService.saveItem(book); // when Item updateBook = itemService.updateItem(book.getId(), "책1", 1000, 10); Item findOne = itemService.findOne(book.getId()); // then Assertions.assertThat(findOne.getName()).isEqualTo(updateBook.getName()); } 아이템 수정 Test 코드를 작성해보았는데 이렇게 작성하는게 맞을까요?

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

인기 태그

인프런 TOP Writers

주간 인기글