Spring Security와 JWT를 활용해서 회원 인증 기능을 구현하기 위해 여러 코드들을 보고 공부하던 중에 GenericFilter를 이용해 필터를 구현한 코드와 OncePerRequestFilter를 이용한 코드가 있어서 서로 어떤 차이가 있는지 궁금해서 찾아보았다. 개요 GenericFilter와 OncePerRequestFilter는 둘 다 대상을 필터로 등록해주는 인터페이스이다. public class JwtFilter extends GenericFilterBean { @Override public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws ..
Lombok은 어노테이션을 이용해서 컴파일 시점에 자동으로 코드를 추가할 수 있는 라이브러리이다. 반복해서 작성해야 하는 코드를 알아서 생성해주기 때문에 생산성이 늘어나고 코드 가독성 또한 좋아진다. 처음 스프링부트를 접하고부터 롬복을 사용하였는데 당연히 써야되는 것처럼 사용했고 롬복이 제공하는 기능들이 당연한 것처럼 여겨졌다. 그러나 여러 자료들을 접하다 @Data 는 엔티티에서 사용하면 안 된다거나 @Setter 사용을 지양해야 한다거나 하는 얘기들을 들을 수 있었고 우아한테크코스 팀들의 프로젝트 코드를 보면 실제로 롬복을 최소화해서 사용하는 것을 볼 수 있었다. 그래서 롬복의 어떤 기능을, 어느정도까지 사용하는 것이 안전한지 조금 알아보았다. @Data @Data는 @ToString, @Equals..
Spring WEb MVC의 Dispatcher Servlet 동작원리 클라이언트의 요청을 Dispatcher Servlet이 최초로 받고 요청 정보를 통해 위임할 컨트롤러를 찾아서 HandlerMapping 에 전달한다. HandlerMapping 에서 Contoller 에 처리를 요청하고 controller가 처리한 요청을 HandlerAdapter 에서 ModelAndView 객체로 변환하여 dispatcher servlet 에 전달한다. dispatcher servlet은 전달받은 ModelAndView 객체를 이용해 매핑되는 view를 검색한다. ViewResolver 에서 처리 결과를 view에 전달하고 결과물을 dispatcher servlet에 전달한다. dispatcher servlet에..
JPA와 ORM JPA는 자바 언어를 DB가 이해할 수 있도록 하는 번역기라고 할 수 있다. 원래 DB는 SQL이라는 언어를 사용해서 객체를 저장하거나 불러올 수 있는데 매번 DB와 소통할 때 SQL을 작성하게 되면 객체지향적으로 프로그래밍을 할 수가 없다. 이러한 객체지향과 관계형 DB간 패러다임 불일치를 해결하기 위한 기술이 ORM 프레임워크이고 자바 진영의 ORM 기술 표준이 JPA이다. JPA는 개발자가 SQL을 작성하지 않아도 적절한 SQL을 생성해서 DB와 소통하고 객체를 Mapping해주기 때문에 생산성을 크게 높일 수 있고 DB를 바꾼다고 해도 매핑 정보가 class로 명시되어 있기 때문에 쿼리를 수정할 필요가 없어 유지보수에 유리하다. 그러나 쿼리가 자동으로 생성되는 만큼 개발자가 의도하..
keyword : CI/CD, Docker, Jenkins, Deploy class : Programming 1. 목적 application.properties 혹은 application.yml 파일에서 외부로 노출되어서는 안 되는 요소들을 효과적으로 감추면서 CI/CD를 완성하기 위함 2. 개발환경 Springboot 2.7.3 Java 11 Amazon EC2 t2.micro (프리티어) ubuntu 20.04 Jenkins 2.376 Docker 20.10.21 현재 프로젝트에서 관리하는 application.properties 내용 이대로 깃허브에 푸쉬하면 중요정보가 모두 노출이 된다. Github Actions를 사용하면 Github에서 Secret Actions 설정을 통해 노출이 되어서는 안..
- Total
- Today
- Yesterday
- 형변환
- JPA
- 타입스크립트
- 알고리즘
- Queue
- 스프링
- JavaScript
- java
- BFS
- DP
- 백준
- 자바bfs
- Nest
- 정렬
- 스프링부트
- 자바dp
- SQL
- 자바스크립트
- CS
- Spring
- 이분탐색
- SQLD
- 자바
- 리액트
- 해시맵
- Comparator
- 프로그래머스
- 자바트리
- dfs
- Algorithm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |