묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시의 getter에 대해서
안녕하세요 강사님!!! 수업에 나온 내용은 아니었으나 강사님의 책 [자바 ORM 표준 JPA 프로그래밍]을 읽으며, 강사님의 강의를 복습 도중 조금 의아한 부분이 생겨서 질문 남깁니다. 강사님의 책 '294P'의 프록시와 식별자 파트를 보면 다음과 같이 강사님이 적어주셨습니다. "엔티티 접근 방식을 필드(@Access(AccessType.FIELD))로 설정하면 JPA는 getId()메소드가 id만 조회하는 메소드인지 다른 필드까지 활용해서 어떤 일을 하는 메소드인지 알지 못하므로 프록시 객체를 초기화한다." 저는 해당 설명을 보고, 직접 테스트하기 위해 코드를 작성했습니다. 그런데 필드 접근법으로 해도 프록시 객체가 초기화되지 않았습니다! 그래서 강사님이 책을 쓰셨던 버전보다 업그레이드가 됐나보다 하고 조금 더 실험을 해보았습니다. 제가 해본 실험은 이렇습니다. getId()메소드를 age필드를 반환하도록 만들었습니다. @Id @GeneratedValue private Long id; private Long age; public void getId(){return age;} 이렇게요. 그 후 Member의 age는 12로 설정한 후, 저장시킨 다음에 다음을 실행했습니다. em.getReference(Member.class, 1L);을 통해 가져온 프록시 객체를 가지고 다음을 순서대로 진행했습니다. getId(); getAge(); getId(); 그랬더니 결과가 조금 놀라웠습니다 1 ( select 쿼리발생) 12 12 다음과 같이 결과가 발생하였는데, JPA에서 내부적으로 프록시 객체를 생성할 때, getter에 대해서 getId면 id만 반환하도록 재정의시켜서 생성하는 것인가요? https://ttl-blog.tistory.com/136 이곳에 위의 실험에 대해 적어놨습니다! 글로만 이해가 안되신다면 한번 봐주시길 부탁드립니다..! 항상 강의 잘 보고 있습니다 감사합니다
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
권한은 언제 받아주시나요..?
하루안에 받아주신다고는 하시는데 어떤날은 4일정도 걸리시는 날도 있고 한데, 알람으로 받고 바로바로 권한주시는건 안되는건가요.. 바로바로 소스받아서 공부하고 싶은데 그게 잘 안되네요ㅠㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
컬럼조회 질문
강의 진행후 토이프로젝트 진행중에 질문이 있어 여쭤봅니다.제가 하고싶은 조회는- 로그인한 멤버가 (memberId 조인)- 소속한 팀의 (teamId 조인)- 모든 대화방(Room)과 각 대화방에 참여한 모든 멤버(Room_member)를 조회 하고싶습니다. public List<Room> findRoomsByTeamId(Long memberId, Long teamId) { return em.createQuery("select distinct r from Room r" + " join fetch r.team t" + " join fetch r.roomMembers rm" + " join fetch rm.member m" + " where t.id = :teamId" + " and m.id = :memberId" ,Room.class ) .setParameter("teamId", teamId) .setParameter("memberId", memberId) .getResultList();} 조인을 이렇게 실행했는데, 문제점이 memberId가 걸려있기 때문에, 대화방에 소속된 다른 멤버가 조회가 되지않습니다. (본인만 조회됨)memberId를 조인하지 않으면, 대화방에 소속된 멤버가 모두 나오지만 본인이 속하지 않은 대화방도 모두 조회 됩니다... 제가 생각하는 해결방안으로는 서브쿼리를 사용하는것인데,, JPA로도 가능한가요?아니면 다른 해결 방법이 있을까요? ㅁㄴㅁㄴㅇㅁㄴ
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
강의자료 요청드립니다
안녕하세요. 강의 너무 잘 듣고 있습니다. 좋은 강의를 찍어주셔서 감사합니다. 수강평 남겼는데 강의 자료 보내주실 수 있을까요. 아이디,이메일은 hyunwoo.tmax@gmail.com 입니다. 슬랙 단체방도 초대해주시면 너무 좋을 것 같습니다. 감사합니다!!!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
게시글 업로드 문제(401) But.. 로그인 되었음(cookie 보유 확인)
알려주신대로 npm start 통해 로그인 문제는 해결이 되었습니다. 로그인은 되어 있습니다 그런데 게시글 업로드 시 401 에러(로그인이 필요하다)가 생깁니다. <확인결과> network - post - Cookie 탭에 connenct.sid(Cookie) 보유 확인 Aplication/Cookies에 connect.sid 확인 ---------------------------------------------- 무엇이 문제인지 파악이 되지 않습니다 . 혹시나 문제는 없었지만 getServerSideProps 문제인건가요? /front/pages/index.js export const getServerSideProps = wrapper.getServerSideProps((store) => async ({ req }) => { const cookie = req ? req.headers.cookie : ''; // req가 있다면 cookie에 요청에 담겨진 cookie를 할당한다. axios.defaults.headers.Cookie = ''; // 요청이 들어올 때마다 초기화 시켜주는 것이다. 여기는 클라이언트 서버에서 실행되므로 이전 요청이 남아있을 수 있기 때문이다 if (req && cookie) { axios.defaults.headers.Cookie = cookie; // 서버일때랑 cookie를 써서 요청을 보낼 때만 headers에 cookie를 넣어준다 } store.dispatch({ type: LOAD_MY_INFO_REQUEST, // user }); store.dispatch({ type: LOAD_POSTS_REQUEST, // post }); store.dispatch(END); await store.sagaTask.toPromise(); // store/configureStore.js > store.sagaTask }); // 이 부분이 Home 보다 먼저 실행됨
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃헙 권한 요청드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 인프런 아이디 : zaar625인프런 이메일 : zaar625@naver.com깃헙 아이디 : zaar625깃헙 Username : zaar625 감사합니다.~재미있게 공부하며 듣고있어요.
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
1. Leetcode 595 문제
안녕하세요, 문제 풀이 첫번째 문제에서 해설과 똑같이 풀었는데 Accepted 나오고 제출 누르면 Wrong answer라고 나옵니다. 혹시 제 쿼리문에 잘못된 부분이 있을까요?
-
미해결비개발자를 위한 RPA 강의 (UiPath 입문편)
데이터스크래핑
안녕하세요. 지금 스튜디오 구성이 달라져서 데이터스크래핑이 디자인 탭에 없고 '테이블추출'이라는 것만 보입니다. 테이블추출로 강수정보 스크래핑을 어떻게 하면 될까요? -데이터추가를 누르고 네이버 날씨 강수탭의 '01시'를 선택하면 오늘부터 모레까지 전부 스크래핑이 되어버리는데 딱 내일 것만으로 제한하려면 어떻게 해야 하나요? (현재 네이버 날씨페이지도 동영상과 달라져서 강수정보가 이전,다음페이지까지 있습니다) -상호연결된 데이터 추출'이 안 보이는데 강수확률을 연결하려면 어떻게 해야하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@Controller 통합 과정에서 궁금한 것이 있습니다.
안녕하세요! 항상 좋은 답변 주셔서 감사합니다. @Controller 통합 과정에서 궁금한 것이 있어서 굴을 적었습니다! 아래 질문이 맞는지 하나하나 봐주시면 너무 감사하겠습니다! 1. @Controller를 붙인 클래스가 있다면, @Controller안에는 @Component가 있어서, @Component Scan을 통해서 @Controller 클래스가 자동으로 스프링 빈 컨테이너에 스프링 빈으로 등록되는게 맞을까요? 2. Controller 통합을 위해서 컨트롤러 1개에 여러개의 메서드에 각각 @RequestMapping을 통해서 여러 핸들러를 등록하는 것으로 알려주셨습니다. 이것이 정확히 의미하는 바가 어떤 것일지 알려주실 수 있을까요? 제가 추정하는 바는 다음과 같습니다. @Controller가 붙는 것은 실제로 1개 이기 때문에 그 컨트롤러 내에 몇 개의 RequestMapping이 붙어있건 상관없이 스프링 빈은 1개만 등록된다. 그리고 각 ReqeustMapping은 스프링 빈의 특정 메서드와 연결된다. HandlerMapping 보관소에 있는 것은 @Controller가 붙은 빈이 아닌, Static Method를 참조하는 방식과 유사하게 작성된다. 이렇게 이해하는 것이 맞을까요? 항상 좋은 답변 주셔서 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
연산자 오버로딩 ++ 질문입니다.
Iterator& operator++() { _ptr++; return *this; } Iterator operator++(int) { Iterator temp = *this; _ptr++; return temp; } 넘겨주는 부분이 이해가 안돼서 질문드립니다. 전위형의 경우 return *this를 반환하고 후위형의경우에 temp에다가 *this를 넣은후 temp를 반환하는데 결국 둘의 반환타입이 같은거 아닌가요??.. 근데 왜 전위형의경우에는 반환값이 Iterator의 참조값이고 후위형의 경우는 Iterator인가요?..
-
미해결코어 자바스크립트
메모리 셀 질문
안녕하세요 재남님. 강의 정말 잘 보고 있습니다. :) 메모리 셀 하나에 변수명과 실제 값이 저장되어 있는 메모리주소를 이름-값 형식으로 저장이 되는 것 같은데 하나의 메모리 셀 안에서 어떤 형태로 저장이 되길래 두 가지 데이터가 구분이 되는 것이며, 하나의 메모리 셀 안에서 2가지 정보가 들어갈 수 있는 것인가요? 심지어 참조형의 경우에는 확보된 메모리 주소의 범위가 통으로 들어가기도 하구요. 하나의 셀에는 하나의 데이터만 들어갈 수 있고, 그 형태는 기본형 데이터여야 하는거 아닌가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
설치하고 run ServletAppliaction을 진행하였는데 tomcat server가 실행되는 문구가 출력되지 않습니다 ㅜㅜ;;
[질문 내용]intellij를 실행하면 console창에 이렇게 출력됩니다... 다시 설치해도 똑같이 나옵니다.. 문제가 무엇일까요.... (FIle- > setting 에서 gradle은 intellij IDEA로 바꿨습니다.) [추가 내용] FIle - setting 에서 검색란에 gradle을 입력하고 build and run using 부분을 Gradle로 바꾸면 서버가 실행되는 모습이 나옵니다. 대신... 서버를 중지하면 에러문구가 출력됩니다... 다시 build and run using 부분을 intellij IDEA로 바꾸면 에러는 나오지 않지만 위와 같은 문제에 직면합니다.... ㅜㅜ; tomcat 서버가 실행은 되지만 계속해서 로딩되는 듯한 모습을 보여줍니다.. 서버 정지 버튼을 누른 상태
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
스크립트3.18.1이 없는데 어떻게 깔죠?
4강에서 atom깔고 settings눌러서 스크립트를 깔려고 하는데 스크립트 3.18.1 이 안보여요 다른 스크립트는 많은데....다른걸로 다운받아야 하나요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
4강질문
atom깔고 settings누르고 intall 눌러서 script라고 쳤는데 다운받으라고 한게 안보이네요. 어떻게 찾아야 될지도 모르겠고...
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Spring boot 1.x.x 버전 프로젝트 생성하시는법 아시는가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]안녕하세요 김영한님 혹시 Spring boot 1.x.x 버전으로 프로젝트 생성하시는 법 아시나요? jdk 1.7 사용하는 프로젝트를 받았는데 초반부터 쉽지않네요...
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
multer s3 질문
multer 말고 formidable도 있는데 multer를 쓰는 특별한 이유가 multer를 이용해 s3 하는게 편해서 그런건가요? 그리고 formidable을 이용해서도 s3 하는게 가능한가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 목록을 더 확장해서 해보는데 잘 안되네요.
https://github.com/yacamoz/springboard -현재 작성중인 코드- 일단 배운 범위내에서 게시판을 만들어 볼겸 해서 조금 확장하고 있는데, 테스트코드를 돌려보는데 원하는대로 작동을 안합니다. 자동으로 증가하는 번호는 memnum, 이름, 아이디, 비밀번호, 이메일을 추가한 새로운 DB를 mysql로 만들고 이를 적용하는데 테스트코드에서는 memberid에 분명히 'spring12'를 넣었지만 정작 saveId에는 memnum이 입력이 되고 memnum은 아무것도 입력이 안되는 현상이 계속 관측됩니다. 그래서 계속 테스트코드는 오류를 뱉어내고 있습니다. 테스트코드는 작동을 안하지만 DB에 모든 내용은 잘 입력되었습니다. 관련된 Service 탭이나 domain의 member도 확인해보았지만 도저히 해결이 안됩니다. 어떻게 해야하나요?
-
미해결윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정
12:25 질문 드립니다.
ctx.close() 메서드를 호출하면 IOC 컨테이너가 가지고 있는 모든 객체가 소멸된다고 하셨는데요. ctx.close() 이후에 t1의 값을 찍어보면 주소는 여전히 살아있습니다. 가비지컬렉션이 추가로 필요한건가요? TestBean1 의 생성자 TestBean1 의 init 메서드 t1 : kr.co.softcampus.beans.TestBean1@c0c2f8d TestBean1 의 destroy 메서드 t1 : kr.co.softcampus.beans.TestBean1@c0c2f8d
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
COALESCE
pdf에는 coalesce: 하나씩 조회해서 null이 아니면 반환 예제 코드에는 사용자 이름이 없으면 '이름없는 회원'을 반환이라고 되어있는데 즉 하나씩 조회해서 null이면 (username이 null이면)이름없는 회원을 반환한다는 의미 아닌가요? pdf의 설명이랑 다른거같아서 질문드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
동영상 재생이 안되는 구간이 있어요
값타입 section 실전예제6 값타입 매핑 동영상만 재생이 안되네요 확인 부탁 드립니다