Multi Module 이란? 필요한 기능별로 Module 을 생성하는 것 레고를 조립하듯 필요한 Module을 조립 N개의 Module이 조립되어있는 프로젝트를 Multi Module 프로젝트라고 부름 예를들어 API 서버에서도 DB Entity 가 필요하고 Batch 서버에도 동일한 DB Entity 가 필요한데 중복으로 관리하면 리스크가 늘어남 중복된 Entity를 모듈화하여 사용하기 위해 Multi Module 프로젝트를 사용 Exception 핸들링 언어 또는 프레임워크에서 발생한 Exception 은 반드시 Custom 하게 Wrapping 하여 처리하여야 함 @RestControllerAdvice 어노테이션을 사용하여 모든 예외를 해당 클래스에서 클라이언트와 사전에 정의한 값으로 재정의 Mu..
🦥 1. Spring for GraphQL 개요 및 요구사항 Spring GraphQL은 Spring 애플리케이션에 Java용 GraphQL 을 제공한다. 더보기 💡 Spring GraphQL 사용하기 위한 필요 조건 1. JDK 8 2. Spring Framework 5.3 / Spring Boot 2.7 이상 -- GraphQL Java 18과 Spring Data , 최신 QueryDSL 에서 사용 가능(?) 🦥 2. 서버 전송 Spring GraphQL 은 HTTP, WebSocket, RSocket 상에서 GraphQL 을 다루는 것을 지원한다. 2.1 HTTP GraphQLHttpHandler 는 HTTP 요청을 GraphQL 로 다루고 Http 요청에 대한 수행을 위해 인터셉터에게 위임한다...
HTTP 헤더 : Content-type Message Body에 들어가는 데이터 타입을 HTTP 헤더의 Content-type 필드에서 설정할 수 있다. 필드에 여러 타입 을 설정해줄 수 있는데 그 중 하나가 multipart/form-data 타입이다. form 태그 입력 데이터를 서버로 제출할 때 form 태그를 이용한다. form 태그 전송시 다음과 같은 속성이 있다. action : form이 전송되는 서버 URL method : form 전송 방법 enctype : form 데이터가 서버로 전송될 때 데이터가 인코딩되는 방법 기재 enctype form 태그의 enctype 속성은 폼 데이터가 서버로 제출될 때 데이터가 인코딩되는 방법을 명시합니다. 해당 속성은 form의 method 속성 값..
필터(Filter) 클라이언트 요청이 DispatcherServlet에 도착하기 전/후 URL 패턴에 맞는 요청에 대해 작업을 할 수 있는 기능을 제공한다. 스프링 컨테이너가 관리하는 것이 아닌 웹 컨테이너에 의해 관리된다. 스프링 필터 (Spring Filter) SecurityDelegatingFilterProxy 클래스는 스프링 시큐리티의 기능별 필터 클래스를 실행하는 역할을 한다. 아래의 설정파일을 보면 모든 요청이 DelegatingFilterProxy를 거쳐가도록 설정한 것을 볼 수 있다. springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* 스프링 시큐리..
Spring Security 프레임워크 스프링 시큐리티는 자바 애플리케이션들을 위한 인증, 인가 모두를 제공하는 프레임워크다. 스프링 시큐리티의 특징은 다음과 같다. 인증과 인가 모두 이해하기 쉽고 확장가능하게 제공을 한다. 세션 고정 취약점, 클릭 재킹, CSRF 같은 공격을 예방해준다. Spring Security 적용 전 후 비교 Spring Security 적용 전에는 인가가 필요한 컨트롤러마다 HttpSession을 가져와서 개발자가 권한체크를 해줘야했다. Spring Security를 사용하면 개발자가 코드로 체크하지 않아도 설정 파일에서 권한이 필요한 페이지 를 설정해주면 개발자가 아닌 Spring Security 프레임워크 내에서 인증과 인가를 진행해준다. 그렇기 때문에 개발자는 비즈니스 ..
스프링 MVC 스프링 MVC 패턴은 비즈니스 로직과 뷰 로직을 분리하기 위해 탄생하였다. Model : 모델은 데이터를 주고받기 위해 사용한다. View : 필요한 데이터를 Model로 받아 화면 기능에만 집중하는 역할을 한다. Controller : 뷰에서 필요한 데이터를 비즈니스 로직을 실행하여 가져오는 역할을 한다. 모델에 데이터를 담아 뷰에게 전달한다 스프링 MVC 구조 사용자의 요청을 DispatcherServlet을 통해 받은 후 핸들러 매핑(HandlerMapping)을 통해 요청 URL에 매핑되는 컨트롤러를 조회한다. 핸들러 매핑은 요청과 적합한 컨트롤러(핸들러)를 선택 후 DispatcherServlet에게 전달한다. DispatcherServlet은 컨트롤러를 리턴받고 컨트롤러에 대한 ..
Environment 인터페이스 Interface representing the environment in which the current application is running. Models two key aspects of the application environment: profiles and properties. 현재 어플리케이션이 운영중인 환경을 나타내주는 인터페이스다. 어플리케이션 환경의 두가지 중요 측면은 profiles 와 properties 다. Environment 의 getActiveProfiles() Return the set of profiles explicitly made active for this environment. Profiles are used for creatin..
- Total
- Today
- Yesterday
- 인덱스
- N+1
- 네이버클라우드
- 트랜잭션격리성
- nginx
- 파일업로드설정
- TCP
- Til
- 프로그래머스
- Oracle
- graphql
- ORA-27125
- JPA
- 기술면접
- Travis CI
- level0
- ci/cd
- SpringGraphQL
- OS
- Java
- 운영체제
- SpringSecurity
- ddl-auto
- AWS
- spring
- EC2
- 트랜잭션
- 람다식
- CodeDeploy
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |