inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

doc.groupby("컬럼명").sum() 에러

미해결

[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]

영상처럼 데이터프레임은 안나오고 에러가 나옵니다ㅠ path ="00_Material(Uploaded)/COVID-19-master/csse_covid_19_data/csse_covid_19_daily_reports/" doc = pd.read_csv(path + '04-01-2020.csv',encoding='utf-8-sig') doc = doc.groupby("Country_Region").sum() doc.head() AttributeError: 'DataFrameGroupBy' object has no attribute 'groupby'

  • python
  • pandas
홍태경 댓글 1 좋아요 0 조회수 221

public class MemoryMemberRepository implements MemberRepository 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] public class MemoryMemberRepository implements MemberRepository 이 부분을 import 하려고하면 java.lang.reflect.Member member이게 import가 됩니다. 그래서 다른 분들의 질문을 보고 import hello.hellospring.domain.Member;로 변경해봤습니다. 그래도 계속해서 java: hello.hellospring.repository.MemoryMemberRepository is not abstract and does not override abstract method findAll() in hello.hellospring.repository.MemberRepository 이러한 오류가 발생합니다. 전에 파일 경로중에 한글로 된 경로가 있어서 바꿔서 그 이후 잘 되다가 이번에도 이러네요 왜 그런가요? 코드와 오류 메시지 같이 올리겠습니다.

  • java
  • spring
  • mvc
  • spring-boot
maxx 댓글 2 좋아요 0 조회수 304

이 다음 강의도 준비가 되어 있을까요??

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 크롤링 관련해서 이 다음 클래스도 준비되어 있을까요?? 도움많이 받고 있어 조금 더 고급 스킬 배우고 싶습니다.

  • python
  • 웹-크롤링
smartguy815 댓글 2 좋아요 0 조회수 276

팩토리얼 문제

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

static int Factorial (int n) { return n * Factorial(n-1); } static void Main(string [] args) { int ret = Factorial(5); Console.WriteLine(ret); } Factorial(5)가 int ret으로 할당되었고, Factorial(n)이므로 n이 5로 삽입되었다는걸까요? static int Factorial 구문에서 반환값이 return n * Factorial(n-1); 이렇게 표기되어 있어서 n-1 이므로 Factorial(5)가 나오기 위해서는 n에 6이 할당되어야 하는게 아닌가요? 각각 static 구문의 의미랑 로직이 어렵네요 핳 모르겠습니다 도와주세영 .. 🥲

  • C#
hz0227 댓글 1 좋아요 0 조회수 320

현재 index.html이 뜨지 않고, 이전에 실행한 index.html화면이 뜹니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

밸리데이션 프로젝트 index.html 입니다. 이 상태로 실행했는데 화면에는 폼 프로젝트 화면이 뜹니다. (이 프로젝트 실행전에 폼프로젝트를 실행했었습니다.) 새로고침을 해도, 다시 시작해도, 새화면에서 띄워도 마찬가지입니다. index.html 파일을 삭제하고 새로 만들면 정상 화면이 뜨는데 이유가 뭘까요? (다른 프로젝트 실행때도 동일한 현상이 계속 나타났었습니다)

  • spring
  • mvc
jfk6725 댓글 2 좋아요 -1 조회수 482

8:16초 컨트롤러의 파라미터에 질문이 있습니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

이전 버전에서는 파라미터로 HttpServletRequest와 Response를 받았는데 V3버전부터 반환을 ModelView로 하는 이유와 그 파라미터로 맵이 사용되는 이유 그리고 맵의 키 벨류가 String 인데 각각이 어떤 값이 매칭되는건지 이해가 안됩니다. 지금 다시 복습하는 부분인데 다시 봐도 모르곘습니다…

  • spring
  • mvc
양치잘하기 댓글 1 좋아요 0 조회수 242

dma의 read/write data width

해결됨

설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)

