묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
memberRepositoryTest 코드 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. https://drive.google.com/file/d/1tczZBCt9-gL3mcnTTvlFmGuGq0YqZv71/view?usp=drive_linkRepositoryTest 코드는 정상적으로 돌아가는데 DB연동이 안됩니다. 코드 돌려보면 콘솔박스에 create table도 안생기는 것 같아요(참고로 코드는 member대신 user로 모두 바꿨습니다)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
HandlerExceptionResolver 활용 질문이 있습니다.
1.HandlerExceptionResolver 활용 8분 10초에서 40초사이 String result= objectMapper.writeValueAsString(errorResult); 이 구문에 대해서요.jason을 문자로 바꿔준다. 객체를 문자로 바꿔준다고 하셨느데요. 그래서 객체랑 jason이 같은 줄알았는데요.https://velog.io/@wong0220/%EA%B0%9D%EC%B2%B4-Object-%EC%99%80-JSON-%EC%B0%A8%EC%9D%B4 여기 링크보면 다르다고 하는데 이 링크가 틀린건가요?아니면 객체(jason)형태를 문자로 바꿔준다라는 의미로 이해해도 되나요?2.위 사진은 API 예외 처리 교재 8페이지 사진입니다. HandlerExceptionResolver 시작 강의코드에서는 위에사진 빨간색 표시된 곳에서 response.sendError가 나오는건가요? 즉 서블릿 컨테이너까지 에러가 갔다가 다시 재요청을 한 것이 (2,3,4번과정)이 맞나요?활용 강의에서는 (2,3,4,5번과정)이 맞나요? 근데 BasicErrorController로 재요청하는 방식은 몇 번에서 일어나는건가요? 이전 강의 코드package hello.exception.resolver; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; @Slf4j public class MyHandlerExceptionResolver implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { try { if (ex instanceof IllegalArgumentException) { log.info("IllegalArgumentException resolver to 400"); response.sendError(HttpServletResponse.SC_BAD_REQUEST, ex.getMessage()); return new ModelAndView(); } } catch (Exception e) { log.error("resolver ex", e); } return null; } } 현재 강의 코드package hello.exception.resolver; import com.fasterxml.jackson.databind.ObjectMapper; import hello.exception.exception.UserException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import java.util.HashMap; import java.util.Map; @Slf4j public class UserHandlerExceptionResolver implements HandlerExceptionResolver { private final ObjectMapper objectMapper = new ObjectMapper(); @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { try { if (ex instanceof UserException) { log.info("UserException resolver to 400"); String acceptHeader = request.getHeader("accept"); response.setStatus(HttpServletResponse.SC_BAD_REQUEST); if ("application/json".equals(acceptHeader)) { Map<String, Object> errorResult = new HashMap<>(); errorResult.put("ex", ex.getClass()); errorResult.put("message", ex.getMessage()); String result = objectMapper.writeValueAsString(errorResult); response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); response.getWriter().write(result); return new ModelAndView(); } else { // TEXT/HTML return new ModelAndView("error/400"); } } } catch (Exception e) { log.error("resolver ex", e); } return null; } } 3. 모델과 뷰를 반환한다고 하셨는데 모델을 반환할려면 모델에 저장할려는 코드가 필요할 텐데요. setattribute처럼요. 그런 코드가 없어서요..
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
react hooks 포트폴리오 리펙토링 질문
import { Modal } from "antd"; import DaumPostcodeEmbed from "react-daum-postcode"; import * as S from "./BoardWrite.style"; import UploadImage from "../../../commons/uploadImage/uploadImage.container"; import { v4 as uuidv4 } from "uuid"; import { useBoard } from "../../../commons/hooks/customs/useBoard"; import { useCheckedId } from "../../../commons/hooks/customs/useCheckedId"; import { useForm } from "react-hook-form"; import { useToggle } from "../../../commons/hooks/customs/useToggle"; import { useEffect, useState } from "react"; import type { IBoardWriteProps } from "./BoardWrite.types"; import { useAuth } from "../../../commons/hooks/customs/useAuth"; export interface Iform { writer: string; password: string; title: string; contents: string; boardAddress: { zipcode: string; address: string; addressDetail: string; }; youtubeUrl: string; images: string[]; } export default function BoardWrite(props: IBoardWriteProps): JSX.Element { useAuth(); const { id } = useCheckedId("boardId"); const { onClickWrite, onClickEdit, onChangePassword } = useBoard({ boardId: id, }); const [files, setFiles] = useState(["", "", ""]); // const [isActive] = useToggle(); const [isOpenModal, modalToggle] = useToggle(); // 게시글 작성 안했을시 오류 보여주는 state const [Error] = useState(""); const { register, handleSubmit, setValue } = useForm<Iform>(); useEffect(() => { if (props.data) { setValue("writer", props.data.fetchBoard.writer ?? ""); setValue("title", props.data.fetchBoard.title ?? ""); setValue("contents", props.data.fetchBoard.contents ?? ""); setValue( "boardAddress.zipcode", props.data.fetchBoard.boardAddress?.zipcode ?? "" ); setValue( "boardAddress.address", props.data.fetchBoard.boardAddress?.address ?? "" ); setValue( "boardAddress.addressDetail", props.data.fetchBoard.boardAddress?.addressDetail ?? "" ); setValue("images", props.data.fetchBoard.images ?? ["", "", ""]); } const images = props.data?.fetchBoard.images; if (images !== undefined && images !== null) setFiles([...images]); }, [props.data]); const onChangeFiles = (file: string, index: number): void => { // file값은 url값 index는 해당하는 number값. const newFiles = [...files]; newFiles[index] = file; setFiles(newFiles); setValue("images", newFiles); }; return ( <S.Wrapper> <S.BoardTitle>게시글 {props.isEdit ? "수정" : "등록"}</S.BoardTitle> <S.WriterSection> <S.HalfSection> <S.BoardLabel>작성자</S.BoardLabel> <S.BoardInput type="text" defaultValue={props.data?.fetchBoard.writer ?? ""} placeholder="작성자를 입력해주세요" {...register("writer")} /> <S.Error>{Error}</S.Error> </S.HalfSection> <S.HalfSection> <S.BoardLabel>비밀번호</S.BoardLabel> <S.BoardInput type="password" placeholder="비밀번호를 입력해주세요." {...register("password")} onChange={onChangePassword} /> <S.Error>{Error}</S.Error> </S.HalfSection> </S.WriterSection> <S.Section> <S.BoardLabel>제목</S.BoardLabel> <S.BoardInput type="text" placeholder="제목을 입력해주세요" {...register("title")} /> <S.Error>{Error}</S.Error> </S.Section> <S.Section> <S.BoardLabel>내용</S.BoardLabel> <S.BoardContents id="title" placeholder="내용을 입력해주세요" {...register("contents")} ></S.BoardContents> <S.Error>{Error}</S.Error> </S.Section> <S.Section> <S.BoardLabel>주소</S.BoardLabel> <S.ZipCodeWrapper> <S.ZipCodeInput placeholder="07725" readOnly {...register("boardAddress.zipcode")} /> <S.ZipCodeButton onClick={modalToggle}> 우편번호 검색 {/* 모달창의 state를 받아와서 true라면 모달창을 열어준다. */} {isOpenModal && ( <Modal open={isOpenModal}> <DaumPostcodeEmbed onComplete={(data) => { setValue("boardAddress.zipcode", data.zonecode); setValue("boardAddress.address", data.address); modalToggle(); }} /> </Modal> )} </S.ZipCodeButton> </S.ZipCodeWrapper> <S.Address readOnly {...register("boardAddress.address")} /> <S.Address type="text" placeholder="상세주소를 입력해주세요" {...register("boardAddress.addressDetail")} /> </S.Section> <S.Section> <S.BoardLabel>유튜브</S.BoardLabel> <S.BoardInput type="text" placeholder="링크를 복사해주세요" {...register("youtubeUrl")} /> </S.Section> <S.Section> <S.BoardLabel>사진 첨부</S.BoardLabel> {/* 이미지 업로드 컴포넌트 분리 */} <S.ImageWrapper> {files.map((el, index) => ( <UploadImage key={uuidv4()} files={el} // 여기로 들어온 el값은 ""값 기본값이기 때문에 index={index} onChangeFiles={onChangeFiles} /> ))} </S.ImageWrapper> </S.Section> <S.Section> <S.BoardLabel>메인 설정</S.BoardLabel> <S.RadioButton type="radio" id="youtube" name="radio-button" /> <S.RadioLabel htmlFor="youtube">유튜브</S.RadioLabel> <S.RadioButton type="radio" id="image" name="radio-button" /> <S.RadioLabel htmlFor="image">사진</S.RadioLabel> </S.Section> <S.RegistButton onClick={handleSubmit(props.isEdit ? onClickEdit : onClickWrite)} isEdit={props.isEdit} > {props.isEdit ? "수정" : "등록"}하기 </S.RegistButton> </S.Wrapper> ); }포트폴리오 리펙토링을 진행하다가 useForm의 defaultValue를 사용할때 텍스트 데이터는 잘 들어오다가modal창의 주소 데이터나 images 배열은 제대로 들어오지 않아서 방법을 찾다가 setValue를 이용해서 값을 넣어주는 방법이 있어서 이렇게 작성해봤는데 useEffect를 이용해서 만들어봤는데 setValue는 setState와 같은 기능을 하는것같아서 이런식으로하면 리렌더링의 문제가 없는지 궁금합니다
-
해결됨김영한의 실전 자바 - 중급 2편
컬렉션 프레임워크 - List pdf 오타
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.컬렉션 프레임워크 - List pdf 에 자바가 제공하는 배열 리스트와 연결 리스트 - 성능 비교 표 에 연결 리스트의 "뒤의 추가(삭제) 부분" O(n) ->O(1) 로 수정이 필요할 거 같습니다.
-
해결됨[코드캠프] 시작은 프리캠프
문법관련 질문입니다
수업내용에let classmates = ["철수", "영희", "훈이"]여기서classmates.push("맹구")를 넣으면 마지막에 추가기능있는것을 배웠습니다.그런데 여기서 궁금한게 마지막이 아닌 철수와 영희 사이 또는 영희와 훈이 사이에 넣을수 있는 문법(?)기능이 있을까요? 아 또 pop기능에서는 마지막값 삭제인데 그것말고 원하는 값을 삭제하는 기능이 있을까요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
PessimisticLock 관련
안녕하세요. 강의 잘 듣고 있습니다. StockRepository 인터페이스에 PESSIMISTIC_WRITE 락을 걸고 테스트를 돌리면 잘 통과합니다. 다만, 궁금한 것은 쿼리를 보고 나서인데요,예를 들어, thread-5가 SELECT 쿼리를 젤 먼저 날립니다. 그러면 thread-5가 락을 가지고 있는거겠죠? 이후 다른 스레드들도 모두 SELECT 쿼리만 날리게 됩니다. 제가 예상한 것은 thread-5가 UPDATE 쿼리를 날리고 메서드가 종료되면 COMMIT 되면서 락을 놓게 되고, 다른 스레드가 락을 가져가면서 또 UPDATE 쿼리를 날릴 수 있게 되는 것이였습니다. 하지만 제일 먼서 UPDATE 쿼리를 날린 것은 thread-5가 아니라 다른 스레드였는데요, 혹시 왜 그런 것인지 설명 가능하실까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka 테스트.. 오류
D:\코딩\kafka_demo\kafka_2.13-3.7.0> .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties The input line is too long. The syntax of the command is incorrect. D:\코딩\kafka_demo\kafka_2.13-3.7.0>입력 명령어가 너무 길다고 계속 오류가 나는데 버전을 낮춰야할까요..?
-
미해결취미로 해킹#1(OverTheWire - Bandit)
실습 환경구축
$ lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg$ install apt-cyg /bin두 명령어입력 후$ apt-cyg install openssh이 명령어를 입력하면 처리가 되지않습니다이유가 뭘까요..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회기출의 작업형2 인강 관련 궁금한점이 있습니다.
[영상 위치]19분 20초 [문의사항]모델 4가지를 선택해서 불러오고 학습하고 predict 를 한 상황인데요, 영상 기준으로 XG부스터가 가장 예측점수가 높게 나온 상황이고, 마지막에 X_test 를 예측할 때 적용되는 model.predict_proba 에서 바로 위에 있는 XG부스터 모델이 선택된걸로 보면 되는거죠? 요약하자면 로지스틱, 의사결정나무, 랜포의 pred 가 아닌 XGB pred값으로 최종 선택된 상황인게 맞는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
초기화 관련 질문
강의 자료 중 초기화에 대한 언급이 나와서 완벽한 감이 안잡혀서 질문을 드립니다.강의 영상 중 초기화는 객체가 일을 시작하는 것이라고 하셨는데 이 일을 시작한다는 말이 정확하게 와닫지 않아서 질문을 드립니다,, 감사합니다..
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
Rest 예외 처리 - RestAuthenticationEntryPoint / RestAccessDeniedHandler 스프링빈 등록 질문
안녕하세요 선생님 Rest 예외처리 편에서 선생님께서는 RestAuthenticationEntryPoint 와 RestAccessDeniedHandler을 따로 스프링 빈으로 등록하지 않고 객체를 생성하는식으로 하셨는데 제가 따로 스프링빈으로 등록하고 해도 잘 동작하던대 따로 빈으로 등록하지 않고 하신 이유가있을까요?해당 코드는 제가 빈으로 따로 등록하고 테스트 했던 코드입니다.
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
interrupt 스레드 시작안했는데도 걸리나요
sleep 1초 동안 thread1 시작도 안했었는데,어떻게 thread2에서 thread1을 interrupt 해서 결과가 true인지 궁금합니다.다시 말해서 아직 시작도 안한 스레드를 어떻게 interrupt 한걸까요?
-
미해결견고한 결제 시스템 구축
@WebAdapter 어노테이션에 @Compnent를 다는 이유
@Target(AnnotationTarget.CLASS) @Component annotation class WebAdapter()PaymentController에 @Controller 안에는 @Component가 존재하는데 왜 WebAdapter 어노테이션 클래스에도 @Component를 다는지 궁금합니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
npm run build 에러
안녕하세요 제로초님프론트 서버를 npm run build 하니까아래와 같은 에러가 나오는데검색해서 찾아봐도 잘 모르겠더라구요.혹시 어느 부분을 확인해보고 어떤 부분을 수정해야할지 조언해주실 수 있을까요?빌드하는것만 몇일째라 ㅠ답답합니다. Collecting page data ./home/ubuntu/react-nodebird/prepare/front/node_modules/rc-util/es/omit.js:1 import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; ^^^^^^ SyntaxError: Cannot use import statement outside a module at internalCompileFunction (node:internal/vm:76:18) at wrapSafe (node:internal/modules/cjs/loader:1283:20) at Module._compile (node:internal/modules/cjs/loader:1328:27) at Module._extensions..js (node:internal/modules/cjs/loader:1422:10) at Module.load (node:internal/modules/cjs/loader:1203:32) at Module._load (node:internal/modules/cjs/loader:1019:12) at Module.require (node:internal/modules/cjs/loader:1231:19) at mod.require (/home/ubuntu/react-nodebird/prepare/front/node_modules/next/dist/server/require-hook.js:65:28) at require (node:internal/modules/helpers:177:18) at 5514 (/home/ubuntu/react-nodebird/prepare/front/.next/server/pages/signup.js:7:10601) /home/ubuntu/react-nodebird/prepare/front/node_modules/rc-util/es/omit.js:1 import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; ^^^^^^ SyntaxError: Cannot use import statement outside a module at internalCompileFunction (node:internal/vm:76:18) at wrapSafe (node:internal/modules/cjs/loader:1283:20) at Module._compile (node:internal/modules/cjs/loader:1328:27) at Module._extensions..js (node:internal/modules/cjs/loader:1422:10) at Module.load (node:internal/modules/cjs/loader:1203:32) at Module._load (node:internal/modules/cjs/loader:1019:12) at Module.require (node:internal/modules/cjs/loader:1231:19) at mod.require (/home/ubuntu/react-nodebird/prepare/front/node_modules/next/dist/server/require-hook.js:65:28) at require (node:internal/modules/helpers:177:18) at 5514 (/home/ubuntu/react-nodebird/prepare/front/.next/server/pages/signup.js:7:10601) > Build error occurred Error: Failed to collect page data for /signup at /home/ubuntu/react-nodebird/prepare/front/node_modules/next/dist/build/utils.js:1268:15 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { type: 'Error' } /pages.index.jsimport axios from 'axios'; import { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import AppLayout from '../components/AppLayout'; import PostCard from '../components/PostCard'; import PostForm from '../components/PostForm'; import { loadPosts, loadPostsError } from '../reducers/post'; import { loadMyInfo } from '../reducers/user'; import wrapper from '../store/configurStore'; // 프론트, 브라우저 같이 실행 const Home = () => { const { me } = useSelector((state) => state.user); const { mainPosts, hasMorePosts, loadPostsLoading, retweetError } = useSelector((state) => state.post); const dispatch = useDispatch(); useEffect(() => { if (retweetError) { alert(retweetError); } }, [retweetError]); useEffect(() => { const onScroll = () => { if ( window.scrollY + document.documentElement.clientHeight > document.documentElement.scrollHeight - 300 ) { if (hasMorePosts && !loadPostsLoading) { const lastId = mainPosts[mainPosts.length - 1]?.id; dispatch(loadPosts({ lastId, limit: 10 })); } } }; window.addEventListener('scroll', onScroll); return () => { window.removeEventListener('scroll', onScroll); }; }, [hasMorePosts, loadPostsLoading, mainPosts.length]); return ( <AppLayout> {me && <PostForm />} {mainPosts && mainPosts[0] ? mainPosts.map((post) => <PostCard key={post.id} post={post} />) : null} </AppLayout> ); }; export const getServerSideProps = wrapper.getServerSideProps( (store) => async ({ req }) => { console.log('getServerSideProps start--------------------------'); console.log(req.headers); const cookie = req ? req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; // 쿠키가 브라우저에 있는경우만 넣어서 실행 // (주의, 아래 조건이 없다면 다른 사람으로 로그인 될 수도 있음) if (req && cookie) { axios.defaults.headers.Cookie = cookie; } await store.dispatch(loadPosts()); await store.dispatch(loadMyInfo()); }, ); export default Home;
-
미해결1. 웹개발 기초 [HTML, CSS]
폼테그 안에 메소드
메소드를 적어서 요청을 보내면 index2 화면으로 넘어가져야 하는데 안되어서 메소드를 지우니까 화면이 index2로 넘어가지던데 혹시 메소드 없이 넘어가져도 괜찮은걸까요?
-
해결됨파이썬 알고리즘 트레이딩 파트2: Interactive Brokers API를 활용한 실시간 알고리즘 트레이딩
환경설정
yml 파일을 통한 윈도우 환경 셋팅을 진행하였는데 위와 같은 오류가 나옵니다.추가적으로 설치가 필요한 환경이 있으면 정리 부탁드립니다.
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
컨트롤 uri 질문있습니다
컨트롤 URI라는 것 자체가 하나의 "uri 작명 방법론"(?) 인 거죠?? 가독성을 위해 최대한 명사 중심으로 하되, 정 안된다면 동사를 넣어도 된다는 것이 컨트롤 uri 설계라고 이해했는데 맞는걸까요 ???
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
13강 헤드업 디스플레이 강의중 질문입니다
플레이어 컨트롤러의 코드 부분에서 TEXT 안에 부분을 레퍼런스를 복사한뒤_C 붙여서 넣어도 보고 지웠던 앞의 부분을 남겨두어도 보고 했는데 지속적으로 CDO Constructor Failed to Find 에러가 뜹니다. 게임 데이터 연동을 하기 전에는 잘 작동되었었는데 데이터 연동을 하니 이런 오류가 뜨는데 혹시 이유를 알 수 있을까요?static ConstructorHelpers::FClassFinder<UABHUDWidget> ABHUDWidgetRef(TEXT("")); if (ABHUDWidgetRef.Class) { ABHUDWidgetClass = ABHUDWidgetRef.Class; }
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
강의 FCM 소개 1:56에 디펜던시 추가하는게 최신버전으로 바뀐 듯합니다.
해당 강의 1:56초에 나오는implementation("com.google.firebase:firebase-messaging-ktx")문구를 복사해서 앱 수준의 그래들 파일에 디펜던시 항목에 넣는 것이 24년 5월 9일 기준으로 동일한 제목의 FCM 관련 사이트에 접속하니 내용이 달라져 있네요. 이제 앱 매니페스트 수정을 하는 것으로 바뀐 것 같아요.
-
미해결양자 컴퓨터 프로그래밍 입문
왜 circuit += 문법에서 왜 오류뜨는지 모르겠습니다.
강의에서는 계속 circuit += 문법을 계속 사용하셔서저도 강의보면서 실제로 주피터노트북에 똑같이 작성하지만계속 오류가 뜹니다. 오류코드는 다음과 같습니다 왜이럴까요? 답변 해주시면 감사하겠습니다.--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[66], line 4 2 x=2 3 circuit = QuantumCircuit(3, 2) ----> 4 circuit += init(n) 5 circuit.barrier() 6 circuit += oracle(n,x) TypeError: unsupported operand type(s) for +=: 'QuantumCircuit' and 'QuantumCircuit'