이전까지의 예외 처리 포스팅에서는 API 방식이 아닌 기본적인 화면을 반환하는 방식의 예외 처리를 다루었다. 그러나 API 통신에서 예외가 발생할 경우, 화면을 반환하는 것은 아무런 쓸모가 없다. 따라서 API 통신에서 예외가 발생했을 경우에는 어떤 식으로 예외 메세지를 반환할 것인지를 정하고, 그에 맞게 json으로 예외 메세지를 반환해 주어야 한다. 스프링 부트가 제공하는 기본 예외 처리 스프링 부트는 BasicErrorController를 통해 기본적인 예외처리를 수행한다고 했었다. API 예외 또한 이곳에서 기본적으로 처리해 주는데, 반환해주는 json은 다음과 같은 형식이다. Accept 헤더가 application/json인 경우 { "timestamp": "2022-01-07T13:17:21..
신나는 함수 실행 https://www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.stream.IntStream; public class Main { private static long[][][] dp = new long..
오늘 공부한 내용 백준 DP 1문제 풀기 토비의 봄- 리액티브 프로그래밍 영상 시청 토비의 스프링 3.1 : 5장 끝까지 읽기 토비의 봄 리액티브 프로그래밍 영상 1 보고 코드 따라 작성하며 공부하기 이펙티브 자바 - 아이템 19 💭느낀 점 & 배운 점 서비스 추상화 부분을 읽었는데.. 아직 잘 모르겠다.. 뭔가 그냥 인터페이스를 잘 활용해서 서비스를 추상화 시키라는 뜻 같기는 한데.. 확실히는 모르겠어서 참..ㅠㅠ 오늘은 인후염은 거의 없었는데 하루종일 콧물이 너무 나서 집중도 너무 안되고 힘들었다. 사랑니도 넘 아프고ㅠㅠ 🔥내일 공부할 내용 백준 DP 1문제 풀기 토비의 스프링 3.1 : 6장(AOP) 읽기 토비의 봄- 리액티브 프로그래밍 영상 시청 토비의 봄- 리액티브 프로그래밍 (2) 코드 작성하..
오늘 공부한 내용 토비의 스프링 - 리액티브 프로그래밍 영상 시청 토비의 스프링 3.1 : 5장 중간까지 읽기 Redis 포스팅이랑 영상들 보면서 감 잡기 💭느낀 점 & 배운 점 아 오늘은 몸이 너무 안좋아서 직접 코딩을 하거나 머리를 너무 많이 쓰는건 못 했고.. 그냥 머리 좀 비우고 영상을 좀 많이 봤습니다.. 코로나 자가진단 키트 했는데 음성이 뜨긴 했는데 코가 너무 간지러워서 깊게 못 쑤셔서 그런 것 같기도 하고..ㅠㅠ 몸 괜찮아질 때까지만 영상 보면서 공부하려 합니다.. ㅠㅠ 넘 힘드네요 🔥내일 공부할 내용 '이것이 취업을 위한 코딩 테스트다' DP 공부하기 토비의 스프링 3.1 : 5장 끝까지 읽기 토비의 스프링 - 리액티브 프로그래밍 영상 시청 이펙티브 자바 - 아이템 19 이펙티브 자바 -..
오늘 공부한 내용 백준 이분 탐색 1문제 풀기 토비의 스프링 - 리액티브 프로그래밍 영상 시청 토비의 스프링 3.1 : 4장 끝까지 읽기 💭느낀 점 & 배운 점 오늘은 공부 하다가 몸이 너무 안좋아서 포기... 인후통이 너무 심한데 코로나 걸린 것 같기도 하고... 무서워서 진단키트 사러 나갔는데 다 팔려서 없더라... 코로나 아니길.. 그 DI 간단한 코드 보고 파악하려 했는데, 구글 라이브러리 썼길래 그냥 안봤다.. 나는 라이브러리 없이 따로 구현하는 방법이 있는 줄 알았는데 아니어서...ㅠㅠ 오늘은 서비스 추상화 전까지만 토비의 스프링을 읽었는데, 아마 서비스 추상화가 PSA일 것이고, 이거는 좀 멀쩡한 정신상태로 읽고 싶어서 남겨두었다. 🔥내일 공부할 내용 '이것이 취업을 위한 코딩 테스트다' D..
공유기 설치 https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import ja..
오늘 공부한 내용 백준 이분 탐색 1문제 풀기 토비의 스프링 - 리액티브 프로그래밍 영상 시청 토비의 스프링 3.1 : 챕터3 - 3.3까지 읽기 이펙티브 자바 - 아이템 18 (상속보다는 컴포지션을 이용하라) 💭느낀 점 & 배운 점 토비의 스프링 진짜 이거 내용이 재미있고 너무 좋다!!!! 오늘 혼자서 스프링 DI원리 공부해보려고 했는데 실패했었다.. 그러다가 DI를 간단하게 구현한 좋은 자료를 발견하기도 했고, DefaultListableBeanFactory를 킹종현님이 언급해준 것을 보고 내일은 이것을 조금 공부해 볼 생각이다..!!! 할거 진짜 드럽게 많네 ㅠㅠ 🔥내일 공부할 내용 백준 이분 탐색 1문제 풀기 토비의 스프링 3.1 : 챕터3 - 3.4부터 읽기 토비의 스프링 영상 시청 이펙티브 자..
나무 자르기 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util..