안녕하세요 제공해 주신 코드를 수정해서 rdma와 wdma의 data width를 서로 다르게 설계해보았는데요. AWSIZE와 ARSIZE을 다르게 설정해도 큰 값으로 통일되어 error가 발생하더라구요. data width를 서로 다르게 설계하면 axi spec에 위배되는 것인가요? 잠깐 알아본 바로는 위와 같이 read/write의 width가 다른 data를 전송하고 싶은 경우 경우 큰 쪽의 data width에 맞춘뒤 narrow burst라는 것을 활용해서 data width보다 작은 데이터를 전송할 수 있는 방법이 있던데 이것을 사용해야 하는 것인가요?

  • verilog-hdl
  • fpga
  • 임베디드
  • amba
장현수 댓글 1 좋아요 1 조회수 305

추천 이벤트에 대해 질문 드립니다.

미해결

실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(26년 Update)

자동으로 수집되는 이벤트 향상된 측정 이벤트 추천 이벤트 맞춤 이벤트 이렇게 4개의 이벤트가 있다고 이해 했습니다. 이 중 1,2번 항목은 자동으로 수집되며 GA4에서 정의된 이벤트 이름으로 접근, 사용할 수 있다고 이해 했습니다. 4번은 사용자가 직접 커스텀 하여 만드는 것이기 때문에 어떻게 사용 해야 하는지를 이해 하고 있습니다. 그런데 3번에 대해, 구글에서 해당 이벤트 이름과 관련해 데이터를 수집해 제공해 주는 것인지요? 아니라면 사용자가 직접 이벤트를 만들어야 하는데 관련한 항목, 즉 예를 들어 login에 대해 이벤트를 만들어 추적하고자 한다면, 트리거 요소나 매개변수 설정 등 원하는 항목들은 사용자가 직접 커스텀 하고 대신, 이벤트 이름은 추천 이벤트의 테이블에 명시된 설명과 부합되는 login 이라는 이벤트 이름을 정의하여야 한다. 그래야지 내가 원하는 이벤트의 value 뿐만 아니라 GA4의 머신러닝 기반의 분석에 활용되어 추가적인 분석 리포트로 제공되거나 탐색의 세그먼트 등에 활용되어 진다. 이렇게 이해를 해야 할까요? 정확하게 어떻게 사용해야 하는지에 대한 이해가 잘 와닿지 않아서 사용 프로세스에 대해 알고 싶습니다.

  • Google-Analytics
  • Google-Tag-Manager
  • 데이터-리터러시
  • GA4
bluebamus 댓글 2 좋아요 0 조회수 279

강의 자료 관련 문의

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

혹시 위 사진에 있는 이런 페이지(?)들 링크는 없는지 궁금해서 질문 남깁니다!!

  • java
  • spring
  • mvc
  • spring-boot
happyrhkr 댓글 1 좋아요 1 조회수 203

안전성 확보조치 기준이 언제 버전인지 궁금해요

해결됨

2026년 CPPG 개인정보관리사 자격증 취득하기 (개정안 반영)

2조의 정의와 제5조의 3항의 내용이 고시 제2023-6호, 2023.9.22 시행 및 일부개정 버전과 다른거 같아서욤.. 국가법령정보센터에서 법령체계도로 봤을 때 저는 9월 22일 시행자료가 최신인 것으로 이해했는데 혹시 다른 버전이.. 어딘가 있나요?

  • security
  • cppg(개인정보관리사)
미네랄워터 댓글 1 좋아요 0 조회수 319

spring Security 구현중 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 에러 발생

미해결

https://github.com/myungkeun02/spring_blog_3 공부하고있는 코드입니다. 제목 그대로 포스트맨으로 테스트중에 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 라는 에러가 발생합니다. 구글링해서 문제가 발생할만한 부분을 모두 찾아 보았지만 해결이 안되어 글 올려봅니다. 해결해주시는분께 아메리카노 쏩니다

  • spring
  • error
  • security
  • servlet
  • execption
  • java
