묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
spring 5 도 알려주시나요?
스프링은 처음이나 .net core 로 프로젝트 개발을 했었구요. 보니까 최근 spring 5 버전이상에는 리액티브형식으로 뭔가 좀 다르던데요. 강의는 무료버전으로 한번 다 들어보고 바로 MVC1 하고 mvc2 로 볼 예정입니다. 전체 로드맵 따라가면서 중간에 껴있는 기본까지 듣기에는 시간이 너무 많이걸려서 그렇게는 안할것같아요. (아니면 저에게 맞는 추천하는 다른 루트가 있다면 말씀좀!) 쭉 듣다보면 spring 5 기반으로도 추가적인 설명이나 강의를 듣게 될수 있는 부분인지 궁금합니다. 당장에 스프링개발이 필요하진않으나 현재 목표는 스프링을 사용한다하면 거부감이 없는 정도로 만들고싶습니다.(아직은 잘 스프링에 대해서 감이 없어요..ㅠㅠ)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
14분 30초 부근 질문 있습니다
14:30 부근 부모의 좌표를 역추적하는 과정에서 // #1 while (true) { if (parent[y,x] == new Pos(y,x)) break; } // #2 while (true) { if (parent[y,x] .Y == y && parent[y,x].X == x) break; }첫번째 케이스의 경우 작동하지 않았고 두번째 케이스의 경우 코드가 정상적으로 작동했습니다 첫번째 케이스의 경우 "(y,x)의 부모가 (y,x) 자기 자신이냐"고 묻는 의도로 코드를 작성했지만 의도대로 작동하지 않았나 봅니다 어떤 문제가 있는 건지 궁금합니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
댓글 수정 기능 추가 문제
안녕하세요 제로초 선생님. 댓글 수정 기능을 추가하던 도중에 React의 성질과 관련하여 질문이 생겨 질문드립니다. PostCard.js에서 CommentForm 컴포넌트와 CommentEditForm 컴포넌트 2개로 구성을 바꿨습니다. 그리고 post 데이터를 props로 넘겨주었습니다. {commentFormOpened && ( <div> <CommentForm post={post} /> <CommentEditForm post={post} /> </div> )} CommentForm.js는 아래와 같습니다 ... const CommentForm = ({ post }) => { const dispatch = useDispatch(); ... useEffect(() => { if (addCommentDone) { setCommentText(''); } }, [addCommentDone]); const onSubmitComment = useCallback(() => { console.log(id, post.id, commentText); dispatch({ type: ADD_COMMENT_REQUEST, data: { content: commentText, postId: post.id, userId: id }, }); }, [commentText, id]); return ( <> <Form onFinish={onSubmitComment}> <Form.Item style={FormItem}> <Input.TextArea rows={4} value={commentText} onChange={onChangeCommentText} /> <Button style={ButtonStyle} type="primary" htmlType="submit" loading={addCommentLoading} > 게시 </Button> </Form.Item> </Form> </> ); }; CommentForm.propTypes = { post: PropTypes.object.isRequired, }; export default CommentForm; CommentEditForm.js는 아래와 같습니다 ... const { TextArea } = Input; const CommentEditForm = ({ post }) => { const dispatch = useDispatch(); const id = useSelector((state) => state.user.me?.id); const [editText, setEditText] = useState(''); const [commentEditMode, setCommentEditMode] = useState(false); const onReviseCommentText = useCallback((e) => { setEditText(e.target.value); }); const { reviseCommentLoading } = useSelector((state) => state.post); const onReviseComment = useCallback(() => { dispatch({ type: REVISE_COMMENT_REQUEST, data: { content: editText, PostId: post.id, UserId: id, }, }); }, [editText, id]); const onClickReviseComment = useCallback(() => { setCommentEditMode(true); }); const onCancelReviseComment = useCallback(() => { setCommentEditMode(false); }, []); return ( <div> {commentEditMode ? ( <> <TextArea value={editText} onChange={onReviseCommentText} /> <Button.Group> <Button loading={reviseCommentLoading} onClick={onReviseComment}>수정</Button> <Button type="danger" onClick={onCancelReviseComment}>취소</Button> </Button.Group> </> ) : ( <List header={`${post.Comments.length}개의 댓글`} itemLayout="horizontal" dataSource={post.Comments || []} renderItem={(item) => ( <li> <Comment actions={[ <div style={{ fontSize: '13px', marginRight: '10px' }}> {moment(item.createdAt).format('MM.DD HH:mm')} </div>, <span style={{ fontSize: '13px' }} onClick={onClickReviseComment}> 수정하기 </span>, ]} author={item.User.nickname} avatar={<Link href={`/user/${item.User.id}`} prefetch={false}><a><Avatar>{item.User.nickname[0]}</Avatar></a></Link>} content={item.content} /> )} /> )} </div> ); }; CommentEditForm.propTypes = { post: PropTypes.object.isRequired, }; export default CommentEditForm; 게시글 수정때와 유사하게 컴포넌트를 만들었는데, 이렇게 만들고 comment를 열려고 하면 이런 오류가 출력됩니다. post.Comments가 undefined라는 것인데, postCard.js은 index.js로부터 post를, CommentEditForm은 postCard.js로부터 post를 전달 받고 있어 index.js -> PostCard.js -> CommentEditForm 이렇게 2개 계층을 걸쳐 post를 전달받고 있기 때문에 이런 문제가 발생하는 것일까요?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
pandas_profiling 실행 오류
안녕하세요. 현재 챕터5-3 수강중인데 pandas_profiling이 실행이 되지 않는 것 같아 문의드립니다. 이전에 답변주셨던 글도 참고했는데, 저는 여전히 되는 것 같지 않습니다. 각각의 코드는 아래와 같습니다 import pandas_profiling pandas_profiling.__version__ from pandas_profiling import ProfileReport %time profile = ProfileReport(df, title="도시공원 표준 데이터") profile.to_file(output_file="05-park_pandas_profile.html") 아나콘다 프롬프트를 사용해 설치했고, 사양은 2.8로 보입니다. 꽤 여러번 삭제와 재설치를 반복했고, pip install pandas-profiling로도 설치를 해봤는데 증상은 동일합니다. 혹시 해결방법이 있을까요? 감사합니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
안녕하세요 조훈님 :) 질문이 있습니다.
안녕하세요 조훈님 :) 질문이 있습니다. 우선 도커의 볼륨과 쿠버네티스의 볼륨의 차이에 대해 궁금합니다. 그리고 원래 쿠버네티스 없이 도커만 단독으로 사용할 때도 도커에도 볼륨 옵션이 있어서 해당 볼륨을 설정해서 데이터를 저장하는데 쿠버네티스의 볼륨을 설정한다면 도커에는 따로 볼륨 설정 없이 쿠버네티스의 볼륨설정만으로 사용하면 되는 것인가요??
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
`while`문으로 풀어봤습니다.
안녕하세요 선생님! 매번 질 좋은 강의 해주셔서 감사합니다. 다름이 아니라 강의 코드와는 다르게 `while`문으로 투포인터를 이용했는데 다음과 같은 코드도 괜찮은 코드인지 여쭤보고 싶습니다! let s = "bacaAacba"; let t = "abc"; console.log(solution(s, t)); function solution(s, t) { let n = s.length; let m = t.length; let sum = ""; let lt = rt = cnt = 0; while (rt < n) { sum += s[rt]; if (rt - lt + 1 >= m) { let sH = new Map(); let temp = sum; let flag = true; for (let x of temp) { if (sH.has(x)) sH.set(x, sH.get(x) + 1); else sH.set(x, 1); } for (x of t) { if (!sH.has(x) || sH.get(x) === 0) flag = false; sH.set(x, sH.get(x) - 1); } if (flag) cnt++; sum = sum.slice(1); lt++; } rt++; } return cnt; }
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
print문에서 sep옵션 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. str_o1 = "Python" print(str_o1*3,sep=' ') 했을때 출력값을 Python Python Python 으로 나오게 하고 싶은데 PythonPythonPython 으로 붙어서 나오내여 위에처럼 출력하고 싶을때는 어떻게 해야 할까여?
-
미해결
네트워크 공격 유형 이해와 네트워크 위협 행위 분석 강의 중 맨 마지막 16강이 플레이 안되어요
네트워크 공격 유형 이해와 네트워크 위협 행위 분석 강의 중 맨 마지막 16강이 플레이 안되어요 어떻게 해결하면 되나요?
-
미해결UX/UI 시작하기 : Figma 입문 (Inflearn Original)
첫번째 프레임의 레이아웃 그리드가 하나도 안보여요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결홍정모의 따라하며 배우는 C++
포인터 자체의 주소 질문입니다.
5분10초쯤에 포인터 자체의 주소, &ptr을 하면 ptr과 당연 다르게 나오는데 이것은 서로 가르키는 주소가 달라서 그런것인가요? ptr은 array의 첫번째 원소의 주소를 나타내는것이고 , &ptr은 주소의 주소를 나타내는것이기에 다른것인가요? 감사합니다!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요. 혹시 코드 확인 한번만 가능할까요?
function solution(total, arr) { let count = 0; for (let i = 0; i < arr.length; i++) { let addedIndex = i + 1; let sum = arr[i]; while (sum < total) { if (sum <= total) count++; sum += arr[addedIndex++]; } if (sum === total) count++; } return count; }
-
미해결애플 웹사이트 인터랙션 클론!
질문이 있어서 올려봅니다..ㅎ
안녕하세요 그 강의롤 보면서 페이지를 만들고있는데 네비에게션바에 링크를 걸어서 새로운 페이지를 만들어주고 버튼을 누르면 이동하게 만들었습니다. 근데 ... 문제는 새로운 페이지로 이동한뒤 뒤로가기 버튼을 누르면 scrollRatio에 NaN값이 들어오네요 ㅠㅠ 방법이 있을까요 .. ?
-
미해결웹 게임을 만들며 배우는 React
webpack server(localhost:8080)에서 Cannot Get / 만 나옵니다.
안녕하세요 제로초님, 이 문제를 해결하기 위해서 공식 문서도 찾아보고 하루종일 고민했지만 , 도저히 해결하기 어려워 문의 남깁니다. 2강 '웹팩 데브 서버와 핫 리로딩' 부분을 보고 따라하면서 서버를 켰지만, 화면에 Cannot Get /이라는 메세지만 띄워진 채, 다른 내용이 출력되지 않았습니다. 아마 제 생각으로는 위의 사진에서 Project is running at이 비워진 탓인것 같은데, 어떻게 고쳐야할지 모르겠습니다.혹시 해결 방법을 알고 계신다면 알려주세요! 아 그리고, 코드는 아래의 해당 부분을 빼고 모두 동일합니다. devServer: { static: { publicPath: "/dist" },
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
Mac 상대경로
Mac 상대경로는 어떻게 써야되나요?? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결실전! 스프링 데이터 JPA
@Modifying(flushAutomatically="true/false") 에 대한 질문
안녕하세요! 좋은 강의 잘 듣고 있습니다. 해당 질문 게시판에 있는 @Modifying 의flushAutomatically 에 대한 질문에 대한 답을 보면서 추가로 궁금한 점이 생겨 질문을 남기게 되었습니다. flushAutomatically은 디폴트 값이 false이며 이 값이 true로 의미있게 사용되는 경우는, 1)하이버네이트 옵션에서 JPQL 실행시 강제로 플러시가 되지 않도록 설정할때, flushAutomatically 설정값을 true로 만들경우, 자동으로 flush가 됨 2)JPQL 실행시 모든 내용을 다 플러시 하는것이 아닌 해당 JPQL과 관련있는엔티티만을 플러시함 이때 clearAutomatically를 할경우, 데이터베이스에 JPQL과 관련이 없지만 변경된 데이터가 반영되지 않을 수 있음 이때 flushAutomatically=true 를 사용함으로 이해를 했습니다. (영한님 답변을 통한이해) flushAutomatically =false / true 값에 따른 차이를 눈으로 확인해보고 싶어 테스트 하던중 궁금한 점이 생겼습니다. 2)에 대한 궁금한 점인데요, Member 엔티티와 전혀 관련없는 Pra라는 엔티티를 만들고, 해당 엔티티에서 사용할, Repository또한 만들었습니다. 그리고 멤버 엔티티에 대한 벌크성 쿼리를 test할 경우 위의 PraRepository.save()에 대한 쿼리가 memberRepository.bulkAgePlus() 해당 부분 문장을 실행할때 DB에 반영되지 않고 영속성컨텍스트에만 남아 있을것이라 예상했습니다. (왜냐 멤버관련 벌크성 쿼리와 관련없는 것이기 때문) 하지만 Pra 에 관한 insert query가 발생한 것을 보았습니다.JPQL과 관련없는 엔티티인데, Member 관련 벌크성 쿼리시 다른 엔티티인 Pra 관한 내용 또한 DB에 반영되는 이유가 궁금합니다...!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원 가입 시 Insert 쿼리는 만들어지는데 디비에 저장이 안되는 경우
안녕하세요! 회원 가입 폼을 작성하고 Submit을 눌렀을 때 다음 로그가 뜨면서 insert 쿼리가 생성되는 것을 확인할 수 있는데, h2 database에는 값이 저장이 되지 않네요 ㅠㅠ 원인을 도무지 찾을 수 없어 질문 올립니다! 회원가입 폼 작성 시 로그입니다! 2021-08-27 04:10:11.140 INFO 9552 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2021-08-27 04:10:11.141 INFO 9552 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2021-08-27 04:10:11.142 INFO 9552 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms 2021-08-27 04:10:16.454 DEBUG 9552 --- [nio-8080-exec-2] org.hibernate.SQL : select member0_.member_id as member_i1_6_, member0_.city as city2_6_, member0_.street as street3_6_, member0_.zipcode as zipcode4_6_, member0_.name as name5_6_ from user member0_ where member0_.name=? 2021-08-27 04:10:16.462 INFO 9552 --- [nio-8080-exec-2] p6spy : #1630005016462 | took 2ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop select member0_.member_id as member_i1_6_, member0_.city as city2_6_, member0_.street as street3_6_, member0_.zipcode as zipcode4_6_, member0_.name as name5_6_ from user member0_ where member0_.name=? select member0_.member_id as member_i1_6_, member0_.city as city2_6_, member0_.street as street3_6_, member0_.zipcode as zipcode4_6_, member0_.name as name5_6_ from user member0_ where member0_.name='dd'; 2021-08-27 04:10:16.470 DEBUG 9552 --- [nio-8080-exec-2] org.hibernate.SQL : call next value for hibernate_sequence 2021-08-27 04:10:16.471 INFO 9552 --- [nio-8080-exec-2] p6spy : #1630005016471 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop call next value for hibernate_sequence call next value for hibernate_sequence; 2021-08-27 04:10:16.499 DEBUG 9552 --- [nio-8080-exec-2] org.hibernate.SQL : insert into user (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?) 2021-08-27 04:10:16.501 INFO 9552 --- [nio-8080-exec-2] p6spy : #1630005016501 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop insert into user (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?) insert into user (city, street, zipcode, name, member_id) values ('ddd', 'dd', 'dd', 'dd', 1); 2021-08-27 04:10:16.505 INFO 9552 --- [nio-8080-exec-2] p6spy : #1630005016505 | took 0ms | commit | connection 3| url jdbc:h2:tcp://localhost/~/jpashop ; 2021-08-27 04:10:16.513 INFO 9552 --- [nio-8080-exec-3] j.jpashop.Controller.HomeController : home controller application.yml 파일입니다! spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: #show_sql: true format_sql: true logging.level: org.hibernate.SQL: debug # org.hibernate.type: trace MemberController파일입니다! package jpabook.jpashop.Controller; import jpabook.jpashop.domain.Address; import jpabook.jpashop.domain.Member; import jpabook.jpashop.service.MemberService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import javax.validation.Valid; import java.util.List; @Controller @RequiredArgsConstructor public class MemberController { private final MemberService memberService; @GetMapping("/members/new") public String createForm(Model model) { // model은 request, 즉 요청 객체를 의미한다. model.addAttribute("memberForm", new MemberForm()); return "members/createMemberForm"; } // 화면 이동 시 MemberForm 빈 껍데기 객체를 가져온다. (createMemberForm.html에서 위에서 정의한 MemberForm 객체에 접근할 수 있음) @PostMapping("/members/new") public String create(@Valid MemberForm form, BindingResult result) { // @Valid를 통해 javax의 validation 기능을 사용할 수 있다.(NotEmpty 등의 예외처리 가능!) // MemberForm에 오류가 발생하면 result에 오류 사항이 저장됨 if (result.hasErrors()) { return "members/createMemberForm"; } Address address = new Address(form.getCity(), form.getStreet(),form.getZipcode()); Member member = new Member(); member.setName(form.getName()); member.setAddress(address); memberService.join(member); return "redirect:/"; } @GetMapping("/members") // 스프링 MVC가 제공하는 모델 객체에 보관 public String list(Model model) { List<Member> members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; } }
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션3-5 수들의 합 문제 질문입니다.
처음에 짠 코드는 for 문 중첩해서 이용해서 짰더니 개선해도 60점까지만 채점이 되어서, 강의에서 설명한 알고리즘을 숙지하고 코드는 보지 않은채로 코드를 아래와 같이 작성했는데요. 마지막 케이스만 통과가 되지 않고 80점이 나오는데, 강의에서 설명해주신 코드랑 크게 시간 복잡도 차이가 나지는 않는 것 같은데 왜 통과가 안되는 걸까요..? lt = 0rt = 1total = arr[lt]while(rt < n): if total < m: rt += 1 total = sum(arr[lt:rt]) elif total == m: count += 1 total -= arr[lt] lt += 1 else: total -= arr[lt] lt += 1 print(count) 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨스프링 핵심 원리 - 기본편
ApplicationContext 질문드립니다
안녕하세요 MVC 강의를 보다가 복습하러 왔는데 오늘 하루종일 검색하고 찾아봐도 이해가 가지 않아서 질문드립니다 핵심원리 강의에서 ApplicationContext가 스프링 컨테이너라고 설명을 해 주셨고 이후 강의에서 ApplicationContext ac =new AnnotationConfigApplicationContext(클래스명); 이 문장을 사용해 스프링 컨테이너 생성 후 매개변수값의 클래스에 있는 에노테이션 기반의 빈을 등록하면 싱글톤이나 의존관계 주입 관리를 할 수 있는것으로 이해하였는데요, 앞선 입문 강의나 이후 mvc강의에서는 해당 스프링 컨테이너 생성문장 없이 @Component나 Controller등의 에노테이션만 붙이면 스프링 컨테이너 없이 빈이 등록되는데 여기서 이해가 되지 않습니다. 톰캣 서버의 서블릿 컨테이너가 해당 역할을 하는것인가요..? 어디서 잘못 이해한것인지 모르겠습니다 ㅠㅠ..
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
toString()과 valueOf()의 차이점이 궁금합니다!
강사님! 혹시 toString()과 valueOf()의 차이점이 뭔가요?? 단지 다른 클래스에 있다는 차이점 뿐인가요??
-
미해결홍정모의 따라하며 배우는 C++
[5:13] 22번줄 main_res = generateResource(); 에서 컴파일러 오류가 나네요 ㅠㅠ
chapter15_03.cpp #include "Timer.h" #include "AutoPtr.h" #include "Resource.h" AutoPtr<Resource> generateResource() { AutoPtr<Resource> res(new Resource(10000000)); return res; } int main() { using namespace std; streambuf* orig_buf = cout.rdbuf(); Timer timer; { AutoPtr<Resource> main_res; main_res = generateResource(); } cout.rdbuf(orig_buf); timer.elapsed(); } Auto.h #pragma once #include <iostream> template<class T> class AutoPtr { private: T* m_ptr = nullptr; public: AutoPtr(T* ptr = nullptr) : m_ptr(ptr) { std::cout << "AutoPtr defalult constructor" << std::endl; } ~AutoPtr() { std::cout << "AutoPtr destructor" << std::endl; if (m_ptr != nullptr) delete m_ptr; } AutoPtr(AutoPtr& a) { std::cout << "AutoPtr copy constructor" << std::endl; //deep copy m_ptr = new T; *m_ptr = *a.m_ptr; } AutoPtr& operator = (AutoPtr& a) { std::cout << "AutoPtr copy assignment" << std::endl; if (&a == this) return *this; if(m_ptr != nullptr) delete m_ptr; //deep copy m_ptr = new T; *m_ptr = *a.m_ptr; return *this; } }; Resource.h #pragma once #include <iostream> class Resource { public: int *m_data = nullptr; unsigned m_length = 0; public: Resource() { std::cout << "Resource default constructed" << std::endl; } Resource(unsigned length) { std::cout << "Resource length constructed" << std::endl; this->m_data = new int[length]; this->m_length = length; } Resource(const Resource& res) { std::cout << "Resource copy constructed" << std::endl; Resource(res.m_length); for (unsigned i = 0; i < m_length; ++i) m_data[i] = res.m_data[i]; } ~Resource() { std::cout << "Resource destoryed" << std::endl; if(m_data != nullptr) delete[] m_data; } Resource& operator = (Resource& res) { std::cout << "Resource copy assignment" << std::endl; if (&res == this) return *this; if (this->m_data != nullptr) delete[] m_data; m_length = res.m_length; m_data = new int[m_length]; for (unsigned i = 0; i < m_length; ++i) m_data[i] = res.m_data[i]; return* this; } void print() { for (unsigned i = 0; i < m_length; ++i) { std::cout << m_data[i] << " "; } std::cout << std::endl; } }; Timer.h #pragma once #include <iostream> #include <vector> #include <algorithm> #include <random> #include <chrono> class Timer { using clock_t = std::chrono::high_resolution_clock; using second_t = std::chrono::duration<double, std::ratio<1>>; std::chrono::time_point<clock_t> start_time = clock_t::now(); public: void elapsed() { std::chrono::time_point<clock_t> end_time = clock_t::now(); std::cout << std::chrono::duration_cast<second_t>(end_time - start_time).count() << std::endl; } }; 위에 코드로 빌드했을때 컴파일 에러가 나고. main()문 안에서 main_res = generateResource(); 줄에 no operator "=" matches these operands 라는 오류가 발생합니다. 오버로딩도 잘되었는데 무슨 문제인지 모르겟네요 ㅠㅠ 함수를 통해서 AutoPtr<Resource>를 받는게 안된다는건지...