일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- redis
- static
- jpa
- 재정의
- select_type
- DDL
- java
- lambda
- 열 속성
- Spring
- DI
- cache
- 테스트 코드
- stream
- Test
- AOP
- VUE
- hashcode
- StringBuilder
- jwt
- 인덱스
- 필드 주입
- 바이너리 카운팅
- 생성자 주입
- MSA
- 조합
- SQL
- equals
- docker
- KEVISS
- Today
- Total
목록전체 카테고리 (196)
백엔드 개발자 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/GuHjM/btsHurg1Yop/Ghyk4KRj7YXujneCVQfDZK/img.png)
Java로 알고리즘 문제를 푸는 중 Scanner 클래스를 사용했을 때 시간초과가 날 경우 BufferedReader을 사용하여 해결했다.그런데 Scanner와 BufferedReader에 관해 의문점이 들기 시작했다.뭐가 어떻게 다르길래 실행시간이 차이가 날까?무엇을 사용해야 효율적인 코드를 작성할 수 있을까?이러한 생각을 기억보다는 기록으로 남기고 싶기에 Scanner와 BufferedReader의 역할과 차이점을 알아보려 한다.Scanner란?Scanner 클래스는 입력받은 데이터(바이트)를 다양한 타입으로 변환하여 반환하는 클래스이다. 간단하게 기본형과 String 타입을 정규표현식을 사용해 파싱(parse)할 수 있다.Scanner의 특징java.util 패키지에 속한다. (java.util.S..
AOP 전략에 대해 알아보자AOP 적용 방식AOP는 무엇인가?AOP는 공통의 관심사(aspect)를 추상화해 잘 보관하고 있다가 필요한 곳에 동적으로 삽입하여 적용해주는 기술이다. 이로 인해 핵심 로직과 부가 기능을 분리할 수 있고 각각의 기능은 단일 책임을 가진 코드를 유지 할 수 있다. 핵심 로직과 부가 기능이 같이 있을 시 단점두 가지 책임을 가지므로 하나의 책임에 인한 코드 수정은 다른 코드에 side effect가 발생할 수 있다.두 가지 기능이 접목되어 있어 테스트 코드를 작성하려 할 때도 두가지 기능을 다 고려 해야 한다.비즈니스 로직이 복잡하거나 부가 기능이 추가가 될 수록 유지보수 하기가 어려워 진다.유지보수와 비슷한 맥락으로 기능을 확장하거나 다른 전략으로 기능을 변경하기도 어려워 진다..
Dispatcher Servlet를 확인하여Spring Web MVC 과정을 살펴보자Dispatcher Servlet이란 무엇인가외부의 요청을 특정 컨트롤러로 매핑하기 위해 Front Controller 패턴을 적용한 Servlet이다. Front Controller 패턴이란?서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리해주는 컨트롤러이다. Front Controller 패턴 사용하는 이유컨트롤러 추가시 별도의 servlet 설정을 할 필요가 없어졌다. 이전에는 컨트롤러가 추가될 때마다 서블릿 설정도 추가해주어야 했다. Tracking이나 Security를 적용할 때 편하게 구현이 가능하다.URL 구성이 간편해졌다.Dispatcher Servlet 동작 순서클라이언트..
@Controlleradvice, @ExceptionHandler에 대해 알아보자https://velog.io/@hanblueblue/Spring-ExceptionHandler예외처리예외가 발생하면 어떻게 처리하면 좋을까?보통 예외는 3 가지 방법으로 처리할 수 있다.예외 복구 : 예외가 발생하면 예외 상황에 대해 알맞게 처리하여 복구한다. ex) try, catch예외 회피 : 예외를 직접 처리하지 않고, 예외를 상위 메소드에 위임한다. ex) throw예외 전환 : 적절한 예외로 전환하여 위임한다. ex) restTemplate.doExecute이번에 살펴볼 내용은 예외 복구에 대한 내용이다.예외가 발생할 경우 try, catch를 사용하여 예외 상황을 대응할 수 있다. 그러나 우리가 실제로 개발하다..