명근 최 댓글 1 좋아요 0 조회수 563

회원가입 member 오류

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 프로젝트 먼저 첨부합니다. https://drive.google.com/file/d/1xDPF5Zfm4ou2KgjOeroxDoAaXHuuiE9s/view?usp=sharing 중복회원예외와 회원가입 테스트에서 아래와 같은 오류가 발생합니다. org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement [Table "MEMBER" not found (this database is empty); SQL statement: select m1_0.id,m1_0.name from member m1_0 where m1_0.name=? [42104-224]] [select m1_0.id,m1_0.name from member m1_0 where m1_0.name=?]; SQL [select m1_0.id,m1_0.name from member m1_0 where m1_0.name=?] Caused by: org.hibernate.exception.SQLGrammarException: could not prepare statement [Table "MEMBER" not found (this database is empty); SQL statement: select m1_ 0.id ,m1_ 0.name from member m1_0 where m1_ 0.name =? [42104-224]] [select m1_ 0.id ,m1_ 0.name from member m1_0 where m1_ 0.name =?] Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MEMBER" not found (this database is empty); SQL statement: select m1_ 0.id ,m1_ 0.name from member m1_0 where m1_ 0.name =? [42104-224] 이 오류가 뜨기 전에도 실행은 되나, 테이블이 생성이 되지 않았는지 h2에서 select * from member; 했을 때 아무것도 나오지 않는 문제가 있었습니다. 더하여 http://localhost:8080/ 이 연결거부됐다고 나오면서 아예 접속이 되지 않습니다. 어떤 부분에 오류가 있을까요? 계속 다른 오류들이 나오면서 조금씩 수정해봤던 것이라 어디서부터 잘못된지도 잘 모르겠습니다,,

  • java
  • spring
  • mvc
  • spring-boot
.. 댓글 2 좋아요 0 조회수 437

axi4-lite 질문

미해결

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

안녕하세요 맛비님. AXI4_Lite 관련 질문을 드리게 되었습니다. 1. 스위치나 버튼의 상태를 알려주는 reg의 값과 주소를 알 수 있는 방법이 있나요? 5장과 8장을 통합한 프로젝트를 만들려고 합니다. 각 스위치의 ON/OFF 상태를 UART로 상태를 print하는 것을 하려고 합니다. xilinx에서 제공하는 IP의 datasheet는 아래 페이지에서 원하는 IP를 검색하여 하는 것이 맞나요? https://www.xilinx.com/support.html#documentation

  • fpga
  • 임베디드
최현창 댓글 1 좋아요 1 조회수 241

[도메인 연결하기] 로그인 완료 후에 getServerSideProps 실행되지만,회원정보가 null 이 표시 되는 이유를 몰라서 질문드립니다.

미해결

[리뉴얼] React로 NodeBird SNS 만들기

