묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 데이터 JPA
비식별자 연관관계 및 페치 조인관련 질문 있습니다!
안녕하세요 강사님! 현재 JPA (Spring Data JPA + Querydsl)로 시스템을 구성하고 있는 중에 비식별자 연관관계 조인 및 fetch 조인 관련 되어 질문이 있어서 글을 쓰게 되었습니다. 거두절미하고 질문 드려볼게요.- 비식별자 연관관계PK가 아닌 UK로 연관관계를 맺어야 할 경우 @JoinColumn의 referencedColumnName 를 통해서 조인은 가능한 것이 확인 되었습니다. 다만 이럴 경우 fetchType을 LAZY로 해도 EAGER 처럼 한번에 조회가 되더라고요!확인해 보니 하이버네이트 내부에서 Lazy 로딩 시에 외부 엔티티의 프록시 객체를 생성함에 있어 PK를 기준으로 관리를 진행하는데 PK에 대한 정보가 없기 때문에 프록시 객체 구성을 하기 위해 fetch를 무시하고 바로 EAGER로 조회 하는 것으로 알고 있습니다.위에 제가 이해한 내용이 맞는지... 그리고 혹시 실무에서 이런 경우가 발생 할 경우 어떻게 처리 하는지 궁금합니다!제 생각에는 해당 엔티티만 따로 SQL(JdbcTemplate)로 처리 해야할 것으로 생각 되는데, 혹시 다른 방안이 있나 궁금하네요!(참고로 현재 저희는 연관관계상에 UK를 모두 배제하고 PK를 하기로 결정하였습니다. )- fetch 조인 관련실무 관련 질문입니다. JPA 경우 LAZY 로딩을 통해서 원하는 시점에서 쿼리를 해 오는 것으로 이해를 했습니다. (프록시 및 영속성 컨텍스트)다만 SQL 기반으로 개발을 할 경우 어떤 기능 구현을 위해 쿼리를 할 경우 대부분 조인이 되어 있는 완성형 쿼리만을 사용하여 한번만 쿼리를 날리는데, JPA 경우 LAZY를 적극적으로 활용한다면 쿼리 횟수가 늘어날 것이고 이를 방지하기 위해 fetch 조인문이 많아질 거라고 생각이 듭니다.실제 JPA를 실무에서 진행할 경우 기능 구현 시 단일 테이블 조회 기능 외 대부분 fetch 조인 쿼리를 사용하는지 그 빈도가 궁금합니다.혹시 질문 내용이 너무 추상적이면 말씀해주세요! 다시 정리 하여 질문 드리겠습니다. 감사합니다!
-
미해결스프링 핵심 원리 - 기본편
컨테이너는 언제 사라지나요?
싱글톤 빈은 컨테이너가 사라질 때 같이 사라지는 것으로 알고 있고 프로토타입 빈은 컨테이너가 빈 소멸에 관여하지 않는 것으로 알고 있는데 그렇다면 컨테이너가 사라지는 경우는 언제인가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
보안에 관해.
안녕하세요. 파일을 올려버리니 인덱스 파일에 적혀있는 비번까지 같이 올라가는듯합니다. 파일올릴때 비공개로 설정하고 해야 하지 않을까요? 자신이 주로 사용하는 비번이 깃허브에 퍼블릭으로 올라가면 해킹의 위험이 있어보입니다.@추가내용 : 초기 작성 당시 6강만 보고 9강을 보지 않고 작성하여 말씀드립니다. 9강에서 인덱스 파일에 있는 개인정보를 빼고 올리는 것 확인 하였습니다. 초기에 올릴때 하기의 이유들로 인해 개인정보가 들어가 있는 파일은 빼고 올리는것이 맞지 않나 싶습니다. 해당 강의들을 천천히 학습하는 학습자가 있음.개인정보를 공공장소에 번듯이 올리는 것은 추후 수정하여시간차가 있긴 하나 보안상의 문제가 있음. 저 같은 경우에는 개인용으로 바꾸었다가 마음이 안내켜서 생성된 레파지토리를 강제 삭제 진행하였습니다만, 무료 강의이긴하나 보는 사람이 많아 파장력이 있는 만큼 해당 내용은 변경하시는게 좋을듯 하네요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
계속 틀렸습니다 가 뜨네요...
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님, 올려주신 코드를 보고 모든 조건을 다 맞춰봐도 왜 틀리는 건지 모르겠습니다..ㅠㅠㅠhttps://www.acmicpc.net/submit/4659/50741996
-
미해결프로젝트로 배우는 Vue.js 3
33강 pagination 에서 질문이 있습니다
안녕하세요.33강 pagination 2 듣는 중에 궁금한 점이 생겼는데요.6:50초 쯤에 class="page-item" 을 class="page-item active" 로 변경하니 전체 페이지 버튼이 파랗게 되는 것을 보여주셨었는데요.이걸 현재 페이지만 파랗게 보이게 하려고class="page-item":class="currentPage === page? : 'active' : '' "와 같이 지정해주신 걸 봤습니다.조건은 이해했는데, 조건이 충족되서 :class='active' 가 되면 class 가 "page-item active" 로 바뀐다는게 이해가 잘 안되서요.구글링을 해도 뭐라 검색해야할지 잘 모르겠어서 답이 안나오네요.동일한 이름으로 바인딩을 해주면 접미사로 자동으로 붙는 건가요??
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
PostMan 테스트 에러, Dio 테스트 에러
안녕하세요?현재 샘플을 따라 하고 있는데요..POSTMAN API 테스트를 하면 상당수 에러가 납니다. (ACCESS_DENY)아주 가끔(?) 성공하고요.. POSMAN에서도 한두번 성공 대부분 실패, 샘플 소스도 마찬가지입니다.API를 제공하는 서버의 문제일까요?아래는 안드로이드스튜디오상의 로그입니다.print(response.data);Performing hot restart...Syncing files to device iPhone 14...Restarted application in 245ms.flutter: <OpenAPI_ServiceResponse><cmmMsgHeader><errMsg>SERVICE ERROR</errMsg><returnAuthMsg>SERVICE_ACCESS_DENIED_ERROR</returnAuthMsg><returnReasonCode>20</returnReasonCode></cmmMsgHeader></OpenAPI_ServiceResponse>print(response.data['response']['body']);아래와 같은 현상이 계속 나옵니다.Syncing files to device iPhone 14...Restarted application in 269ms.[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: type 'String' is not a subtype of type 'int' of 'index'#0 HomeScreenState.fetchData (package:dustydust_2/screen/home_screen.dart:42:24)<asynchronous suspension>횟수로 인한 문제는 아니고, 첫 시도부터 자주 에러가 발생하는데, 이유를 알 수 있을까요?
-
미해결스프링부트 시큐리티 & JWT 강의
시큐리티 세션
서버에 memberA의 세션이 있고그 세션안에 security session영역이 있고그 안에 키는 security ContextHolder이고 값은 Authentication인데Authentication안에 UserDetails가 있는 것이 맞나요?Oauth를 사용하면 security session영역의 Authentication안에 userdetail이 들어가는게 아니라 토큰형식으로 관리되는건가요??
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
현재 kafka stable 버전이 3.3.1이라고 되어 있습니다.
현재 kafka stable 버전이 3.3.1이라고 되어 있습니다. 3.3.1 버전으로 해도 무방할까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코딩테스트 누락 문의
안녕하세요. 강의 매우 유익하게 잘 듣고 있습니다.문제 푸는 도중 하기 문제가 누락되 공유 합니다. 7강 : 8번밖에 없음8강 : 4번, 6번, 9번, 15번9강 : 5번, 8번누락인데 언제 개선 될까요?
-
해결됨비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
axios-script를 작성하고부터 계속 에러가 납니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.맥북에서 node.js 설치하는 명령어가 무엇인가요? vs code로요! (오류가 있어서 삭제했습니다 ㅜ)해당 부분 /* 1. 지도 생성 & 확대 축소 컨트롤러 https://apis.map.kakao.com/web/sample/addMapControl/ */ var container = document.getElementById("map"); //지도를 담을 영역의 DOM 레퍼런스 var options = { //지도를 생성할 때 필요한 기본 옵션 center: new kakao.maps.LatLng(37.54, 126.96), //지도의 중심좌표. 서울 한가운데 level: 8, //지도의 레벨(확대, 축소 정도) 3에서 8레벨로 확대 }; var map = new kakao.maps.Map(container, options); //지도 생성 및 객체 리턴 // 지도 확대 축소를 제어할 수 있는 줌 컨트롤을 생성합니다 var zoomControl = new kakao.maps.ZoomControl(); map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT); /* ********************************************************** 2. 더미데이터 준비하기 (제목, 주소, url, 카테고리) */ async function getDataSet(category) { let qs = category; if (!qs) { qs=""; } const dataSet = await axios({ method: "get", url: 'http://localhost:3000/mapInfo?category=${qs}', headers: {}, //pocket header data: {}, //pocket body }); console.log(dataSet); } getDataSet(); /*
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
Part3~6까지의 일정
Rookiss님은 바쁘신 와중에 매번 좋은 강의를 제공해주셔서 진심으로 감사드립니다.혹시 Part3~4는 언제즘 연재하는지 여쭙고 싶습니다...!!
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
쓰레드의 단점 중 궁금한 것이 있습니다.
자식 스레드 중 하나에 문제가 생긴경우 전체 프로세스에 영향을 줄 수 있다.라는 단점이 있는데 구체적으로 어떤 문제가 있을지 예시가 궁금합니다.현실에서 자주 일어날법한 예시로 부탁드립니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
파이프라인을 거쳐 experiment 실행 중인 pod 적용방법
안녕하세요 강사님,하나의 ML application program을 다양한 limitRange 모델을 적용해서 resource 설정에 따라 처리속도 등 어떻게 달라지는지를 비교하는 테스트를 아래 두가지 방법으로 하고자 합니다.파이썬 코드를 이미지 빌드 및 푸쉬하여 파이프라인 작업후 experiment 을 하고자 할 경우, limitRange가 설정된 pod에 올리는 방법 limitRange 적용되어 파이프라인을 거쳐 experiment running 중인 pod에 새로운 pod(단일, 복수의 pod)를 생성해서 그 pod들의 limitRange로 experiment 실행을 위한 방법을 알려 주시면 감사하겠습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
form 객체 변환시 변환할 필드들이 많을때
예제에서 ItemUpdateForm을 Item 객체로 변환하는 과정에선 변환해야 할 필드 수가 적지만변환할 필드들이 많아진다면 setter메서드 혹은 생성자를 사용하는 경우에 코드가 지저분해질것 같다는 생각이 들었습니다.이러한 경우그래도 setter메서드나 생성자를 사용 orBeanValidation 대신 Validator를 만들어서 사용 or그 밖의 다른 방법 이용하는지 궁금합니다
-
미해결지금 당장 데브옵스 AWS
VueJS 에서 (7) npm run serve 라고 치면 Error가 떠요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.터미널창에User@DESKTOP-RE18OV4 MINGW64 ~/Desktop/saju/saju-frontend-vuejs$ npm run serve> saju-frontend-vuejs@0.1.0 serve> vue-cli-service serve INFO Starting development server...98% after emitting CopyPlugin ERROR Failed to compile with 1 error 오전 12:13:47Syntax Error: TypeError: Cannot read properties of undefined (reading 'parseComponent')You may use special comments to disable some warnings.Use // eslint-disable-next-line to ignore the next line.Use /* eslint-disable */ to ignore all warnings in a file.계속 이렇게 떠서 그냥 넘어가서 다음 과정인 크롬에 http://localhost:8080/ 을 입력하면 Failed to compile../src/App.vue Module Error (from ./node_modules/vue-loader/lib/index.js): Vue packages version mismatch: - vue@2.7.10 (C:\Users\User\Desktop\saju\saju-frontend-vuejs\node_modules\vue\dist\vue.runtime.common.js) - vue-template-compiler@2.6.11 (C:\Users\User\Desktop\saju\saju-frontend-vuejs\node_modules\vue-template-compiler\package.json) This may cause things to work incorrectly. Make sure to use the same version for both. If you are using vue-loader@>=10.0, simply update vue-template-compiler. If you are using vue-loader@<10.0 or vueify, re-installing vue-loader/vueify should bump vue-template-compiler to the latest.이렇게 떠요ㅠㅠ 뭐가 문제인가요??
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Filter 람다식 관련 질문드립니다.
안녕하세요!Custim Filter 강의 중 아래 코드 부분에서 GatewayFilter의 생성자가 exchange와 chain이기 때문에 return (exchange, chain) -> { .. 이 되는 것 까지는 이해를 하였습니다.그런데 이 때 exchange와 chain 변수가 어디에서 정의되어서 여기서 사용되는 건지 잘 모르겠습니다 ㅠㅠ return (exchange, chain) -> {// GatewayFilter의 생성자 Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain);
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Port와 Host
안녕하세요. 강의 내용 중에 Port와 Host가 헷갈려서 질문을 드립니다. Port를 설명해서 같은 IP내에서 프로세스 구분이 가능하다라고 하셨는데 Host도 보면header Host에 도메인을 실음으로써 하나의 IP내에 존재하는 여러 개의 도메인들 중 해당하는 도메인에 찾아갈 수 있었습니다. 둘의 기능이 비슷해 port, host는 어떤 면에서 다른 건지 그 차이점이 궁금해서 질문 남깁니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. join부분입니다..주석으로 질문 적었어요! isEqualTo가 안뜹니다. //then org.junit.jupiter.api.Assertions //빨간줄 뜨고, 이렇게해서 Jupiter assertion을 넣어도 import가 추가되지 않아요.. Member findMember = memberService.findOne(saveId).get(); Assertions.assertThat(member.getName().is) //is 쳤을때 isempty, isblank만 나오고 isEqualTo가 없습니다ㅠㅠ
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 시간복잡도 관련 질문이 있습니다~!
섹션 5-3 연속부분수열1 에서 for문 안에 while문이 중첩되어있는데 어떻게 시간복잡도가 O(n) 인지 궁금합니다!
-
미해결지금 당장 데브옵스 AWS
최신 버전이 설치되어 있는데 workbench폴더만 삭제하고 8.0.2로 다운 받으면 되나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.workbench만 삭제하고 8.0.2로 다운받으면 될까요? 지금 다른 프로젝트도 진행중이라 삭제하고 다시 깔면 mysql이 오류날까봐 걱정돼요