묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
select m from Team t join t.members m -> 자동 fetch join되는 현상..??
안녕하세요. jpql을 다양하게 짜면서 나가는 sql이 어떻게 되는 지 학습하는 과정에서 질문이 생겨 글 남기게 됐습니다.List<Member> resultList = em.createQuery("select m from Team t join t.members m", Member.class) .getResultList(); for (Member member : resultList) { System.out.println("member.getTeam() = " + member.getTeam().getClass()); }위와 같이 jpql을 짜면 fetch join이 아니라 일반 join임에도 불구하고 조회한 member들에 대해서 member.getTeam().getName()을 해도 추가 쿼리가 나가지 않습니다. 위의 코드처럼 member.getTeam().getClass()를 통해 확인해보니 아래처럼 결과가 나와 member의 team이 프록시객체가 아니라 실제객체라는 것을 확인할 수 있었습니다.Hibernate: /* select m from Team t join t.members m */ select m1_0.id, m1_0.age, t1_0.id, t1_0.name, m1_0.username from Team t1_0 join Member m1_0 on t1_0.id=m1_0.TEAM_ID member.getTeam() = class jpql.Team member.getTeam() = class jpql.Team member.getTeam() = class jpql.TeamfetchType을 분명히 lazy로 했음에도 불구하고 위의 결과처럼 member만을 조회했는데도 불구하고 team까지 조회하는 sql이 나가는 이유가 무엇인가요?
-
미해결스프링 기반 REST API 개발
Spring 시큐리티 관련해서 WebSecurityConfigurationAdapter
WebSecurityConfigurationAdapter 상속 받아서 작업할려고 했으나 2.1.O 릴리즈 버전에서도 현재는 deprecated 된 상태인데 혹시 그 이후 어떻게 코드를 변경해야하는지 알수 있을까요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
값 타입과 상속의 차이?
값 타입과 이전에 강의를 들었던 상속과 굉장히 유사하다는 느낌이 드는데, 어떤 경우에 쓰는 것이 적절한지 조금 더 설명해주실 수 있나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
pdf 파일 수정 부탁드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요, 강의를 듣다가 pdf를 보던 중 "참고" 라고 적힌 부분에 '|' 이 부분이 글 씨를 침범 하는 사태가 있습니다.이 강의 다른 pdf 파일도 확인 해보니까 어떤 것은 괜찮고 어떤 것은 사진처럼 이렇게 되어있습니다.pdf파일을 보는 사람이 있다면 불편할 것 같네요. 추가1"회원 서비스 테스트" 강의 에서 영상에 회원 가입 테스트 에서는 Assertions.assetThat(findMember.getName()).isEqualTo(member.getName());이렇게 작성 되어 있는데, 오늘(25.6.12)pdf를 보니 pdf파일 코드 에는 assertEquals(member.getName(), findMember.getName()); 이렇게 되어 있더라고요.이렇게 하신 이유가 무엇인가요?
-
해결됨QGIS 입문자 올인원 스타터팩 (이론/실습형)
22강 질문 있습니다!
내보내기를 하여 저장할 때, 쉐이프파일이 아닌 엑셀파일로 저장할 경우, 인코딩을 수정할 수 없게 비활성화가 되어 있습니다.인코딩을 바꾸지 않은 채로 엑셀 파일을 열어보면 글자가 깨지는데, 어떻게 활성화를 할 수 있나요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 질문
강사님!작업형 2에서 결측치를 어느 값으로 채우면 좋을지 1에 가까운 것을 선택해서 사용하면 된다고 하셨는데 그걸 판단하는 코드는 어떻게 작성하는지 알 수 있을끼요?
-
해결됨QGIS 입문자 올인원 스타터팩 (이론/실습형)
중심점 생성 강의 질문 드립니다!
벡터 데이터 중심점 생성에서 각 부분별로 중심점 생성을 체크하는 경우와 안 하는 경우의 중심점이 다르게 나타나는데, 차이가 뭔지 궁금합니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
일원분산분석 내용 중 anova 테이블과 melt
안녕하세요.유사한 질문을 찾아보았으나 의문이 해결되지 않아 질문드립니다.anova 테이블을 만들기 전 적합한 데이터 형태를 만들기 위해 melt 함수를 사용하시더라구요.anova 테이블을 만들 때 필요한 특정한 데이터 형태가 있는건가요? 왜 melt함수를 적용해 주어야 하는지 아직 이해하지 못해서 질문드려요.답변 기다리겠습니다. 감사합니다.
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
앞으로의 공부 질문
안녕하세요!수업 완강하여 정말 잘 들었습니다.현재 저는 직무변경으로 차량 임베디드 SW 설계자로일을 하고 있는데, 관련하여 집중적으로 공부해야하는 부분이 따로 있을까요?원래 프로그래밍을 잘 해본적이 없어서 일단 이 강의부터 시작해보았습니다.
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
DBEAVER 연결이 되지 않습니다
DBEAVER 연결이 되지 않습니다.설명도 윈도우 환경에 맞춰 하라고 하셔서 했는데도 안돼요. 친절하게 설명해주시면 더 감사하겠습니다강의 내용도 중언부언....
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
체험환경 삽입모드
안녕하세요! 실기 체험환경에서 코드를 작성하는데 이전에 썼던 코드를 수정하려고 하니 삽입되지않고 덮어써져서 코드 수정하는데 어려움을 겪고있습니다! 혹시 덮어쓰기모드에서 삽입모드로 변경하려면 어떻게 해야되나요? 항상 감사합니다!
-
미해결
랜덤포레스트 모델만들때 max_depth 설정 여부...
수치형 데이터 민맥스스케일링을 했는데도 값이 0.8 이하로 나와서 max_depth를 설정하니 0.8이 그나마 넘거든요 이럴때는 설정을 하는게 좋을까요 아니면 그냥 베이스로 가는것이 나을까요 # #모델구축하기(1) # from sklearn.ensemble import RandomForestClassifier # model=RandomForestClassifier(random_state=100) # model.fit(X_tr,y_tr) # pred=model.predict_proba(X_val) # pred#0.7825077399380 #모델구축하기(1) from sklearn.ensemble import RandomForestClassifier model=RandomForestClassifier(random_state=100,max_depth=5) model.fit(X_tr,y_tr) pred=model.predict_proba(X_val) pred #0.8123839009287926)
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
onKeyDown event로 onSubmit 을 하는 이유에 대해 궁금해요
2.8) 페이지별 레이아웃 설정하기 안녕하세요 한입 nextjs 강의 잘 보고 있는데요!하나 궁금한 게 생겨서 질문 남겨요!20분쯤에 나오는 onKeyDown 으로 키보드 이벤트를 감지하여 처리하는 이유가 있을까요?해당 부분만 form 으로 감싸면 자동으로 enter 클릭시 감지해서 요청을 보내게 되는데 onKeyDown으로 함수를 빼서 input 이벤트를 핸들링 하는 이유는 무엇인가요!submit 직전 다른 데이터를 핸들링 할 때 form은 바로 submit이 일어나기 때문에 그런 부분에 있어서 확장성? 을 위한건가용?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
강의대로 따라갔는데 에러보다 api키로 들어간 넷플릭스? 그런게 렌더링 되지 않습니다 ㅠ
강의대로 따라갔는데 강의처럼 렌더링이 되고 있지 않습니다 ㅠㅠ 어디가 문제일까요chatgpt는 서버가 없다 뭐 이렇다는데 ㅠㅠ 출력 화면 Nav.jsimport React, { useEffect, useState } from 'react' import"./Nav.css" export default function Nav() { const [show, setShow] = useState(false); useEffect(() => { window.addEventListener("scroll", ()=> { console.log('window.scrollY', window.scrollY); if(window.scrollY > 50) { setShow(true); } else { setShow(false); } }) return () => { window.removeEventListener("scroll", ()=> {}); }; }, []); return ( <nav className={`nav ${show && "nav__black"}`}> <img alt = 'Netflix logo' src = "https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/Netflix_2015_logo.svg/960px-Netflix_2015_logo.svg.png" decoding="async" width="799" height="216" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/08/Netflix_2015_logo.svg/1198px-Netflix_2015_logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/08/Netflix_2015_logo.svg/1597px-Netflix_2015_logo.svg.png" className='nav__logo' onClick={() => window.location.reload()} /> <img alt = "User logged" src = "https://occ-0-3077-988.1.nflxso.net/dnm/api/v6/vN7bi_My87NPKvsBoib006Llxzg/AAAABTZ2zlLdBVC05fsd2YQAR43J6vB1NAUBOOrxt7oaFATxMhtdzlNZ846H3D8TZzooe2-FT853YVYs8p001KVFYopWi4D4NXM.png?r=229" className="nav__avatar" /> </nav> ); } Nav.css.nav{ position: fixed; top: 0; width: 100%; height: 30px; z-index: 1; padding: 20px; display: flex; justify-content: space-between; align-items: center; transition-timing-function: ease-in; transition: all 0.5s; } .nav__black { background-color: #111; } .nav__logo{ position: fixed; left: 40px; width: 80px; object-fit: contain; } .nav__avatar { position: fixed; right: 40px; width: 30px; object-fit: contain; }Banner.jsimport axios from "../api/axios"; import React, { useEffect, useState } from 'react' import requests from '../api/requests'; import "./Banner.css" export default function Banner() { const [movie, setMovie] = useState([]); useEffect(() => { fetchData(); }, []); const fetchData = async() => { //현재 상영중인 영화 정보를 가져오기 (여러 영화) const request = await axios.get(requests.fetchNowPlaying); //여러 영화 중 영화 하나의 ID를 가져오기 const movieId = request.data.results[ Math.floor(Math.random() * request.data.results.length) ].id; //특정 영화의 더 상세한 정보를 가져오기 (비디오 정보도 포함) const {data: movieDetail} = await axios.get(`movie/${movieId}`, { params: {append_to_reponse: "videos"} }); setMovie(movieDetail); } const truncate = (str, n) => { return str?. length > n ? str.substr(0, n - 1) + "..." : str; } return ( <header className="banner" style={{ backgroundImage: `url("https://image.tmdb.org/t/p/original/${movie.backdrop_path}")`, backgroundPosition: "top center", backgroundSize: "cover" }}> <div className="banner__contents"> <h1 className="banner__title"> {movie.title || movie.name || movie.original_name} </h1> <div className="banner__buttons"> <button className="banner__button play">Play</button> <button className="banner__button info">More Information</button> </div> <h1 className="banner_description"> {truncate(movie.overview, 100)} </h1> </div> <div className="banner--fadeBottom"></div> </header> ) } Banner.css.banner{ color: white; object-fit: contain; height: 448px; } @media (min-width : 1500px) { .banner{ position: relative; height: 600px; } .banner--fadeBottom{ position: absolute; bottom: 0; width: 100%; height: 40rem; } } @media (max-width : 768px) { .banner__contents{ width: min-content !important; padding-left: 2.3rem; margin-left: 0px !important; } .banner--description{ font-size: 0.8rem !important; width: auto !important; } .info{ text-align: start; padding-right: 1.2rem; } .space{ margin-left: 6px; } }axios.jsimport axios from "axios"; const instance = axios.create({ baseURL: "https://api.themoviedb.org", params: { api_key: "eea00451962aefe6185011d467944242", language: "ko-KR", }, }); export default instance;requests.jsconst requests = { fetchNowPlaying: "movie/now_playing", fetchNetFlixOriginals: "/discover/tv?with_networks=213", fetchTrending: "/trending/all/week", fetchTopRated: "/movie/top_rated", fetchActionMovies: "/discover/movie?with_genres=28", fetchComedyMovies: "/discover/movie?with_genres=35", fetchHorrorMovies: "/discover/movie?with_genres=27", fetchRomanceMovies: "/discover/movie?with_genres=10749", fetchDocumentaries: "/discover/movie?with_genres=99", } export default requests;
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
B_LyraDefaultExperience 의 ExperienceID 에 Map만 들어가는 문제가 있습니다.
문제는 B_LyraDefaultExperience 의 ExperienceID 에 Map이 들어가는 것 입니다. ULyCUserFacingExperience 의 코드는 이렇게 작성되어있습니다. LyCExperienceDefinition.h 는 이렇게 작성되었습니다. 현재 상황입니다. 에셋 메니저의 상황입니다. 어디가 잘못된걸까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Object.keys는 마치 배열과 같다고 생각하면 될까요?
강의에서 아래 코드와 같이 배웠습니다.근데 변수인 keys가 마치 배열에서 배열에 담긴 값들을 꺼내는 것 처럼keys[i] 를 쓰니까 혼란이 옵니다.그러면 Object.keys()를 배열이라고 봐도 되나요?// 1) Object.keys 사용 // 객체에서 key 값들만 뽑아서 새로운 배열로 반환 let keys = Object.keys(person); for (let i = 0; i < keys.length; i++) { console.log(keys[i]); }
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
깃액션은 성공하지만 계속 서버가 Killed 됩니다.
name: Deploy TO EC2 on: push: branches: - main jobs: Deploy: runs-on: ubuntu-latest # SSH로 접속하는 명령어를 쳐주자. # 일일이 다 쳐도 되지만 불편하기때문에 github actions의 라이브러리를 사용하면 편하다 # uses는 내가 어떤 라이브러리를 쓸 건지 기재하는 곳이다. steps: # SSH는 다른 원격 컴퓨터로 접속하는 프로토콜이다. # Github Actions도 하나의 컴퓨터고, EC2도 하나의 컴퓨터이므로 SSH를 통해서 원격 접속을 진행해주자. - name: SSH(원격 접속)로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.HOST }} # IP 주소를 말함 username: ${{ secrets.EC2_USERNAME }} # EC2를 연결할 때 사용자 이름 key: ${{ secrets.EC2_PRIVATE_KEY }} # EC2에 접근할 때 사용하는 키 페어 script_stop: true # run이 아닌 script로 실행하는 라이브러리도 있으니 예제파일을 참고하자 # EC2에 접속해서 실행한 명령어들을 차례대로 작성해주자 # 1. 프로젝트의 해당 경로로 이동 # 2. github에서 프로젝트 pull # 3. gradlew 재 빌드 # 4. 포트번호 8080서버를 끄거나 서버가 이미 꺼져있어도 true # 5. SNAPSHOT.jar로 끝나는 파일을 실행. 로그는 output이라는 파일에 남김 script: | cd /home/ubuntu/personal-cicd-server git pull origin main ./gradlew clean build sudo fuser -k -n tcp 8080 || true sudo java -jar /personal-cicd-server/build/libs/*SNAPSHOT.jar > ./output.log 2>&1 & 메모리 부족 문젠가 싶어서 https://velog.io/@kwontae1313/AWS-EC2-%EB%A9%94%EB%AA%A8%EB%A6%AC%EC%9A%A9%EB%9F%89-%EC%A6%9D%EC%84%A4위 링크를 보며 메모리 용량 증설도 해주었으나, 이후에도 안되어서 t3.small로 인스턴스 유형을 변경하였습니다.근데 계속 Killed이 뜨네요..ㅠㅠ 다시 서버를 실행시키면 코드가 변경은 되어있구요.. 왜 계속 프로세스가 죽는걸까요..??
-
미해결김영한의 실전 자바 - 중급 1편
System.nanoTime() 메소드에 대하여 문의 드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, 영한님, 수업 너무 잘 듣고 있습니다. 수업을 듣던 도중에 아래 내용이 잘 못된 것을 알게 되었는데요. System.currentTimeMillis() 은 1970년대 이후로 경과된 시간을 나타내지만, System.nanoTime() 은 JVM이 시작된 시간으로부터 경과된 시간을 나타냅니다. 즉, System.nanoTime() 은 현재 시간을 나노초로 변하지 않습니다. 이 부분 확인 부탁드려도 될까요?감사드립니다.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
노션에 오타가 있서요
첫번째로딩:5두번째로딩:5이 맞는 거 같아요5주차15) 대표적인 문제 사례 1, 2 해결 방법 에 있습니다
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
SAVE Request 창 띄우는 법
이러한 창의 띄우는 법을 알려주세요. (+NEW 둘어간 후 Request 선택하는 방법은 업데이트로 안됨. HTTP 선택 하라는 방법은 선택 후 어떻게 할지 설명을 안해줍니다. 설명 요망.)