React로 Nodebird sns를 시청하고 나서 개인 프로젝트를 만들고 나서 배포하는 과정에서 막히는 부분이 있어서 질문드립니다. 기존에 localhost:3060 에서 로그인 완료후 메인화면으로 이동시 메인화면 서버사이드 렌더링이 실행됩니다. export const getServerSideProps = wrapper.getServerSideProps(async (context) => { const cookie = context.req ? context.req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }) context.store.dispatch(END); await context.store.sagaTask.toPromise(); }) 그래서, const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); me에 데이터가 들어있습니다. [ 도메인 연결하기] 영상 시청후 Route 53, 가비아 주소, 탄력적 ip 주소를 사용하여 백엔드/ 프론트 서버를 실행하였습니다. 회원가입 후 로그인하고 나서 메인 화면으로 이동되면 쿠키가 저장되는 것을 확인했습니다 하지만 로그인 후 메인 화면으로 이동하면, 메인page에 서버사이드 렌더링 코드(getServerSideProps)가 실행하고, export const getServerSideProps = wrapper.getServerSideProps( async (context) => { const cookie = context.req ? context.req.headers.cookie : ""; axios.defaults.headers.Cookie = ""; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }); context.store.dispatch(END); await context.store.sagaTask.toPromise(); } ); const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); 이때 로그인한 사용자의 데이터 정보가 null로 표시됩니다. [back logs] 왜 me가 null 인지 ? 무엇이 문제인지 모르겠어서 질문드립니다. 진행 순서 [로그인 화면] : 아이디와 비밀번호 를 입력하고 확인 버튼을 누른다. 메인화면에서 서버사이드 렌더링 코드부분 실행하여 회원정보를 불러온다. (LOAD_MY_INFO_REQUEST) export const getServerSideProps = wrapper.getServerSideProps(async (context) => { const cookie = context.req ? context.req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }) context.store.dispatch(END); await context.store.sagaTask.toPromise(); }) export default Blog; const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); 3. [메인화면] 회원정보를 불러와 회원정보가 null 이여서 로그아웃 버튼으로 변경되지 않습니다. (me 정보가 null 여서 버튼이 변경되지 않습니다.) 쿠기는 유지되어서 로그인 화면으로 가서 로그인 할시 "로그인하지 않은 사용자만 접근 가능합니다" 안내창이 나옵니다.

  • react
  • redux
  • node.js
  • express
  • next.js
박동규 댓글 2 좋아요 0 조회수 249

LIS 예시 문제 boj 11053에서 lower_bound() 질문드립니다.

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 선생님 lower_bound()를 사용하는 방법으로 boj 11053을 풀면 답은 맞지만 로직 흐름이 맞지 않는 테스트 케이스가 있습니다. 4 10 20 30 11 위 input을 입력하면 출력으로 10 0 0 0 10 20 0 0 10 20 30 0 10 11 30 0 이렇게 나옵니다. 이러한 경우를 고려하지 않아도 괜찮나요?

  • c++
  • 코딩-테스트
ddragon 댓글 1 좋아요 0 조회수 203

로그인 성공 후 어떻게 진행되는지 이해가 안갑니다.

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

