분류 전체보기(73)
-
spring annotation 정리1 @Controller
안녕하세요. spring으로 프로젝트를 진행하면서 백엔드 개발자를 준비하고 있는 학생입니다. 공부를 하면서 어노테이션의 역할을 잘 모르고 사용하는 경우가 많아서 제가 이해가 편하도록 정리를 해보려고 합니다. 글을 읽고 나서 잘못된 점이나 부족한 점 댓글로 알려주시면 감사하겠습니다. Controller란? 클라이언트로 부터 요청을 받은 후 처리하여 응답을 보내주는 역할을 한다. @Controller의 역할 Model 객체를 만들어 데이터를 담아 뷰를 찾는다. @RestController의 역할 json 이나 xml 형식으로 http 응답에 담아 보낸다. @RestController = @Controller + @ResponseBody 의존성 주입하는 방법 생성자 주입을 통해 의존성을 주입하는 방법을 권장하..
2023.01.08 -
spring 예외 처리 @RestControllerAdvice, @ExceptionHandler
개발을 할 때 예외 처리는 상당히 중요하다고 생각한다. 고객들이 해당 제품을 사용시 예외 처리가 제대로 안되서 사용하는데 불편함을 느낀다면 해당제품을 사용하지 않는 불상사가 발생할 수 있습니다. 예외 처리를 할 때 try catch문을 활용해 잡는 방법이 있지만 try catch를 사용함으로써 복잡하고 가독성이 떨어지게 되는 문제점이 있습니다. spring에 다양한 예외 처리 방법이 있는데 그 중 @ControllerAdvice와 @ExceptionHandler를 사용하는 방법에 대해서 정리를 해보겠습니다. @ControllerAdvice 와 @RestControllerAdvice의 차이 spring을 공부 해본 분이라면 @Controller와 @RestController에 대해 학습한적이 있으실 겁니다..
2023.01.06 -
git merge 이해하기
프로젝트를 진행하게 되면 사람마다 각자 역할을 맡아서 개발을 진행하게 된다. 지금까지 git을 사용하는 대부분의 경우에 혼자서 개발을 진행한 후 git을 활용했지만 사람들과 같이 개발을 진행하기 위해서는 git merge에 대해 이해가 필요하다고 생각한다. merge란? 분기 되어 있는 브랜치를 병합하는 것이다. merge의 종류 1. merge 2. squash and merge 3. rebase and merge 현재 팀프로젝트에서 각자 역할을 맡아 개발을 진행중이라고 가정하자. 내가 개발하고 있는 브랜치명을 my-branch라고 가정했을 때 기존 master에 변화가 없을 경우 다음과 같은 그림일 것이다. git branch checkout my-branch 만약 내가 my-branch에서 개발을 ..
2023.01.05 -
이것이 코딩테스트다. 그리디 - 1이 될 때까지 (java)
문제 어떠한 수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다. 단, 두 번째 연산이 N이 K로 나누어떨어질 때만 선택할 수 있다. 1. N에서 1을 뺀다. 2. N을 K로 나눈다. 입력조건 첫째 줄에 N(2
2022.12.31 -
이것이 코딩테스트다. 그리디 - 숫자 카드 게임 (java)
문제 숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다. 단 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다. 1. 숫자가 쓰인 카드들이 N x M 형태로 놓여 있다. 이 때 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 2. 먼저 뽑고자 하는 카드가 포함되어 있는 행을 선택한다. 3. 그다음 선택된 행에 포함된 카드들 중 가장 낮은 카드를 뽑아야 한다. 4. 따라서 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. 입력조건 첫째 줄에 숫자 카드들이 놓인 행의 개수 N과 열의 개수M이 공백을 기준으로 하여 각각 ..
2022.12.31 -
이것이 코딩테스트다. 그리디 - 큰 수의 법칙 (java)
입력 조건 - 첫째 줄에 N(2
2022.12.30