![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcgzv3x%2FbtrK5aQZajD%2Fqf1KgbwkBYsGpf88ldzRR0%2Fimg.png)
[스프링] GlobalException 처리 방법 및 예제 정리[2] - CustomException 이용하기
2022. 9. 1. 00:56
몰아 넣기
이전 글 2022.08.30 - [JAVA/스프링(Spring)] - [스프링] GlobalException 처리 방법 및 예제 정리[1](@ControllerAdvice, @ExceptionHandler, @RestControllerAdvice) [스프링] GlobalException 처리 방법 및 예제 정리[1](@ControllerAdvice, @ExceptionHandler, @RestControllerAdvice) GlobalException 단어 그대로 전역으로 Exception을 관리한다는 의미를 포함하고 있다. 전역으로 Exception을 관리하기 위해 @ExceptionHandler를 사용법을 정리했습니다. GlobalException 처리를 하는 이유 케이.. whitewise95.ti..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlKrHF%2FbtrKWACnuzp%2Ff335VAxP9A6KULaYbV0xSk%2Fimg.png)
[스프링] GlobalException 처리 방법 및 예제 정리[1](@ControllerAdvice, @ExceptionHandler, @RestControllerAdvice)
2022. 8. 30. 17:52
몰아 넣기
GlobalException 단어 그대로 전역으로 Exception을 관리한다는 의미를 포함하고 있다. 전역으로 Exception을 관리하기 위해 @ExceptionHandler를 사용법을 정리했습니다. GlobalException 처리를 하는 이유 케이스별로 여러 이유가 있겠지만 나는 아래와 같은 이유로 많이 사용한다. 클라이언트에게 정확한 버그 원인을 보낼 수 있다. 예상가능한 범위의 Exception처리를 하면 해당 Exception에 대해 클라이언트에게 원하는 StatusCode, Message 를 가공해 보낼 수 있어 버그의 원인을 빠르게 파악할 수 있다. 유지보수가 좋다. StatusCode 및 Message를 특정 클래스에서 관리하기 때문에 유지보수가 편하며, 특정 Exception을 관리할..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKaoma%2FbtrKzPmCBZM%2F1VmQKOtHwPTPBszhrRyABK%2Fimg.png)
[IT] 대칭키와 비대칭키에 대해서
2022. 8. 25. 23:42
몰아 넣기
대칭키에 대해서 위 이미지를 보면 클라이언트와 서버는 같은 열쇠를 가지고 있어 말 그대로 대칭키라고 한다. 대칭키는 어떤 정보를 암호화하고 복호화 할 때 사용합니다. 다시 이미지를 보면 클라이언트에서 빨간아래로 향한 열쇠로 암호화를 했고 서버는 같은 키(대칭키)로 복호화를 하였다. 즉, 어떠한 정보가 대칭키를 통해 암호화 되었다면, 똑같은 키를 갖고 있는 사용자가 아니면 해당 정보를 확인 할 수 없습니다. 대칭키의 문제점 클라이언트와 서버에서는 같은 대칭키를 가지고 있다는 것은 결국은 한번은 이 대칭키를 전달해줘야한다는 것입니다. 하지만 이 전달되는 과정에서 누군가 볼 수 있다는 것이 이 대칭키의 문제입니다. 비대칭키에 대해서 비대칭키는 이제 감이 오시나요?! 클라이언트의 키와 서버의 키가 달라서 비대칭..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3tNsq%2FbtrKloPk244%2FMGckVAoZbju9LkC9Spa3mK%2Fimg.png)
[OOP] 객체 지향 프로그래밍이란?
2022. 8. 22. 20:31
몰아 넣기
Comment 객체지향 언어인 자바를 배우고 객체지향프로그래밍을 하도록 노력하지만 객체지향이 뭐에요? 라고 물어보면 선뜻 말하기가 쉽지 않다. 물론 나만 그럴 수도 있다. 이미 정리한 내용이지만 다시한번 정리하고 공부하는 의미해서 글을 다시 쓰려고한다. 전의 글을 보고싶다면 아래 링크에서 보면됩니다. 2022.06.10 - [JAVA/객체지향] - [java/객체 지향] 객체 지향 프로그래밍 [java/객체 지향] 객체 지향 프로그래밍 객체지향과 절차지향? '절차지향'이 아닌 '절차적 프로그래밍'이라고 합니다. 사실 조금만 생각해보아도 프로그래밍의 기본 틀이 절차를 기반으로 두고 있는데 이 절차를 지향한다는 것도 이상 whitewise95.tistory.com 객체 지향 프로그래밍(Object Orien..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAKlHB%2FbtrJ3SxP2Tq%2F558dBjt9eokR8ybgJw2GY0%2Fimg.png)
[collection] 큐(queue) 무엇인가요?
2022. 8. 19. 14:41
몰아 넣기
큐(queue) 란? 큐는 메모리 안 데이터들을 더욱 효율적으로 다루기 위해 만들어진 데이터 참조방식 구조는 '선입선출'의 구조를 가지고 있으며 양쪽 끝에서만 데이터를 넣거나 뺄 수 있는 선형구조입니다. 즉, 제일 처음에 들어온 데이터가 제일 빨리 나가는 방식입니다. 은행 창구 줄서기 예로 든 설명입니다. (1) Enqueue : 큐 맨 뒤에 어떠한 요소를 추가, 마지막으로 온 손님에게 번호표 발부 (2) Dequeue : 큐 맨 앞쪽의 요소를 삭제, 창구에서 서비스를 받은 손님의 번호표를 대기목록에서 삭제 (3) Peek : front에 위치한 데이터를 읽음, 다음 서비스를 받을 손님이 누구인지 확인 (4) front: 큐의 맨 앞의 위치(인덱스), 다음 서비스를 받을 손님의 번호 (5) rear: 큐..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVGzkr%2FbtrJ2ovS1KG%2FVGxwDOlC6dqEqnx11mNUO1%2Fimg.png)
[알고리즘] 시간 복잡도와 Big-O 대해서 간단한 예제
2022. 8. 18. 22:08
몰아 넣기
알고리즘이란? 어떤 문제의 해결을 위하여, 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합. 여러 단계의 유한 집합으로 구성되는데, 각 단계는 하나 또는 그 이상의 연산을 필요로 한다. [표준국어대사전] 즉, 어떤 문제가 있을때, 그것을 해결하기 위한 여러 동작들의 모임입니다. 점근 표기법이란? 알고리즘의 성능을 수학적으로 표기하는 방법입니다. 알고리즘의 “효율성”을 평가하는 방법입니다. 점근 표기법의 종류에는 빅오(Big-O)표기법, 빅 오메가(Big-Ω) 표기법이 있습니다. 빅오(Big-O)표기법 빅오 표기법은 최악의 성능이 나올 때 어느 정도의 연산량이 걸릴 것에 대한 표기법 빅 오메가(Big-Ω) 표기법 빅오메가 표기법은 최선의 성능이 나올 때 어느 정도의 연산량이 걸릴것인지에..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdJQePq%2FbtrJHd9fAHT%2FKGhTyzTOdshkc3uedXfBX0%2Fimg.png)
[Collection] HashMap의 특징, 사용법
2022. 8. 16. 10:03
몰아 넣기
Map이란? Map은 리스트나 배열처럼 순차적으로(sequential) 해당 요소 값을 구하지 않고 key를 통해 value를 얻는다. 맵(Map)의 가장 큰 특징이라면 key로 value를 얻어낸다는 점이다. List와 달리, Map에는 순서가 없다. HashMap이란? HashMap은 Map을 구현한다. key와 value를 묶어 하나의 entry로 저장한다는 특징을 갖는다. 해시 알고리즘(hash algorithm)을 사용하여 많은 양의 데이터를 검색하는데 검색 속도가 매우 빠르다. key, value의 쌍으로 관리하므로, Iteration 객체를 사용하지 않고 해당 key에서 데이터의 값을 바로 추출할 수 있다. value에 null값도 사용 가능하다.(즉, null 을 가지는 key 는 2개일 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJv5hI%2FbtrJE18eoD6%2FOYlYbcYXaPoZwcv0yLz6E1%2Fimg.gif)
[JUnit5] JUnit5 개념 및 간단한 사용법
2022. 8. 13. 23:03
몰아 넣기
JUnit 5 공식 가이드 문서 PDF 다운로드 JUnit 5 User Guide Although the JUnit Jupiter programming model and extension model do not support JUnit 4 features such as Rules and Runners natively, it is not expected that source code maintainers will need to update all of their existing tests, test extensions, and custo junit.org JUnit5란? 자바 개발자가 많이 사용하는 테스팅 기반 프레임워크를 말합니다.JUnit 5는 런타임에 Java 8(또는 그 이상)이 필요하며, JUni..