1. 문제 상황 JwtTokenFilter를 UsernamePasswordAuthenticationFilter 이전에 끼워 넣고 실행하였는데 필터가 두 번 호출되고 동작이 꼬여버리는 상황이 발생했다. (1) JwtTokenFilter.java @Component @RequiredArgsConstructor public class JwtTokenFilter extends OncePerRequestFilter { private final JwtTokenProvider jwtTokenProvider; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filter..
전체 글
단계별로 성장하자!1. 메소드 이름에서 지원되는 키워드 공식 문서를 기반으로 살펴보았다. public interface MemberRepository extends JpaRepository { List findByGenderAndAgeGreaterThan(String gender, int age); } 위와 같이 Member 객체의 gender state가 입력된 gender와 같고 age 상태가 입력된 age보다 큰 Member를 찾는 쿼리 메서드를 정의할 수 있다. Method Name은 만약 엔티티의 변수 Name이 바뀌면 같이 변경해야 한다! (안하면 에러남) 2. 쿼리 메서드 기능 카운팅(COUNT): count~By 반환타입은 long 타입 존재여부(EXISTS): exists~By 반환타입은 boolean 타..
generate: Cmd + n history: Cmd + e 이전에 열었던 파일 앞으로 가기 뒤로가기: Cmd + [ or ] : 단어 한번에 선택: Option + 화살표 상 라인 삭제: Cmd + Backspace 자동 완성: Control + Space 문단 단위로 코드 이동: Command + Shift + 화살표 상, 하 한 줄 위 아래 이동: Option + Shift + 화살표 상, 하 Constructor/Getter/Setter 등 선택 자동 만들기, 파일 생성하기: Control + Enter Or Cmd + n 계속 업데이트 예정~~
1. EntityManagerFactory와 EntityManager를 먼저 알아보자 EntityManager란 사용자의 요청에 대하여 커넥션 풀에서 커넥션을 얻고 DB에 접근하는 역할을 한다. EntityManagerFactory란 말 그대로 사용자의 요청마다 EntityManger를 만들어내는 공장이다. 2. 영속성 컨텍스트가 뭘까 그래서 간단하게 엔티티의 Life Cycle을 관리하는 저장소이다. EntityManager가 생성될 때 PersistenceContext가 같이 자동으로 생성된다. 3. Entity Life Cycle 비영속(new/transient): 영속성 컨텍스트와 관계없는 새로운 상태 영속(managed): 영속성 컨텍스트에 의해 관리되고 있는 상태 준영속(detached): 원..
간단하게 말하면 개발자 팀에 의해 만들어진 결과물에 대해 지속적인 통합(CI)과 지속적인 배포(CD)를 하는 프로세스이다. 1. CI (Continuous Integration) CI란 작업된 코드의 빌드, 테스트, 패키징 작업의 자동화 과정의 단계이다. 작은 단위로 여러번 지속적으로 통합하여 빌드, 테스트 되어서 여러 개발자가 공유하는 레퍼지토리에 통합되므로 여러 개발자가 같은 코드에 대해서 작업할 경우 발생할 수 있는 충돌 문제를 해결할 수 있다. 2. CD Continuous Delivery와 Continuous Deployment 두 가지 의미가 있다. (1) Continuous Delivery CI를 통해서 얻은 통합된 결과물이 고객에게 배포되기 전에 검증하고 수동적으로 배포 전달하는 단계이다...
이번에 진행하고 있는 프로젝트에서 파일을 업로드하는 기능이 필요해서 공부하게 되었다. 1. 두 가지 전송 방식 HTML Form의 데이터 전송 방식은 크게 1. x-www-form-urlencoded Http Body에 bookname=jpabook&quantity=31 와 같이 key-value형식을 &로 연결지어 문자를 전송한다. 2. multipart/form-data 바이너리 데이터와 문자 데이터를 동시에 전송할 수 있는 방법이다. multipart/form-data에 대해서 더 알아보자. 2. multipart/form-data 폼 데이터가 서버로 submit 될 때 인코딩 되는 방식을 지정하는 enctype(encryptiontype)을 해당 방식으로 설정한다. 그렇게 아래와 같은 형식으로 H..