묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
Toast.makeText사용시 인수 context가 붉은 색으로 뜨네요
강의 내용 그대로 소스를 입력하는데이미지의 빨간 사각형으로 표시된context 인수가 붉은색으로 뜹니다context에서 Alt+Enter를 쳐보니선택할 여러 항목이 나타나는데 무엇을 선택해야 할지 모르겠습니다.해결 방법을 알려주시면 감사하겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
초보 질문
초보지만 그림을 알기 위해 전체 강의를 빠르게 정주행하고 있습니다. 두가지 질문이 있는데요 1. Client쪽의 directory에도 Servercore 폴더가 있습니다. 왜일까요. 서버 /클라이언트에 공통적으로 필요한 요소인가요? 2. Room과 object가 있는데 특히 room의 역할이 헷갈립니다. player나 monster의 수치 자료가 하드코딩되는 곳은 어디일까요?
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
선생님 req에 아무것도 안들어오는데 혹시 뭐가문제일까요 ?
PostDetail에 req를 인자로 받아서 params를 찾으시는데 저는 req에 아무것도 안들어오네요 ㅠㅠㅠ 원래 req에 아무설정도 안해도 들어오는게 맞나요 ..?
-
미해결모의해킹 실무자가 알려주는, 파일 다운로드 취약점 공격 기법과 실무 사례 분석
[실습1-2] 직접 제작하면서 배우는 JSP 기반의 파일 다운로드 질문
안녕하세요 크리핵티브님 파일 다운로드 jsp 기반의 파일 다운로드 질문이 있습니다. 해당 영상을 보고 따라 하여 jsp 다운로드 소스코드를 작성하였는데 영상에서는 파일이 다운로드가 정상적으로 되었지만 실제로 따라 하였을때에는 파일 다운로드가 되지 않고 사이트에 연결할 수 없음 http://127.0.0.1:8080/download1.jsp?org_filename=11test.jpg&real_filename=1234.jpg의 웹페이지가 일시적으로 다운되었거나 새 웹 주소로 완전히 이동했을 수 있습니다. 이렇게 오류가 뜨는데 이럴때는 해결방법이 없으려나요 ? 해당 소스코드는 이러합니다. index.jsp 소스코드 <%@ page contentType="text/html; charset=UTF-8" %> <li>첨부파일1 : <a href="download1.jsp?org_filename=11test.jpg&real_filename=1234.jpg">[다운로드]</a></li> <li>첨부파일2 : <a href="download2.jsp?path=image&org_filename=11test.jpg&real_filename=1234.jpg">[다운로드]</a></li> <li>첨부파일3 : <a href="download3.jsp?path=C:\APM_Setup\Server\apache-tomcat-8.5.73\webapps\ROOT\upload\image&org_filename=11test.jpg&real_filename=1234.jpg">[다운로드]</a></li> download1.jsp 소스코드 <%@ page contentType="text/html; charset=UTF-8" %> <%@ page import="java.util.*,java.io.* " %> <% FileInputStream fis = null; BufferedInputStream bis = null; BufferedOutputStream bos = null; String path = "C:\\APM_Setup\\Server\\apache-tomcat-8.5.73\\webapps\\ROOT\\upload\\image\\"; String org_filename = request.getParameter("org_filename"); String real_filename = request.getParameter("real_filename"); if(org_filename == null || real_filename == null) {out.println("<script>alert('파일명이 입력되지 않았습니다.');history.back(-1);</script>"); return; } try { File fd = new File(path + real_filename); if(fd.exists()) {out.println("<script>alert('파일이 존재하지 않습니다.');history.back(-1);</script>"); return; } response.setHeader("Content-Type","application/octect-stream"); response.setHeader("Content-Disposition","attachment; filename=" + org_filename); fis = new FileInputStream(fd); bis = new BufferedInputStream(fis); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buffer = new byte[1024]; int i = 0; while((i=(bis.read(buffer))) != -1) {bos.write(buffer, 0, i); } bos.flush(); } finally { if(fis != null) fis.close(); if(bis != null) bis.close(); if(bos != null) bos.close(); } %> 강의를 들으면서 똑같이 따라하였고 오타 부분도 확인하였으나 어느 부분에서 오류가 났는지 잘 이해가 안가 질문 드립니다. 제가 생각하기론 경로(path) 부분인거 같은데 어느 경로가 문제인지 잘 모르겠습니다.. 소스코드 상 오류는 없고 해당 실습을 진행하게 되면 모든 실습 간에서 파일을 다운로드 할 수 없고 사이트에 연결할 수 없다고 하네요 경로를 역슬래쉬 혹은 슬래쉬 둘다 교체해서 수정하여도 결과는 똑같습니다. 해당 톰켓을 재설치하여 적용해도 똑같이 나옵니다.. 재설치만 10번 넘게 해봤는데도 결과는 똑같아서 글 남깁니다.. 감사합니다.
-
미해결실전! 스프링 데이터 JPA
테이블생성
안녕하세요 강사님. 제가 강의를 다듣고 혼자 프로젝트를 만들어 보는 중인데요.. jpa ddl설정에서 계속 테이블이 생성이 잘 안됍니다... 딱히 오류도 안뜨고.. 뭐가 문제인지 모르겠습니다. ㅠㅠ 디비 접속 아이디와 비밀번호는 일부로 지웠습니다.
-
미해결[NLP] IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리
질문드립니다.
텍스트 벡터화 부분에서 for tag, count in zip(vocab, dist): print(count, tag)위 부분은 어떤 역할을 하는지 이해가 어렵습니다.설명 부탁드리겠습니다.감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
MMORPG 말고도 다른 게임에서도 이 파트에서 설명해주신 코드로 그대로 사용이 가능한가요?
강의 너무 잘듣고 있습니다! 저도 다른 게임을 개발하면서 서버 관련 강의가 필요해 수강중인데요, 제가 하는 게임은 RPG같은 것이 아닌 미니게임 모음집 같은 게임을 제작 중입니다. 그런데 게임 서버를 하더라도 같은 코드로 진행을 해도되는지 궁금합니다
-
미해결홍정모의 따라하며 배우는 C언어
1:00 알파벳 예제 직접 풀어봤는데 의문점이 있습니다.
int main() { int i = 'A'; int m = 1; int n = 0; for (; m <= 5 ; m++) { for (; n <= 10 ; n++) { printf("%c ", i + n); } printf("\n"); } return 0; } 답안을 보기 전에 임의로 만들어 보았습니다. 좀 더럽게 만들긴 했는데 A ~ K까지 첫 줄은 잘 출력이 되는데 2 ~ 5열까지는 출력이 되지가 않았습니다. 두번째 루프는 작동을 하는데 첫번째 루프가 작동하질 않습니다. 첫번째 루프를 답안과 비교를 해봐도 제가 만든 첫번째 루프에서 어디가 문제인지를 모르겠습니다. 어디에서 문제가 생긴걸까요?
-
미해결반응형 웹사이트 포트폴리오(Architecture Agency)
선생님 이 슬라이드를 아래로 스크롤했다가 맨위로 올리면 화면이 하얗게 되면서 이상해지네요 ㅠㅠㅠ
■ 질문 남기실 때 꼭! 참고해주세요. <!DOCTYPE html> <html lang="en" class="no-js"> <head> <meta charset="UTF-8" /> <!--반응형웹선언문--> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" /> <!-- jQuery CDN --> <script src="https://code.jquery.com/jquery-latest.min.js"></script> <!-- CSS basic--> <link rel="stylesheet" href="css/basic/reset.css" /> <link rel="stylesheet" href="css/basic/aos.css" /> <link rel="stylesheet" href="css/basic/slick.css" /> <link rel="stylesheet" href="css/basic/slick-theme.css" /> <link rel="stylesheet" href="css/basic/featherlight.css" /> <!-- JS basic --> <script src="js/basic/aos.js"></script> <script src="js/basic/veloslide/velocity.min.js"></script> <script src="js/basic/veloslide/velocity.ui.min.js"></script> <script src="js/basic/veloslide/main.js"></script> <script src="js/basic/jquery.scrollTo.min.js"></script> <script src="js/basic/slick.min.js"></script> <script src="js/basic/featherlight.js"></script> <!-- CSS/JS custom --> <link rel="stylesheet" href="css/veloslide.css" /> <link rel="stylesheet" href="css/style.css" /> <link rel="stylesheet" href="css/responsive.css" /> <script src="js/custom.js"></script> <title>Ellarose's portfolio</title> </head> <!-- hijacking: on/off - animation: none/scaleDown/rotate/gallery/catch/opacity/fixed/parallax --> <body data-hijacking="on" data-animation="catch"> <div id="wrap"> <header> <div class="gnb-inner"> <div class="logo"> <h1><a href="#">Ellarose's</a></h1> </div> <div class="tran"> <div class="trigger"> <span></span> <span></span> <span></span> </div> </div> </div> </header> <!-- home --> <section class="cd-section visible" id="home"> <div> <div class="content"> <img src="img/pic1.jpg" alt="" /> </div> </div> </section> <!-- profile --> <section class="cd-section" id="profile"> <div> <div class="content"> <img src="img/pic1.jpg" alt="" /> </div> </div> </section> <!-- vision --> <section class="cd-section" id="vision"> <div> <div class="content"> <img src="img/pic1.jpg" alt="" /> </div> </div> </section> <!-- work : responsive --> <section class="cd-section" id="works1"> <div> <div class="content"> <img src="img/pic1.jpg" alt="" /> </div> </div> </section> <!-- work : adaptive --> <section class="cd-section" id="works2"> <div> <div class="content"> <img src="img/pic1.jpg" alt="" /> </div> </div> </section> <!-- work : another works --> <section class="cd-section" id="another"> <div> <div class="content"> <img src="img/pic1.jpg" alt="" /> </div> </div> </section> <nav> <ul class="cd-vertical-nav"> <li><a href="#0" class="cd-prev inactive">Next</a></li> <li><a href="#0" class="cd-next">Prev</a></li> </ul> </nav> </div> </body> </html> @charset "utf-8"; @import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,200;0,400;0,600;1,200;1,400;1,600&family=Noto+Sans+KR:wght@100;400;700&display=swap"); /* font-family: 'Montserrat', sans-serif; 200 400 600 font-family: 'Noto Sans KR', sans-serif; 100 400 700 */ /* Default */ body { font-family: "Montserrat", sans-serif; background-color: #fff; height: 100vh; } /* Default Layout */ .cd-section { width: 100%; height: 100vh; } .cd-section > div { width: inherit; height: inherit; position: relative; } /* .content { background-color: #ccc; position: absolute; width: 100%; height: 100%; } */ .content { position: absolute; width: calc(100% - 40px); height: calc(100% - 80px); /* margin: 40px 20px; */ left: 20px; bottom: 20px; overflow: hidden; border: 1px solid #000; background-color: lightpink; } .content img { width: 100%; height: 100%; object-fit: cover; } header { position: fixed; width: 100%; top: 0; left: 0; z-index: 999; transition: 0.5s; } .gnb-inner { width: calc(100% - 40px); margin: 0 auto; height: 60px; /* overflow: hidden; line-height: 60px; */ display: flex; justify-content: space-between; align-items: center; } /* 자식요소가 float 성질을 가지니까 높이값을 잃음 overhiden 혹은 height 60px 도 가능*/ .logo h1 a { font-size: 3rem; padding-left: 10px; color: #000; } .gnb { position: fixed; width: 100%; height: 100%; background-color: rgb(44, 44, 44); z-index: 999; display: none; } .menu { float: left; width: 50%; height: 100%; display: flex; justify-content: center; align-items: center; text-align: center; } .menu a { display: block; color: rgb(255, 255, 255); font-size: 4rem; padding: 10px 20px; scroll-behavior: smooth; } .gnb .image { float: right; position: relative; width: 50%; height: 100%; overflow: hidden; border: 1px solid #000; } .gnb .image img { height: 100%; width: auto; object-fit: cover; object-position: center; } .tran { border: 1px solid transparent; border-radius: 50%; width: 50px; height: 50px; display: flex; justify-content: center; align-items: center; } .trigger { display: block; width: 30px; height: 16px; cursor: pointer; position: relative; z-index: 999; } .trigger span { position: absolute; height: 1px; width: 100%; background-color: #000; transition: 0.3s; } .trigger { display: block; width: 3px; height: 16px; cursor: pointer; position: relative; z-index: 999; } .trigger span { position: absolute; height: 3px; width: 3px; background-color: #000; transition: 0.3s; border-radius: 6px; } .trigger span:nth-child(1) { top: 0; } .trigger span:nth-child(2) { top: 50%; width: 100%; } .trigger span:nth-child(3) { top: 100%; } .trigger.active span:nth-child(1) { transform: translateX(-40%) rotate(45deg); width: 20px; height: 2px; top: 50%; } .trigger.active span:nth-child(2) { opacity: 0; } .trigger.active span:nth-child(3) { transform: translateX(-40%) rotate(-45deg); width: 20px; height: 2px; top: 50%; } @keyframes jello-vertical { 0% { transform: scale3d(1, 1, 1); } 30% { transform: scale3d(0.75, 1.25, 1); } 40% { transform: scale3d(1.25, 0.75, 1); } 50% { transform: scale3d(0.85, 1.15, 1); } 65% { transform: scale3d(1.05, 0.95, 1); } 75% { transform: scale3d(0.95, 1.05, 1); } 100% { transform: scale3d(1, 1, 1); } } .trigger:hover { animation: jello-vertical 0.9s both; } /* -------------------------------- Primary style -------------------------------- */ body::before { /* never visible - this is used in jQuery to check the current MQ */ content: "mobile"; display: none; } @media only screen and (min-width: 1281px) { body::before { /* never visible - this is used in jQuery to check the current MQ */ content: "desktop"; display: none; } } /* -------------------------------- Main Components -------------------------------- */ @media only screen and (min-width: 1281px) { body[data-hijacking="on"] { overflow: hidden; } .cd-section { height: 100vh; } .cd-section h2 { font-size: 4rem; font-weight: 300; } [data-hijacking="on"] .cd-section { opacity: 0; visibility: hidden; position: absolute; top: 0; left: 0; width: 100%; } [data-hijacking="on"] .cd-section > div { visibility: visible; } [data-hijacking="off"] .cd-section > div { opacity: 0; } [data-animation="rotate"] .cd-section { /* enable a 3D-space for children elements */ -webkit-perspective: 1800px; -moz-perspective: 1800px; perspective: 1800px; } [data-hijacking="on"][data-animation="rotate"] .cd-section:not(:first-of-type) { -webkit-perspective-origin: center 0; -moz-perspective-origin: center 0; perspective-origin: center 0; } [data-animation="scaleDown"] .cd-section > div, [data-animation="gallery"] .cd-section > div, [data-animation="catch"] .cd-section > div { box-shadow: 0 0 0 rgba(25, 30, 46, 0.4); } [data-animation="opacity"] .cd-section.visible > div { z-index: 1; } .cd-section:first-of-type > div::before { display: none; } .cd-section > div { position: fixed; top: 0; left: 0; width: 100%; /* Force Hardware Acceleration */ -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); -webkit-backface-visibility: hidden; backface-visibility: hidden; } [data-hijacking="on"] .cd-section > div { position: absolute; } [data-animation="rotate"] .cd-section > div { -webkit-transform-origin: center bottom; -moz-transform-origin: center bottom; -ms-transform-origin: center bottom; -o-transform-origin: center bottom; transform-origin: center bottom; } .cd-vertical-nav { /* lateral navigation */ position: fixed; z-index: 1; right: 3%; top: 50%; bottom: auto; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); display: none; } .cd-vertical-nav a { display: block; height: 42px; width: 42px; /* image replace */ overflow: hidden; text-indent: 100%; white-space: nowrap; background: url(../img/arrow_gray.svg) no-repeat center center; transform: rotate(180deg); } .cd-vertical-nav a.cd-prev { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); margin-bottom: 10px; } .cd-vertical-nav a.inactive { visibility: hidden; opacity: 0; -webkit-transition: opacity 0.2s 0s, visibility 0s 0.2s; -moz-transition: opacity 0.2s 0s, visibility 0s 0.2s; transition: opacity 0.2s 0s, visibility 0s 0.2s; } .cd-vertical-nav { display: block; } } - 왜이런것일까요 ㅠㅠㅠ ?? - HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요.- 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다.
-
미해결홍정모의 따라하며 배우는 C언어
printf의 반환값
scanf 함수는 입력된 수에 따라 반환값이 결정되는 것으로 알고 있습니다. printf 함수의 반환값은 무었인가요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
요로케도 풀어봄 순열로 구하고 중복을 제거하는 방식으로
function solution(n,r) { let answer=[]; let ch=Array.from({ length: n },() => 0); let temp=Array.from({ length: r },() => 0); function DFS(L) { if(L===r) { answer.push(Array.from(temp)); return; } else { for(let i=0; i<=n; ++i) { if(ch[i]===0) { ch[i]=1; temp[L]=i+1; DFS(L+1); ch[i]=0; } } } } DFS(0); answer.map(v=>{ return v.sort((a,b)=>{ return a-b; }) }) let result = [...new Set(answer.join('!').split('!'))].map(v=>{return v.split(',')}).map(v=>{return v.map(x=>x*1)}); return result; } console.log(solution(4,2));
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
안녕하세요!
안녕하세요! 궁금한게 생겼습니다. SettingHolder 를 이용한 인스턴스 생성과 inner class를 하지않고 Settings 에서 static 메소드를 써서 초기화한 private static finnal Settings instatnce = new Settings(); 의 차이점을 모르겠습니다. 제 생각에는 두개 전부다 결국 'static 영역에 미리 생성(?) 을 한다는 것'이고 static이므로 로드시점까지 똑같다고 생각하는데요. Holder를 만들었다고 해서 무슨차이인지 잘 모르겠습니다.감사합니다!
-
해결됨비개발자를 위한 RPA 강의 (UiPath 입문편)
오픈 브라우저가 안되네요
- open browser가 검색이 안되고 use application/broswer만 검색이 됩니다. - 다른 템플릿에서 open browser를 긁어왔는데 click이 "opening.xaml: 타겟 또는 입력 UI 엘리먼트를 설정해야 합니다."라는 오류 메시지와 함께 설정이 안됩니다. 해결 방법이 무엇이 있을까요?
-
미해결스프링 핵심 원리 - 고급편
setter에 @Autowired 쓰는 문법은 이제 막힌건가요?
강의는 스프링 2.5버전대지만 현재 스프링 이니셜라이저에서 기본 지정 버전은 2.6버전입니다. 여기서는 CallServiceV1에서 사용한 setter에 @Autowired 붙이는 문법을 사용 할 시에는 생성자로 주입할 때랑 똑같이 순환참조냐고 묻는 오류가 발생하더라구요. 혹시나 싶어서 2.5.6으로 해보니 잘 되더랍니다...ㅠㅠ 갑자기 2.6.0버전부터 무슨 일이 생긴지는 모르겠지만 여기서는 안되네요 ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
안녕하십니까 강의 정말 잘봤습니다
강사님의 강의 중에 사이트 베포를 다루는 영상이 있을지 궁금합니다 있다면 알려주시면 꼭 수강하겠습니다 감사합니다
-
미해결vue.js 실전 프로젝트(트위터 클론)
파이어 베이스 연동시 에러가 납니다. ㅠㅠ
firebase authentication 강의에서 import firebase from "firebase"; 파어이베이스 import 하고 Register.vue에서 import { auth } from "../firebase"; 하면 아래와 같은 에러가 발생합니다. ㅠ__ㅠ 몇번을 다시 해봐도 계속 에러가나서 뭐가 잘못 된건지 모르겠어요 ㅠ_ㅠ Internal server error: Failed to resolve entry for package "firebase". The package may have incorrect main/module/exports specified in its package.json: Missing "." export in "firebase" package
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
vector 순회 vs map 순회
안녕하세요. 루키스님 STL 강의를 보다가 순회하는 속도에 대해서 궁금한 점이 있어서 질문을 남깁니다. 1만개의 데이터가 있을 때 vector로 순회하는 것보다 map으로 순회하는 것이 느리다고 하셨는데 그 이유가 무엇인가요? vector 같은 경우 iterator를 직접 사용하지 않고 바로 인덱스로 순회할 수 있고 map은 iterator를 한칸씩 증가하면서 순회해야하기 때문인 것인가요? 혹은 vector는 메모리가 연속되어 있기 때문에 템퍼럴 로컬리티와 스페이셜 로컬리티 특성으로 인해 캐시히트가 잘 일어나게 되고 map은 메모리가 연속되어 있지 않기 때문에 반대로 캐시 미쓰가 많이 일어나서 그런 것인가요?? list또한 궁금합니다. 나머지 2개의 컨테이너와 비교했을 때 순회하는 속도가 어떤지도 궁금합니다. vector list map을 for문으로 순회하는 것에 대해서 무엇이 빠르고 느린지 이유를 알고 싶습니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Visual Studio for Mac Solution tab
허무하게 몇 시간 소비하면서 제대로 된 공부법을 못 찾고 있는 것 같습니다.. Visual Studio for Mac의 Solution tab 여는 방법 아시는 분 계실까요? Solution tab이 나와야 파일 여러 개로 갈리는 걸 확인할 수 있는데 여기서 막히고 있습니다.
-
미해결프로젝트로 배우는 Vue.js 3
npm run serve 사용시 에러 발생 합니다
프로그램 따라하면서 하기와 같은 에러가 발생합니다 혹시 몰라서 Git에 있는 자료를 down 받아 사용해도 에러는 동일하게 발생합니다 에러 내용 > vue3-project@0.1.0 serve > vue-cli-service serve INFO Starting development server... 98% after emitting CopyPlugin WARNING Compiled with 1 warning 오후 6:31:32 warning in ./src/components/TodoList.vue?vue&type=script&lang=js "export 'useContext' was not found in 'vue' App running at: - Local: http://localhost:8080/ - Network: http://192.168.0.10:8080/ Note that the development build is not optimized. To create a production build, run npm run build. 이 에러는 1. import { useContext } from 'vue'; 을 사용하는 시점부터 나왔습니다 2. 프로그램은 git에 나온 내용을 그대로 copy하여 사용하였기 때문에 프로그램 edit에러는 없을것으로 추정 3. 차이점이라고는 package.json에서 vue-router 버젼이 본인 PC에는 4.0.12이고 강사 깃자료를 보면 4.0.4로 차이가 있습니다 4.0.12버젼을 삭제하고 4.0.4로 설치할려고 했으나 실패하여 현재는 4.0.12 입니다 위에러 해결방안에 대해 검토 해주시기 바랍니다 수고하세요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ItemController의 create() 메서드에서 id값을 안받는 이유는 무엇인가요??
GenerateValue가 id 값을 자동으로 생성해주기 때문에 안받아도 상관이 없는 거라고 생각했는데 아이디값을 setter로 받아서 코드를 작성해도 등록과 조회가 잘됩니다 ㅠㅠ Form 객체에 id필드를 추가하고 id를 받아서 구현해도 상관없을까요? 아니면 id값은 생략하는 게 맞는건가요? ===============================================<추가> id를 찍어보니까 null이 찍히는 걸 확인했습니다. JPA가 persist()를 할 때 id를 생성하고 그 id를 사용해서 영속성 컨텍스트에 데이터를 저장하기 때문에 그 전에는 id존재하지 않기 때문에 굳이 받을 필요가 없는게 맞는지 궁금합니다..! <ItemController.java> Book book = new Book();book.setName(form.getName());book.setPrice(form.getPrice());book.setStockQuantity(form.getStockQuantity());book.setAuthor(form.getAuthor());book.setIsbn(form.getIsbn()); <MemberController.java> Member member = new Member();member.setName(form.getName());member.setAddress(address);