묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
루커스 공유용 샘플 데이터 에러
공유용 샘플을 사본 만드니 이렇게 나옵니다. 데이터 소스가 안 바뀌고 소팅 버튼 눌러도 빈 화면이 안나와요 ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
기본키에 대해서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 8:29강의 부분에서 id를 @GenerateValue를 쓰고, 테이블에서도 generateValue를 쓰는데 대신에 auto_increment를 써도 될까요? 안되는 이유가 있을까요? 쓸 수 있다면 어노테이션 @generatedValue대신 어떤 걸 쓸 수 있나요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
서비스계층과컨트롤러(3) 상품수정
@PutMapping("/{pno}") public Map<String, String> modify(@PathVariable Long pno, ProductDTO productDTO) { // productDTO안에 pno값만 고정 productDTO.setPno(pno); // 원래 상품을 가지고 온다. old product 가져온다. DB에 저장되어 있는 저장된 정보 ProductDTO oldProductDTO = productService.get(pno); // 새로 업로드할 파일 가져온다. List<MultipartFile> files = productDTO.getFiles(); // 새로 업로드할 파일 저장 List<String> currentUploadFileNames = fileUtil.saveFiles(files); // 지워지지 않는 파일들 keep files 예전 파일 그대로 있는 것 List<String> uploadedFileNames = productDTO.getUploadFileNames(); if(currentUploadFileNames != null && !currentUploadFileNames.isEmpty()) { uploadedFileNames.addAll(currentUploadFileNames); } // 수정하기 productService.modify(productDTO); // 오래된 파일이 문제. 지워져야 하는 파일들 처리 // 기존 파일들을 가져온다. List<String> oldFileNames = oldProductDTO.getUploadFileNames(); if(oldFileNames != null && !oldFileNames.isEmpty()) { // 기존 파일 남아 있는지 확인 // uploadedFileNames에서 없다는건 이 파일은 이제 존재할 의미가 없다는것 그런것만 골라서 모은다. List<String> removeFiles = oldFileNames.stream().filter(fileName -> uploadedFileNames.indexOf(fileName) == -1 ) .collect(Collectors.toList()); // 삭제한다. fileUtil.deleteFiles(removeFiles); } return Map.of("RESULT", "SUCCESS"); }ProductController 에 이 메서드를 입력하고ProductService에는// 수정 void modify(ProductDTO productDTO);이걸 입력하고ProductServiceImpl에는@Override public void modify(ProductDTO productDTO) { // 조회 Optional<Product> result = productRepository.findById(productDTO.getPno()); Product product = result.orElseThrow(); // 변경내용 반영 product.changePrice(productDTO.getPrice()); product.changeName(productDTO.getPname()); product.changeDesc(productDTO.getPdesc()); product.changeDel(productDTO.isDelFlag()); // 이미지 처리를 위해 목록을 비운다. List<String> uploadFileNames = productDTO.getUploadFileNames(); product.clearList(); if(uploadFileNames != null && uploadFileNames.isEmpty()) { uploadFileNames.forEach(uploadName ->{ product.addImageString(uploadName); }); } // 저장될 때 파일이 문제 파일이 변경됐는지 알 수 가 없다. productRepository.save(product); } private ProductDTO entityToDTO(Product product) { ProductDTO productDTO = ProductDTO.builder() .pno(product.getPno()) .pname(product.getPname()) .pdesc(product.getPdesc()) .price(product.getPrice()) .delFlag(product.isDelFlag()) .build(); List<ProductImage> imageList = product.getImageList(); if(imageList == null || imageList.isEmpty()) { return productDTO; } // 상품 이미지 목록 문자열로 바꾸기 List<String> fileNameList = imageList.stream().map(productImage -> productImage.getFileName()).toList(); productDTO.setUploadFileNames(fileNameList); return productDTO; } 이걸 입력하고 postman에서 PUT방식으로 해서 기존 이미지파일 내용을 그대로 복사해서 테스트를 하는데 "msg": "Validation failed for argument [1] in public java.util.Map<java.lang.String, java.lang.String> org.zerock.apiserver.controller.ProductController.modify(java.lang.Long,org.zerock.apiserver.dto.ProductDTO): [Field error in object 'productDTO' on field 'uploadFileNames': rejected value [org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile@192a0968]; codes [typeMismatch.productDTO.uploadFileNames,typeMismatch.uploadFileNames,typeMismatch.java.util.List,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [productDTO.uploadFileNames,uploadFileNames]; arguments []; default message [uploadFileNames]]; default message [Failed to convert property value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'java.util.List' for property 'uploadFileNames'; Cannot convert value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'java.lang.String' for property 'uploadFileNames[0]': no matching editors or conversion strategy found]] "이런 에러가 계속 발생하는데요 왜 그럴까요 ㅠpostman에서 출력하는 메세지입니다. GTP에 입력해서 물어봤는데ProductController의 modify 메서드에서 ProductDTO 객체의 uploadFileNames 필드가 잘못된 타입으로 전달되었기 때문에 발생합니다. 이런 메세지를 주는데 강의 내용과 똑같이 입력했는데 왜 이런 메세지를 뱉어내는지 잘 모르겠습니다 ㅠ
-
미해결스프링 핵심 원리 - 기본편
싱글톤 해결방안
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]싱글톤 문제를 해결하기 위한 방법으론 이번 강의에서 설명하는 상태를 무상태로 설계하는 방법, 스프링 고급강의에서 설명해주는 방식인 쓰레드 로컬도 싱글톤을 해결하기 위한 방법 중 하나인가요??
-
미해결김영한의 실전 자바 - 중급 1편
ENUM 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]enum의 경우 대문자로 모두 작성하셨는데 그냥 개발자들간의 enum을 알아보기위한 약속같은 것일까요? 대문자로만 작성하는 이유가 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회 기출 유형 풀이 랜덤포레스트
from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=0) rf.fit(X_train , y_train) pred = rf.predict(X_val) f1_score(y_val,pred,average = 'macro') 랜덤포레스트는 fit하는걸로 외우면 될가요? 인코딩 시, 모델학습 시 fit, fit_transform 사용 할때랑 계속 햇갈려서요;.. 쉽게 외우거나 이해하는 방법 있을가요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3-4 피쳐엔지니어링 인코딩 부분에서 질문
안녕하세요. 3-4 피쳐엔지니어링에 인코딩 부분에서 질문이 있습니다. 파일에선 범주형 칼럼을 추출하기 위해 X_train.columns[X_train.dtypes == object] 를 사용했는데 cols = X_train.select_dtypes(include= "O").columns 로 해도 동일하게 작업이 가능한가요? 최대한 단순하게 외우고 싶어서 이게 가능하다면 select_dtypes() 사용하는걸로 외우려고요
-
미해결[입문자를 위한 UE5] Part4. 언리얼 엔진 C++
SimpleMoveToLocation() 작동 안함.
디아블로 방식의 컨트롤 강의중 PlayerController에서 클릭 했을 때 그 위치로 이동하는 SimpleMoveToLocation()함수가 작동을 안 하는데 네비메쉬 문제 일까요?
-
해결됨초보자를 위한 BigQuery(SQL) 입문
Espanso 설치시 지속적으로 에러가 나서 문의드립니다.
안녕하세요! Espanso 를 윈도우 버전으로 다운로드해서 설치하려고하는데 지속적으로 하기 에러가 나고있습니다. 혹시 제가 뭔가 잘못설치한건지 확인 한번 부탁드립니다!
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
강의 질문입니다.
Flutter와 Firebase/Firestore 까지 활용한 그럴듯한 서비스 만들어보기 6까지 실습해봤는데요.TextButton >> addEntryWithAutoGeneratedId를 통해서Task를 추가하면 id가 ''로 해서 나오는 것을 Firebase 사이트를 통해서 확인을 했고UpdateEntryWithId에 의해서 수정을 하게 되면 그때는 id가 등록된 것이 Firebase에서 확인을 했습니다.Add를 할때는 id가 ''으로 저장되는게 맞나요? 제가 코드를 잘못 따라한건지 궁금합니다.
-
미해결
환불관령
계좌송금한거 환불했는데 언제 들어오나요
-
미해결[Lv.1] iOS 17 앱 개발 기초 - SwiftUI로 시작하기
페이지 이동에 관해 질문이 있습니다 !
안녕하세요 강의 너무 잘 듣고 있습니다 ! 예전에 앱 만들다가 궁금했던 것이 두가지 정도 있어 여쭤보려고 합니다. 페이지 페이지 가 연결되는 느낌이 아니라 아예 다른 페이지로 넘어가고 싶은데,Tab, NavigationLink 말고 다른 방법이 있을까요? 보통 이럴 때는 그냥 NavigationLink 로 이동시키고 hidden을 false를 주는건가요? 그리고 페이지 내 컴포넌트 안에 있는 컴포넌트에서 버튼을 눌렀을 때 Sheet이 올라오게 하고 싶은데 그럴 때 Sheet의 전체 크기가 전체 화면 기준이 아니라 그 컴포넌트가 기준이 되어 작게 나타났을 때가 있었습니다.이런 경우에는 어떻게 해결하나요? 답변해주시면 감사하겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
Transform 관련 코드 이상
아래와 같이 코드를 작성했는데 지속 오류가 가장 마지막 문자엥서 나옵니다. 이유를 찾지 못하겠습니다.cols = [‘neighbourhood’, ‘neighbourhood’, ‘room_type’]from sklearn.preprocessing import LabelEncoderfor col in cols:le =LabelEncoder()train[col] =le.fit_transform(train[col])test[col] =le.transform(test[col)]test[col]에서 error가 지속 나옵니다.return x.astype(dtype, copy=copy, casting=casting 으로 나오는데, 문제가 무엇인지 잘 모르겠습니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
섹션 11 체크리스트 링크 확인 요청
안녕하세요.알차게 준비해주신 강의 잘 듣고 있습니다.강의 수강 중 섹션 11에서 참고하고 있는 체크리스트 링크가 수업노트에 기재되어 있지 않아 문의 드립니다.
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
ipykernel 패키지 설치 실패
ch02_env 가상환경에서 2 + 2 셀의 실행 버튼을 누른 뒤 설치를 진행하였을때 발생한 에러입니다!vscode랑 python을 삭제하고 재설치 하였는데도 여전히 문제가 발생되었습니다pip install requests 명령어를 사용하여 다른 패키지를 설치 하려고 했을 때도 문제가 발생하였습니다 해결 방법을 알려주시면 감사하겠습니다!
-
해결됨두고두고 써먹는 유니티 VR
질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!- 먼저 유사한 질문이 있었는지 검색해보세요.- 서로 예의를 지키며 존중하는 문화를 만들어가요.- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.VFX (Hit Effect Volume)가 적용되지를 않습니다. 그리고 xr ray interaction 총에서 조준되는 선이 안나옵니다 유니티 버전은 3.24f1 입니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
플로이드 워셜 관련 질문
플로이드 문제에서 가령 입력값이 아래와 같다고 할 때, 541 3 103 2 11 5 15 3 1 d[1][2] 의 값은 K = 3 일 때 d[1][2] = d[1][3] + d[3][2] = 11 그런데 d[1][3]은 이후에 K가 5일 때 연산을 통해d[1][3] = d[1][5] + d[5][3] = 2 근데 작아진 d[1][3]의 값이 반영되려면 K가 5일 때, d[1][5] + d[5][3] 연산을 한 '이후에' K가 3일 때d[1][2] =d[1][3] + d[3][2] 연산을 통해 d[1][2] 의 값이 바뀌어야 한다고 생각이 드는데 점점 증가해야 하는 K값이 값자기 작아질수는 없으니 그건 불가능합니다. d[1][2]의 값이 3이 되는데 필요한 어떤 연산을 제가 놓친건지 모르겠습니다...
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
auto 설정시 drop 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. INFO: HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)Hibernate: drop table Member cascade constraintsHibernate: create table Member ( id number(19,0) not null, grade varchar2(255 char), name varchar2(255 char), primary key (id) )5월 22, 2024 4:56:36 오후 org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnectionINFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@4e83a98] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.5월 22, 2024 4:56:36 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleExceptionWARN: GenerationTarget encountered exception accepting command : Error executing DDL " drop table Member cascade constraints" via JDBC [Table "MEMBER" not found;]org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " drop table Member cascade constraints" via JDBC [Table "MEMBER" not found;] at 최초 자동 생성할 때 Member 테이블이 존재 해야 하나요 ??저는 Member 테이블이 없어서 drop 할 수 없다고 하는거 같은데 Member 테이블이 없어도 auto 옵션을 켜놓으면 자동으로 생성되어야 하는 개념 아닌가요 ???
-
해결됨Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
강의자료
강의자료와 기출문제를 메일로 받아볼 수 있을까요?필기하면서 공부하고 싶은데 찾을수가 없어서요ㅜㅜlu5671@gmail.com으로 부탁드립니다!!
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
crossorigin 프로퍼티에 대해서 질문드립니다.
안녕하세요 잔재미코딩님.섹션 6 가장 빠른 Vue와 Flask, 그리고 REST API 2 강의를 듣는 도중 2:00 부터 설명하시는 부분에해당 웹페이지 안에서 태그로 www.kkk.co.kr/google.jpg 파일을 가져와서 이미지로 보여줄 수 있음해당 웹페이지 안에서 태그로 www.kkk.co.kr/style.css 파일을 가져와서 CSS 스타일을 적용할 수 있음의 내용과 코드를 보고 궁금한 점이 있습니다. 부트스트랩 스타일, 스크립트 호춣 <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>Vue, axios 스크립트 호출 <!-- Vue Start --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script>다음 코드와 같이 crossorigin 프로퍼티를 붙여주는 경우는 어떤 경우인지 궁금합니다.부트스트랩 관련 link, script 태그는 crossorigin 프로퍼티가 없으면 정상적으로 데이터를 불러오지 못합니다. 반면에 vue CDN 스크립트는 crossorigin 프로퍼티를 필요로 하지 않습니다. 이 차이가 뭔지 궁금합니다. MDN 을 확인하면 crossorigin 프로퍼티 값을 "anonymous" 설정을 하게 되면 credential flag를 same-origin으로 설정해 쿠키 같은 user-credential 교환이 필요없다고 하는데, 해당 서버들이 credential flag 설정 값을 체크하는지 안하는지 차이일 뿐인가요? 이런 설정들이 부트스트랩이나 fontAwesome에서 왜 필요한지 잘 모르겠네요..