목록2023/12 (13)
쌓고 쌓다
https://school.programmers.co.kr/learn/courses/30/lessons/12946# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 하노이 방법은 인터넷에 좋은 글들이 많기에 간단히 설명하자면... N-1개의 블럭을 FROM 에서 TMP로 옮기고 (tmp를 이용해) N-1개의 블럭을 옮기고 맨 아래 남은 1개의 블럭을 FROM 에서 TO로 옮기고 TMP에 있는 N-1개의 블럭을 TO로 옮긴다(from을 이용해) N이 1이라면 FROM에서 목적지 TO로 바로 옮겨준다. 전체 코드 #include #include #i..
Retrofit을 쓰며 아래의 제네릭을 사용하여 공통 응답 형식을 만들었다. public class CommonResponse { private String status; private T data; private String message; } 레트로핏 사용시 Call안에 CommonResponse만 작성했는데 @POST("/comments/{inquiry_id}") Call addComment(...); CommonResponse로 변경했더니 올바르게 타입을 캐스팅한다. @POST("/comments/{inquiry_id}") Call addComment(...);
스프링은 API 예외 처리를 위해 @ExceptionHandler 어노테이션을 제공한다. ExceptionHandlerExceptionResolver는 @ExceptionHandler를 처리한다. 먼저, API 요청시 응답으로 보낼 객체를 정의해보자. ErrorResult @Data @AllArgsConstructor public class ErrorResult { private String code; private String message; } 그리고 컨트롤러에서 요청에 대한 응답으로 예외를 던져서 에러를 발생시켜 ErrorResult를 응답으로 보내보자. @RestController public class ApiExceptionV2Controller { @GetMapping("/members/{id..
https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 주어진 순서대로 해시 함수를 동작하도록하면 되는 문제라 특별한 풀이 방법은 없다. 그런데 C++ 정렬 함수를 만들어 사용하는 방법을 알아야한다. 앞저네 포스팅한 내용이다. https://non-stop.tistory.com/242 참고하자! 전체 코드 #include #include #include #include using namespace std; int column = 1; bo..
@ResponseBody 어노테이션 또는 @RestController 어노테이션을 사용하여 객체를 반환하면 HttpMessageConverter가 JSON으로 바꿔 응답을 해준다. @GetMapping("/testAPI") public Inquiry test() { Inquiry inquiry = new Inquiry(); inquiry.setId(777L); inquiry.setTitle("제목"); inquiry.setContent("내용"); inquiry.setRegDate(LocalDateTime.now()); inquiry.setName("작성자"); return inquiry; } ResponseEntity를 사용하여 응답을 만들 수 있지만 예외가 발생했을때 응답의 형태가 달라질 수 있고, ..