묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨초초보도 할 수 있다! 파이썬으로 쓱 만드는 스페이스 인베이더
숫자를 바꿔도 이미지가 바뀌지 않습니다
크기나 위치 숫자를 바꿔도 실행하면 변하지 않아서 질문드립니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
order.getOrderItems() 시 필드 접근 안했는데 select문이 나가는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.강의 자료에 orderItems.stream().forEach(o -> o.getItem()).getName()); // LAZY 강제 초기화라고 적혀있어서 그 위의 코드인 List<OrderItem> orderItems = order.getItems()에서는 DB에 SELECT 쿼리를 보내지 않는구나라고 이해했습니다. 근데 확인해보니 아래 코드를 PostMan으로 테스트를 해보았더니 orderItems : null 이지만SELECT절을 통해 데이터를 조회한 결과를 보였습니다.또한, order.getOrderItems()를 하지 않아도 orderItem을 조회하는 SELECT절이 나가더라구요 .. @GetMapping("/api/v1/simple-orders") public List<Order> ordersV1() { List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { order.getMember().getName(); // LAZY 강제 초기화 => 예외 발생 안함 ! why? Open Session in View(OSIV) 때문에 order.getDelivery().getAddress(); // LAZY 강제 초기화 => 예외 발생 안함 ! why? Open Session in View(OSIV) 때문에 order.getOrderItems(); // ? } // 원래는 LazyInitializationException이 발생하는게 정상이지만 OSIV로 인해 발생하지 않음 return all; } 다른 질문을 참고하였을 때 David님께서 아래와 같은 답변을 해주셨습니다.안녕하세요. Jeongmin Lee님:), 공식 서포터즈 Taewon David Hwang입니다.지연로딩(Lazy Loading)은 엔티티의 애트리뷰트에 접근할 때 데이터를 가져옵니다.그러나 하이버네이트에서 지정한 기본타입에 해당되는 것들은 기본적으로 지연로딩을 허용하지 않습니다.따라서 OrderItem의 애트리뷰트인 name, price, stockQuantty 중 하나라도 접근하게 되면 기본타입에 해당하는 name, price, stockQuantity의 데이터를 모두 불러오게 됩니다.David 선생님 의견에 따르면 엔티티의 에트리뷰트에 접근해야 데이터를 가져오는거 같은데 왜 위 사진같이 DB에 SELECT절을 호출 해 데이터를 가져오는건가요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버카페 크롤링 실습
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 43강 페이지 안에 페이지가 있는 구조 : iframe 전환하기학습하고 있는데요. 현재 네이버 카페 구조가 바뀐것 같습니다.혹시 맞나요??아니면 제가 실습을 못따라가고 있는것인지 궁금합니다.
-
미해결C# 윈폼_ 응용프로그램 개발
솔루션 탐색기 WindowsFormApp 더블클릭 후 어셈블리명 변경안됨
거기다가 그 창이 안닫히네요 다시 껐다 켜도
-
해결됨초초보도 할 수 있다! 파이썬으로 쓱 만드는 스페이스 인베이더
해결되긴 했는데 이렇게 실행해도 되는지 질문 드립니다.
한글 사용자 명 자체를 영문으로 바꾸려다 허송세월(ㅜㅜ)하고 결국에 챗지피티 한테 물어봐서 import os, import sys 이용해서 실행하니 이미지가 뜨긴 합니다.이렇게 코드를 짜도 되는지 질문드립니다.
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
안녕하세요 "섹션2 8. Consumer간 작업 분배" 에서 질문 있습니다.
안녕하세요. 강의 잘 듣고 있습니다.섹션2. 8번 강의 11분 13초 쯤에 하시는 말씀에 의문이 들어 질문글 남깁니다. 이 부분 설명하실때 ' 컨슈밍을 할때 파라미터로 받은 초를 슬립을 준 뒤에 소진을 하겠다' 라고 하셨는데, 메시지를 받은 순간 이미 소진이 시작 된 것이고 각각 2초 4초 5초뒤에 소진이 끝나는 것 아닌가요? 조금 헷갈려서 질문 드립니다.좋은 강의 감사드립니다.
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
빌드 안 되시는 분들 참고
Maven resources compiler 어쩌구자바 버전 문제제 기준 pom.xml에서 java.version 21로 올리고 프로젝트 설정에서 SDK/모듈도 동일하게 설정했더니 해소 됐습니다NoSuchFieldError 어쩌구lombok 버전이 자바 버전과 안 맞음.pom.xml lombok dependency의 버전을 자바랑 맞추기 https://jinseobbae.github.io/java/2023/02/27/lombok-version-compatibility.htmlUnsupported class file major version 65스프링부트 버전 문제3.3.0으로 올리니까 해소됐습니다
-
미해결GSAP의 ScrollTrigger를 활용한 포트폴리오 제작
스크립트 부분이 이해가 어렵네요
align = (e) => { setX(e.clientX); setY(e.clientY); },이 부분에서 align이 무슨 함수인가요?보통 함수 사용시에는 function이라던가 익명함수도 var, const등 변수에 할당하여 쓰던데 딸랑 이름만 있고 화살표 함수만 있는 함수는 처음봐서 헷갈립니다... if (activeImage) { gsap.set(image, { x: gsap.getProperty(activeImage, "x"), y: gsap.getProperty(activeImage, "y"), }); }여기서 굳이 activeImage를 밑에서 activeImage = image;이렇게 할당하여 사용할 필요가 있나요?그냥 바로 let으로 선언했던 image를 넣어도 상관없을 것 같아서요 그리고 이 강의에서 사용하셨던fade, fade.play(),fade.reverse()이 코드들은 gsap에서 사용하는 코드들인가요 아니면 일반 자바스크립트에서도 사용하는 코드들인가요..? 제가 기초가 부족해서 그런 걸 수도 있겠지만 jquery도 아니고 js에서 이렇게 사용하는 걸 처음봐서요,,,
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
컴포넌트 리렌더링 관련 질문
안녕하세요! 강의 잘 듣고 있습니다ㅎㅎ이번 강의에서 React dev tools의 'Highlight updates when components render' 옵션을 통해서 컴포넌트가 언제 리렌더링 되는지 감지하는 방법을 알려주셔서 해당 내용 학습 중에 궁금한게 생겨 질문 드립니다. 해당 옵션을 켜고, 이번 강의의 실습 내용 중에서 input 영역을 input component로 분리하면 다른 component와 어떠한 영향도 주고 받지 않으니까 input을 작성할 때 input 영역만 highlight가 될 거라 예상했는데요,실제로는 형제 컴포넌트도 다 같이 리렌더링 되는 것처럼 보이더라구요. 이 현상이 제 코드의 문제인건지, 다른 이유가 있는건지 궁금합니다. input component를 분리한 App.jsx와 Input.jsx를 아래에 코드로 첨부했습니다.[App.jsx]import { useState, useEffect, useRef } from 'react' import "./App.css" import Viewer from './components/Viewer' import Controller from './components/Controller' import Even from './components/Even' import Input from './components/Input' function App() { const [count ,setCount] = useState(0); const handleClickCount = (addValue) => { setCount(count + addValue) } return ( <div className="App"> <h1>Simple Counter</h1> <section> <Input /> </section> <section> <Viewer count={count} /> {count % 2 === 0 ? <Even /> : null} </section> <section> <Controller onCount={handleClickCount}/> </section> </div> ) } export default App[Input.jsx]import { useState } from "react"; const Input = () => { const [input, setInput] = useState(""); return ( <input value={input} onChange={(e) => { setInput(e.target.value) }} /> ) } export default Input;
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
title,content값이 비어서 저장되는데 제가 혹시 어떤 부분을 잘못 작성했는지 ㅜㅜ 알고싶습니다.
<template> <div> <h2>게시글 등록</h2> <hr class="my-4" /> <PostForm v-model.title="form.title" v-model.content="form.content" @submit.prevent="savePost" > <template #actions> <div class="pt-4"> <button type="button" class="btn btn-outline-dark me-2" @click="goPostListPage" > 목록 </button> <button class="btn btn-primary">저장</button> </div> </template> </PostForm> <!-- <form> <div class="mb-3"> <label for="title" class="form-label">제목</label> <input v-model="form.title" type="text" class="form-control" id="title" /> </div> <div class="mb-3"> <label for="content" class="form-label">내용</label> <textarea v-model="form.content" class="form-control" id="content" rows="3" ></textarea> </div> --> <!-- <div class="pt-4"> <button type="button" class="btn btn-outline-dark me-2" @click="goPostListPage" > 목록 </button> <button type="button" class="btn btn-primary" @click="goPostListPage"> 저장 </button> </div> </form>--> </div> </template> <script setup> import { useRouter } from "vue-router"; import { createPost } from "@/api/posts"; import { ref } from "vue"; import PostForm from "@/components/posts/PostForm.vue"; const router = useRouter(); const form = ref({ id: 0, title: "", content: "", createAt: Date.now(), }); const savePost = () => { try { // const data = { ...form.value, createAt: Date.now() }; createPost({ ...form.value }); goPostListPage(); // console.log("savePost data", data); } catch (err) { console.log("err", err); } }; // 목록이동 const goPostListPage = () => { router.push({ name: "PostList", }); }; </script> <style lang="scss" scoped></style> <template> <form> <div class="mb-3"> <label for="title" class="form-label">제목</label> <!-- v-model을 사용하지 않고, v-bind와 @input 이벤트를 사용하여 양방향 데이터 바인딩 --> <input :value="title" @input="$emit('update:title', $event.target.value)" type="text" class="form-control" id="title" /> </div> <div class="mb-3"> <label for="content" class="form-label">내용</label> <textarea :value="content" @input="$emit('update:content', $event.target.value)" class="form-control" id="content" rows="3" ></textarea> </div> <!-- <div class="pt-4"> <button type="button" class="btn btn-outline-dark me-2" @click="goPostListPage" > 목록 </button> <button type="button" class="btn btn-primary" @click="goPostListPage"> 저장 </button> </div> --> <slot name="actions"></slot> </form> </template> <script setup> defineProps({ title: String, content: String, }); // update:props데이터명 // 양방향 데이터 바인딩을 위해 사용 : 부모에게 내려받은 props를 업데이트 // update 접두사는 v-model과 함께 사용되는 이벤트 이름 defineEmits(["update:title", "update:content"]); </script> <style lang="scss" scoped></style>{ "posts": [ { "id": 2, "title": "제목2", "content": "내용2", "createAt": "2021-01-02" }, { "id": 3, "title": "제목3", "content": "내용3", "createAt": "2021-01-03" }, { "id": 4, "title": "제목4", "content": "내용4", "createAt": "2021-01-04" }, { "title": "제목8", "content": "내용83333333", "createAt": "2021-01-08", "id": 8 }, { "id": 9, "title": "", "content": "", "createAt": 1750817841654 }, { "id": 10, "title": "", "content": "", "createAt": 1750828553704 } ] }title,content값이 비어서 저장되는데 제가 혹시 어떤 부분을 잘못 작성했는지 ㅜㅜ 알고싶습니다.
-
해결됨아키텍처와 함께하는 부하(성능) 테스트 with Locust
강의자료 질문
안녕하세요 강의 듣기 시작했는데 강의자료는 따로 없는 거죠? PDF 파일이나, 사이트 등
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
20장 MEM_ACCESS/READ 타이밍 관련 질문
// Assign Memory I/F assign addr0 = addr_cnt; assign ce0 = o_write || o_read; assign we0 = o_write; assign d0 = addr_cnt; // 1 cycle latency to sync mem output always @(posedge clk or negedge reset_n) begin if(!reset_n) begin r_valid <= 0; end else begin r_valid <= o_read; // read data end end assign o_valid = r_valid; assign o_mem_data = q0; // direct assign, bus Matbi recommends you to add a register for timing.코드에서 요청과 응답에 관한 신호인, chip-enable, write-enable, o_mem_data 은 비동기식으로, read-valid 신호는 동기식으로 작성하셨는데 혹시 이 방법을 사용하면 1클럭 지연을 없앨 수 있는 것인가요? 이번 학기의 MIPS Pipeline 플젝에서도 동기식 메모리(IM/DM)의 1클럭 딜레이가 문제가 되어, 버퍼를 추가하여 7-stage로 구현했었는데, 구조가 복잡해지고 좋은 방법이 아닌것 같아서 이러한 딜레이를 없애거나 숨길 수 있는 테크닉이 있는지도 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
인텔리제이 그레이들리설정 및 컴포넌트 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 드립니다.서 CoreApplicationTest 에서 빈 등록 오류 로 인하여서(스프링 부트 3.2이상에서 발생하는 오류), 저보다 먼저 문제를 겪으신 분들의 질문 및 자주 하는 질문(구글 독스) 을 보고 해결 하기는 하였습니다.근데 해결하고 나서 이런 저런 짓을 하다가 생각난 방법이 appConfig에 있는 @Configuration 을 주석 처리하는 방법이 생각 났습니다.(configurationSingletonTest 는 오류 나길래 수동에서 자동으로 바꿈)혹 이렇게 해도 되는지 알고 싶습니다.수정1 빈 등록 오류가 어떤 오류인지 안 써서 씀. + 사진 추가 답변 부탁 드립니다.
-
해결됨[2025] 비전공자도 한 번에 합격하는 SQLD 올인원
제 ER 관계선 모양이 강의 샘 것과 다릅니다.
환경설정에서 바꾸는 건가 해서 찾아보는데, 못 찾았어요.
-
미해결Git & GitHub, 원리부터 차근차근 - 근본깃 [기초편]
8강 git status 관련 질문
안녕하세요! git status와 관련해서 궁금한 점이 있어 질문드려요.전 강의에서 vi rectangle과 vi circle 파일을 생성했었는데요, 해당 파일들을 삭제하지 않은 채로 놔두었다가, 컴퓨터를 다시 재접속하여 git status를 하니 그냥 커밋도, untracked된 파일도 모두 존재하지 않는 것으로 뜨더라구요.혹시, git으로 생성된 파일은 전원을 끔에 따라 working directory에서 휘발되는 것인지 궁금합니다. 또한, 컴퓨터 내 폴더로 직접 들어가면 파일이 존재하는 것으로 뜨는데, 이것과는 상관이 없는 것인지도 궁금합니다. 감사합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
링크 및 학습자료
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM혹시 1강 마지막에 언급하신 설명들 링크, 그리고 학습자료들은 어디에서 볼수 있을까요?
-
해결됨인프런 클론 바이브코딩 with Windsurf, Cursor, Claude Code, Rails
Invalid UTF-8 에러
Internal: marshal message : string field contains invalid UTF-8위와같은 에러가 자꾸 뜨는데 해결법이 있을까요?
-
해결됨초초보도 할 수 있다! 파이썬으로 쓱 만드는 스페이스 인베이더
오류가 나는 이유를 잘 모르겠어서 질문합니다
파일 위치를 못 찾는 이유를 모르겠습니다.알려주시면 감사하겠습니다!
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
스프링 공부를 하다가 노드 백엔드도 경험해 보고 싶어서 자바스크립트 강의를 들으려는데
백엔드 부분을 위해 필요한 파트는 어디어디인가요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
bootRun 실행 문제
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? -> 2-4 설정 부분 듣고 있습니다! 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?-> Caused by: com.mysql.cj.exceptions.WrongArgumentException: !AuthenticationProvider.BadAuthenticationPlugin!bootRun 실행 중 계속해서 !AuthenticationProvider.BadAuthenticationPlugin! 예외가 발생하면서 실패가 뜹니다. 인터넷 검색했더니 MySQL 사용자 인증 plugin을 mysql_native_password 로 변경하는 방법이 있어서 변경해보았지만 계속해서 해결하지 못해서 문의 드립니다.