IT

Spring/Security

Servlet Filter와 Spring Security Filter의 차이

두 필터 모두 웹 애플리케이션에서 요청과 응답을 가로채고 처리하는 데 사용되지만, 목적과 사용 방식에 따라 중요한 차이점이 있다.1. Servlet FilterServlet 필터는 Java Servlet API의 일부이며, 웹 애플리케이션의 모든 요청과 응답을 전역적으로 처리하는 데 사용된다. Servlet 필터는 클라이언트가 서버에 요청을 보내고, 서버가 응답을 반환하기 전에 요청과 응답을 가로채어 처리할 수 있다. 특징:요청 및 응답 수정: 요청이나 응답의 헤더를 수정하거나, 데이터를 추가 및 제거할 수 있다.공통 로직 처리: 인증, 로깅, 인코딩 처리, 캐싱 같은 공통 작업을 수행한다.체이닝 가능: 여러 필터가 체이닝될 수 있으며, 필터 간의 순서가 중요할 수 있다.애플리케이션의 모든 요청에 적용:..

프로젝트/chaelog

Spring 디버깅 시 PolicyUtil

줄곧 잘되던 디버깅이 갑자기 안 되더니PolicyUtil에서 IllegalArgumentException("Null KeyStore name")이 계속해서 발생하였다. 이는 가끔 워크스페이스의 metadata 등의 정보들이 충돌을 일으키면서 발생한다고는 하는데 워크스페이스를 다시 만들어보니 해결되었다.

Spring/Spring boot

@PathVariable name 생략시 에러

프로젝트 도중 jakarta.servlet.ServletException: Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag. 에러가 발생했는데 주로 @PathVariable와 @RequestParam 두 에노테이션에서 발생한다고 한다. //작동 @GetMapping("/posts/{postId}") public PostRespons..

프로젝트/chaelog

[Spring Docs] URI port를 8080아닌 443 지정

URI 포트를 8080이 아닌 443으로 지정하는 이유는 주로 웹 서비스의 통신 프로토콜이 HTTP에서 HTTPS로 전환될 때 발생합니다. 이는 보안, 표준 준수, 사용자 경험 등 여러 이유로 중요합니다. 다음은 443 포트를 사용하는 주된 이유들입니다.1. 보안 강화HTTPS 프로토콜: 443 포트는 HTTPS에 기본적으로 할당된 포트입니다. HTTPS는 HTTP에 SSL/TLS 보안 계층을 추가하여 데이터의 암호화를 지원합니다. 이로 인해 데이터의 무결성과 기밀성이 보장되며, 중간자 공격(man-in-the-middle attacks)으로부터 보호받을 수 있습니다.데이터 암호화: 클라이언트와 서버 간에 전송되는 모든 데이터가 암호화되므로, 개인 정보, 금융 정보, 기타 중요한 데이터가 제3자에 의해 ..

Front

[Vue] intellij 실행

1. vue create 명령사용 목적: 이 명령은 Vue CLI를 사용하여 새로운 Vue.js 프로젝트를 생성합니다. Vue CLI는 풍부한 기능을 제공하고, 복잡한 프로젝트 설정과 여러 빌드 설정을 지원합니다.버전: vue create는 Vue 2와 Vue 3 프로젝트 모두를 생성할 수 있으며, 생성 시에 버전 선택이 가능합니다.특징:사용자가 프로젝트의 구성을 세밀하게 제어할 수 있습니다.웹팩 설정, Babel, TypeScript, ESLint, 등의 다양한 통합 옵션을 제공합니다.프리셋을 통해 자주 사용하는 플러그인과 구성을 저장하고 재사용할 수 있습니다.2. npm init vue@latest 명령사용 목적: 이 명령은 npm의 create 스크립트를 사용하여 최신 Vue 3.x 버전으로 프로젝..

Spring

[Spring] 단위테스트에서 MockBean과 Autowired의 차이

@Mock 어노테이션과 @Autowired 어노테이션은 각기 다른 목적으로 사용되며, 테스트할 대상과 테스트의 맥락에 따라 적합한 어노테이션을 선택하는 것이 중요하다.여기서 서비스 테스트와 컨트롤러 테스트의 차이점을 고려할 때 각각에 사용되는 어노테이션의 목적이 좀 더 명확해진다.@Mock 어노테이션목적: @Mock은 Mockito 프레임워크에서 제공하는 어노테이션으로, 지정된 클래스의 모의 객체(mock object)를 생성한다. 이 모의 객체는 실제 객체의 동작을 흉내 내지만, 실제 코드를 실행하지는 않으므로 외부 시스템이나 데이터베이스 호출 없이 테스트를 진행할 수 있다.사용하는 곳: 주로 서비스 계층(Service Layer)의 테스트에 사용된다. 서비스 계층은 데이터 접근 계층(DAO/Repos..

Spring/JPA

QueryDsl> IntelliJ Q클래스 import 불가 문제

Q클래스를 사용해야하는 상황에서 import가 안 되는 현상이 발생먼저 위치가 올바르게 생성될 수 있도록 Settings -> Annotation Processors 들어가 enable annotation processing체크해주고 소스 디렉토리가 generated로 되어 있는지 확인해준다.  querydsl 파일은 src내에 생성이 되면 안 되므로 src내에 생성 됐으면 삭제해주고 build/generated에 제대로 생성이 되었는지 확인 필수! main에서는 import가 제대로 됐는데 test 코드에서는 QEntity를 인식을 못해서 여러 방법을 시도해보다가   Setting -> Gradle 에서 이렇게 설정을 해주니까 동작이 됨,, spring boot 3.xx 버전부터는 build.gradl..

Spring/JPA

JPA 활용 (2)

1. 애플리케이션 구현 준비 계층형 구조 사용controller, web : 웹 계층service : 비즈니스 로직, 트랜잭션 처리repository : JPA 를 직접 사용하는 계층, 엔티티 매니저 사용domain : 엔티티가 모여 있는 계층, 모든 계층에서 사용 패키지 구조jpabook.jpashopdomainexceptionrepositoryserviceweb개발 순서 : service, repository 계층 개발하고, 테이스 케이스 작성해서 검증, 마지막에 웹 계층 적용  2. 회원 도메인 개발구현 기능회원 등록회원 목록 조회순서회원 리포지토리 개발회원 서비스 개발회원 기능 테스트 회원 리포지토리 개발[회원 리포지토리 코드]@Repository //스프링 빈으로 등록(Component scan..

챛채
'분류 전체보기' 카테고리의 글 목록 (4 Page)