@Override protected void successfulAuthentication(HttpServletRequest req, HttpServletResponse res, FilterChain chain, Authentication auth) throws IOException, ServletException { String userName = ((User) auth.getPrincipal()).getUsername(); UserDto userDetails = userService.getUserDetailsByEmail(userName); byte[] secretKeyBytes = Base64.getEncoder().encode(environment.getProperty("token.secret").getBytes()); SecretKey secretKey = Keys.hmacShaKeyFor(secretKeyBytes); Instant now = Instant.now(); String token = Jwts.builder() .subject(userDetails.getUserId()) .expiration(Date.from(now.plusMillis(Long.parseLong(environment.getProperty("token.expiration_time"))))) .issuedAt(Date.from(now)) .signWith(secretKey) .compact(); res.addHeader("token", token); res.addHeader("userId", userDetails.getUserId()); } 여기서 로그인 성공 후 토큰이 발급된 뒤에 @Component @Slf4j public class AuthorizationHeaderFilter extends AbstractGatewayFilterFactory<AuthorizationHeaderFilter.Config> { Environment env; public AuthorizationHeaderFilter(Environment env) { super(Config.class); this.env = env; } public static class Config { // Put configuration properties here } @Override public GatewayFilter apply(Config config) { return (exchange, chain) -> { ServerHttpRequest request = exchange.getRequest(); if (!request.getHeaders().containsKey(HttpHeaders.AUTHORIZATION)) { return onError(exchange, "No authorization header", HttpStatus.UNAUTHORIZED); } HttpHeaders headers = request.getHeaders(); Set<String> keys = headers.keySet(); log.info(">>>"); keys.stream().forEach(v -> { log.info(v + "=" + request.getHeaders().get(v)); }); log.info("<<<"); String authorizationHeader = request.getHeaders().get(HttpHeaders.AUTHORIZATION).get(0); String jwt = authorizationHeader.replace("Bearer", ""); // Create a cookie object // ServerHttpResponse response = exchange.getResponse(); // ResponseCookie c1 = ResponseCookie.from("my_token", "test1234").maxAge(60 60 24).build(); // response.addCookie(c1); if (!isJwtValid(jwt)) { return onError(exchange, "JWT token is not valid", HttpStatus.UNAUTHORIZED); } return chain.filter(exchange); }; } private Mono<Void> onError(ServerWebExchange exchange, String err, HttpStatus httpStatus) { ServerHttpResponse response = exchange.getResponse(); response.setStatusCode(httpStatus); log.error(err); byte[] bytes = "The requested token is invalid.".getBytes(StandardCharsets.UTF_8); DataBuffer buffer = exchange.getResponse().bufferFactory().wrap(bytes); return response.writeWith(Flux.just(buffer)); // return response.setComplete(); } private boolean isJwtValid(String jwt) { byte[] secretKeyBytes = Base64.getEncoder().encode(env.getProperty("token.secret").getBytes()); SecretKey signingKey = new SecretKeySpec(secretKeyBytes, SignatureAlgorithm.HS512.getJcaName()); boolean returnValue = true; String subject = null; try { JwtParser jwtParser = Jwts.parserBuilder() .setSigningKey(signingKey) .build(); subject = jwtParser.parseClaimsJws(jwt).getBody().getSubject(); } catch (Exception ex) { returnValue = false; } if (subject == null || subject.isEmpty()) { returnValue = false; } return returnValue; } 여기로 넘어 오는 게 맞나요? 그리고 그 뒤에 어떻게 진행되는지 설명 부탁드립니다!!

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
댓글 2 좋아요 0 조회수 641

r-value reference와 std::move

미해결

홍정모의 따라하며 배우는 C++

안녕하세요! 항상 수고 많으십니다. r-value 레퍼런스와 move 함수에 대해 궁금한 것이 몇 있는데 나름 찾아봤지만 해소되지않은 부분이 있어 이렇게 여쭤봅니다. 아래와 같이 && 를 통해 r-value 를 받고있는데요, { int && ref = 5; cout << ref << endl; //ok ref = 3; // ok cout << &ref << endl; //ok } { ref; //error, 정의된 scope 밖 } 원래 r-value 이던 5 는 잠시 레지스터든 어디에 임시 생성됐다가 표현식( ; )이 끝나면 바로 사라질 예정이었지만 l-value 로 바뀌어 메모리에 직접 저장되는 형식으로 되어, l-value 처럼 작동한다는 것이 적절한 이해인가요? (scope안에서는 계속 데이터 유효, scope 밖은 자동소멸 등..) move 함수에 대해서, move 는 인자로 들어간 것을 r-value 로 리턴하여 소유권을 이전, 및 자신의 소유권은 박탈해줍니다. 다음의 예시에서, string&& s 가 r-value 인 abc 를 받고있는데요, 이때 b 는 move(s) 를 통해 abc 에 대한 소유권을 이전받고, s 는 소유권을 박탈당해서 코드 실행시 다음의 결과가 나옵니다. b 는 abc를 정상출력, s 는 소유권을 박탈당해 아무것도 출력안함. 즉 move 가 소유권 이전, 박탈을 잘 해주는데요, 한편, (15.4강 2:54부근) 에서 가운데를 보면 res1 이 move 를 통해 r-value 로 리턴되고 res2 로 소유권(포인팅 주소) 이전 및 자신은 박탈 되는 것 처럼 보입니다. 명확히 확인해보기 위해 저 주황줄 코드가 호출하는 생성자에 아래와 같이 res1 의 m_ptr 의 주소를 찍어봤는데 와 같이 널포인터(소유권상실)가 아닌 가지고 있던 주소를 계속 가지고 있습니다. 저희가 50번째 줄에 널포인터를 직접 넣기 전에도 소유권 박탈은 안 된 모습인데 move 를 통해 소유권이 상실되는 string 케이스와는 대비가 되는 모습입니다. string 과 달리 사용자 정의 자료형은 이전이나 박탈은 사용자가 직접 정의 해줘야한다는 시각으로 이해하면 될까요? 그리고 move 를 통해 r-value 로 바뀐다고 하는데 그렇다면 바로 위의 예시에서 res1 는 r-value 가 돼서 언뜻 보면 26번줄 이후로는 소멸될 것 같지만 AutoPtr 클래스인 res1 에 테스트 멤버함수를 만들어 호출해봐도 정상적으로 작동이 됩니다. (i'am --> i'm 오타입니다) --> res1 test 멤버함수 --> 32번째 줄 test 멤버함수 호출 이것을 토대로 생각해보면 res1 에 대해 res1 자체를 r-value 로 수정하는 것이 아니라, 자신은 변경되는 것이 아닌 res1 를 r-value 로 가공한 걸 잽싸게 넘겨주고 자신은 바뀌는 것 없이 끝인 개념인가요? 의 경우 위에 해당하는 r-value 복사생성자로 이동합니다. 이렇게 얕은복사가 진행됩니다. ---------------------------------------------------- 이번에는 위에 move 함수를 뺐는데요, 그러면 에 해당하는 l-value 복사생성자가 호출됩니다. 실제로 30번 줄에 의해 와 같은 깊은복사가 일어나게 됩니다. 그래서 r-value 를 써서 소유권 이전 등으로 얕은복사로 리소스를 적게쓰자가 지향점이겠으나 그냥 단순히 아까 깊은복사가 일어나는 l-value 복사생성자 의 내용을 처럼 그냥 얕은복사가 일어나도록 하는 코드로 갈아끼우면 되는 것 아닌가요? 물론 저렇게는 오류가 나서 처럼 const 를 빼주면 정상작동합니다. 위 실행결과 --> 결과도 의도하는 얕은복사가 이루어지는데 이런 방법이 왜 잘못된 건지 알고싶습니다. 질문글이 좀 많이 길어 죄송한 면이 있네요. 항상 친절한 답변 감사합니다. 감사합니다. 3번 질문에 해당하는 코드입니다. <main.cpp> #include "AutoPtr.h" #include "Resource.h" #include <iostream> using namespace std; template<class T> void MySwap(T& a, T& b) { //T tmp = a; //a = b; //b = tmp; T tmp{ std::move(a) }; a = std::move(b); b = std::move(tmp); } int main() { { AutoPtr<Resource> res1(new Resource(1000000)); cout << res1.m_ptr << endl; AutoPtr<Resource> res2 = res1; cout << res1.m_ptr << endl; cout << res2.m_ptr << endl; } return 0; } <AutoPtr.h> #pragma once #include <iostream> using namespace std; template<class T> class AutoPtr { public: T* m_ptr; public: AutoPtr(T* ptr = nullptr) : m_ptr(ptr) { std::cout << "AutoPtr default constructor " << std::endl; } ~AutoPtr() { std::cout << "AutoPtr destructor " << std::endl; if (m_ptr != nullptr) delete m_ptr; } AutoPtr(AutoPtr& a) : m_ptr(a.m_ptr) { a.m_ptr = nullptr; // really necessary? std::cout << "AutoPtr move constructor " << std::endl; } AutoPtr& operator = (const AutoPtr& a) { std::cout << "AutoPTr copy assignment " << std::endl; if (&a == this) // prevent self-assignment return *this; if (m_ptr != nullptr) delete m_ptr; // deep copy m_ptr = new T; *m_ptr = *a.m_ptr; return *this; } AutoPtr(AutoPtr&& a) : m_ptr(a.m_ptr) { a.m_ptr = nullptr; // really necessary? std::cout << "AutoPtr move constructor " << std::endl; } AutoPtr& operator=(AutoPtr&& a) { std::cout << "AutoPtr move assignment " << std::endl; if (&a == this) return *this; if (!m_ptr) delete m_ptr; //shallow copy m_ptr = a.m_ptr; a.m_ptr = nullptr; return *this; } void test() { std::cout << m_ptr << " i'am here " << std::endl; } T& operator*() const { return *m_ptr; } T* operator->() const { return m_ptr; } bool isNull() const { return m_ptr == nullptr; } }; <Resource.h> #pragma once #include <iostream> class Resource { //private: public: int* m_data = nullptr; unsigned m_length = 0; public: Resource() { std::cout << "Resource 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 destroyed" << 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; } void setAll(const int& v) { for (unsigned i = 0; i < m_length; ++i) m_data[i] = v; } };

  • c++
Echapper4 댓글 2 좋아요 1 조회수 454

[username] 경로와 home 경로로 라우팅할 때 오류

미해결

Next + React Query로 SNS 서비스 만들기

"홈탭 만들면서 Context API" 강좌를 듣고 localhost3000/home에 들어가면 localhost3000/[username] 경로로 들어가지다가(화면에 '프로필 페이지'라고 뜨는 것을 보니 이런 것 같습니다! ) 화면이 빈 화면으로 바뀝니다.. 그리고 왼쪽 섹션에 있는 프로필을 클릭하면 아래와 같은 오류가 뜹니다 ㅠ 무슨 문제일까요? 오류 내용 : ⨯ Error: Cannot find module '/Users/ryuhojun/Documents/z-com/.next/server/app/(afterLogin)/[username]/page.js' Require stack: - /Users/ryuhojun/Documents/z-com/node_modules/next/dist/server/require.js - /Users/ryuhojun/Documents/z-com/node_modules/next/dist/server/load-components.js - /Users/ryuhojun/Documents/z-com/node_modules/next/dist/build/utils.js - /Users/ryuhojun/Documents/z-com/node_modules/next/dist/server/dev/hot-middleware.js - /Users/ryuhojun/Documents/z-com/node_modules/next/dist/server/dev/hot-reloader-webpack.js - /Users/ryuhojun/Documents/z-com/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js - /Users/ryuhojun/Documents/z-com/node_modules/next/dist/server/lib/router-server.js - /Users/ryuhojun/Documents/z-com/node_modules/next/dist/server/lib/start-server.js

  • react
  • next.js
  • react-query
  • next-auth
  • msw
유호준 댓글 2 좋아요 0 조회수 292

필드 오류 메세지를 골라 쓸수는 없나요?

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

메세지를 관리하는 공통 관리팀에서 필드에 대한 required 메세지 4가지를 정의해 놨다고 가정할 때 required.item.itemName=상품 이름은 필수입니다. required.itemName=이름은 필수입니다. required.java.lang.String = 필수 문자입니다. required = 필수 값 입니다. 아래 명령어는 bindingResult.rejectValue("itemName","required"); required.item.itemName으로 정의된 에러 메세지(상품 이름은 필수입니다.)만 불러 올 수 있는거죠? 개발자가 네가지 오류 메세지 중에서 선택해서 사용할 수 있는 방법은 없나요?

  • spring
  • mvc
jfk6725 댓글 1 좋아요 0 조회수 246

노션 공유 부탁드려요

미해결

기출로 대비하는 개발자 전공면접 [CS 완전정복]

노션 공유 요청 드렸는데 아직 받지 못해서 질문글 남깁니다.메일은 bsy1343@naver.com 노션은 thedark1343@gmail.com 입니다.감사합니다.

  • 면접
  • 운영체제
  • 기술면접
hyeonhee Mun 댓글 1 좋아요 1 조회수 339

인기 태그

인프런 TOP Writers

주간 인기글