분류 전체보기 149

Java Spring _ SSR(Server Side Rendering) ,CSR(Client Side Renderin

Server Side Rendering (SSR) 서버 사이드 렌더링은 말 그대로 서버에서 웹 페이지를 렌더링 하는 방식입니다. 사용자가 요청한 페이지에 대한 HTML,CSS,JavaScript 파일을 서버에서 완전히 렌더링 한 후, 클라이언트(브라우저)로 전송합니다. 이 방식의 가장 큰 장점은 초기 페이지 로딩 속도가 빠르다는 것입니다. 왜냐하면 서버에서 이미 완성된 형태로 전달되기 때문입니다. 장점 초기 로딩 속도가 빠르다. 검색 엔진 최적화(SEO)에 유리하다. 단점 서버 부하가 크다. 전체 페이지를 다시 렌더링해야 하는 경우가 많다. 주로 사용되는 경우(SSR) 1. 검색 엔진 최적화 (SEO)가 중요한 경우 : SSR을 사용하면 서버에서 렌더링된 완성된 페이지를 제공하므로 크롤러가 쉽게 콘텐츠를..

Spring 2023.03.23

MapStruct / Spring MVC에서 DTO오 Entity간의 매핑 처리하기

의존성 추가 먼저 프로젝트에 MapStruct를 추가해야 합니다. Gradle 또는 Maven 프로젝트에 다음 의존성을 추가합니다. Gradle: implementation 'org.mapstruct:mapstruct:1.4.2.Final' annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final' Maven: org.mapstruct mapstruct 1.4.2.Final org.mapstruct mapstruct-processor 1.4.2.Final provided DTO와 Entity 클래스 생성 다음과 같이 DTO와 Entity 클래스를 생성합니다. @Getter @Setter @NoArgsConstructor @AllArgsCons..

Spring 2023.03.18

Spring Security 권한 부여

Spring Security는 애플리케이션에 보안을 적용할 수 있도록 도와주는 프레임워크입니다. 권한 부여는 사용자가 요청한 자원에 대한 접근을 허용하거나 거부하는 기능을 제공합니다. 이 글에서는 Spring Security의 권한 부여에 대해 간단하게 정리해 보겠습니다. 1. 권한 부여 기본 원리 Spring Security는 권한 부여를 위해 사용자의 권한과 요청 자원의 권한을 비교합니다. 사용자의 권한은 사용자가 로그인하면서 인증 과정에서 얻어지며, 요청 자원의 권한은 개발자가 설정해야 합니다. 2. 사용자의 권한 설정 사용자의 권한은 'UserDetails' 인터페이스의 구현 클래스를 이용해 설정할 수 있습니다. 일반적으로 'User' 클래스를 사용해 권한을 설정하며, 다음과 같이 생성할 수 있습..

Spring 2023.03.17

Spring Security: 강력한 웹 보안 프레임워크

웹 애플리케이션 개발에서 보안은 필수적 요소인데 , Spring Security는 Spring 프레임워크의 일부로 웹 애플리케이션의 보안을 강화하는 데 사용되는 강력한 보안 프레임워크이다. 이 글에서 Spring Security의 기본 개념과 주요 기능을 알아보고, 간단한 예제를 통해 적용하는 방법을 알아보겠다. Spring Security란? Spring Security는 인증(Authentication)과 권한부여(Authorization)를 중심으로 하는 웹 애플리케이션 보안 프레임워크이다. 기본적으로 세션 기반의 인증을 제공하며, 보다 고급기능들을 포함하고 있다. 주요 기능은 다음과 같다. 1. 인증(Authentication) - 사용자의 자격을 확인하는 과정 2. 권한부여(Authorizati..

Spring 2023.03.16

Spring Security [DelegatingFilterProxy, FilterChainProxy]

DelegatingFilterProxy와 FilterChainProxy는 Spring Security에서 사용되는 두 가지 중요한 클래스입니다. 이들의 역할과 차이점을 이해하려면 먼저 Servlet 필터와 Spring Security의 필터 체인에 대한 지식이 필요합니다. DelegatingFilterProxy DelegatingFilterProxy는 Spring Security의 시작점이자 Servlet 컨테이너와 Spring 애플리케이션 콘텍스트 사이에서 연결 역할을 하는 필터입니다. 이 필터는 Servlet 컨테이너의 표준 필터 체인에 등록되어 작동합니다. DelegatingFilterProxy의 주요 목적은 Spring의 애플리케이션 컨텍스트에서 빈(Bean)으로 관리되는 실제 필터 구현체에 작업..

Spring 2023.03.16

코드스테이츠 BE(백엔드)43 3Section 회고 (22.02.11~23.03.13)

✔️ KEEP 블로깅 한 달 동안 12개의 블로깅을 했는데 주로 Spring을 위주로 블로깅을 썼다 잔디심기 3Section에서는 너무 시간이 부족해서 ㅠㅠ 알고리즘을 할 시간이 부족한 탓에 잔디에 빈 곳이 생겨버렸다... 그렇다고 의미없는 commit을 하기는 싫어서... 빈 공간으로 남겼는데 그래도 마음이 아픔 :( 지금은 나의 작은 프로젝트를 조금씩 하고 있기 때문에 매일매일 의미 있게 잔디를 심을 예정!! 목표는 다음달까지는 풀잔디@@ 스터디 운동 매일 아침 7시에 기상해서 러닝 격일 저녁 근력운동 루틴을 계속 유지하는중 ✔️ Problem 학습한 내용의 숙달 부족 시간 부족 ✔️ Try 배운 내용을 내 것으로 만들기 위해 나만의 프로젝트 만드는 중 3 Section 복습, 3Section 내용을..

CodeStates/Section3 2023.03.13

Spring에서 제공하는 HTTP 클라이언트 라이브러리에 대해 말하시

RestTemplate와 WebClient는 Spring에서 제공하는 HTTP 클라이언트 라이브러리입니다. RestTemplate : RestTemplate은 Spring의 대표적인 HTTP 클라이언트 라이브러리 중 하나입니다. 간단한 RESTful 웹 서비스와의 통신에 적합하며, 기본적인 HTTP 요청과 응답을 처리할 수 있습니다. RestTemplate은 간단한 사용법과 높은 호환성으로 인해 다양한 프로젝트에서 사용되고 있습니다. WebClient : WebClient는 Spring 5에서 추가된 비동기 및 리액티브 프로그래밍을 지원하는 HTTP 클라이언트 라이브러리입니다. RestTemplate보다 더욱 유연하게 사용할 수 있으며, 리액티브 스트림 프로그래밍을 지원합니다. (리액티브 스트림 프로그래..

기술면접 2023.03.13

Rest Client 가 무엇인지 설명해 주세요

Rest Client는 *RESTful 웹 서비스를 사용하기 위한 클라이언트 애플리케이션이고. (1) 여러 가지 HTTP 클라이언트 라이브러리를 사용하여 RESTful 웹 서비스와 통신할 수 있는데, (2) 대표적으로 HttpClient, OkHttp, RestTemplate와 WebClient 등이 있습니다. (3) Rest Client는 HTTP 메서드를 사용하여 웹 서비스에 요청을 보내고, 응답을 받아서 처리할 수 있고, JSON,XML 등의 데이터 형식을 처리할 수 있으며 HTTP 요청 및 응답에 대한 정보를 추가할 수 있기 때문에 클라이언트와 서버 간의 상호작용을 단순화하고, 효율적으로 처리할 수 있어서 다른 웹 서비스와 통신하는 애플리케이션을 쉽게 구현할 수 있습니다. 나올 수 있는 질문들 -..

기술면접 2023.03.13

Spring MVC 프레임워크의 요청처리 과정

1. 클라이언트가 웹 브라우저에서 HTTP 요청을 전송 2. DispatcherServlet 이 이 요청을 받아들임 3. DispatcherServlet은 요청 처리를 위해 HandlerMapping에게 요청을 전달 4. HandlerMapping은 요청 URL과 일치하는 컨트롤러(Controller)를 찾아서 DispatcherServlet에게 반환 5. DispatcherServlet은 HandlerAdapter에게 Controller 호출을 위임 6. HandlerAdapter는 Controller를 호출해서 Model 데이터와 View 이름을 반환 7. DispatcherServlet 은 ViewResolver에게 view 이름을 전달하며 검색 요청 8. ViewResolver는 View 이름을 ..

기술면접 2023.03.13

Java Spring _ MockMvc를 사용한 API 테스트

MockMvc를 사용한 API 테스트 Spring MVC 애플리케이션에서 API를 작성할 때, MockMvc를 사용하여 API의 테스트를 수행할 수 있습니다. MockMvc를 사용하면, API를 실제로 호출하지 않고도 API의 동작을 시뮬레이션하여 API의 동작을 검증할 수 있습니다. 이번 포스트에서는 MockMvc를 사용하여 API를 테스트하는 방법에 대해 알아보겠습니다. MockMvc 설정 MockMvc를 사용하려면, 먼저 MockMvc를 초기화해야 합니다. MockMvc는 Spring MVC의 구성 요소를 사용하여 동작하므로, 애플리케이션의 ApplicationContext를 사용하여 MockMvc를 초기화해야 합니다. 아래는 MockMvc를 초기화하는 예제 코드입니다. @RunWith(Spring..

Spring 2023.03.06