본문 바로가기

분류 전체보기

(180)
Rest Client, RestTemplate이란 ? Rest Client **REST API** 서버에 HTTP 요청을 보낼 때 사용하는 '클라이언트 툴' 혹은 '클라이언트 라이브러리' ex) POSTMAN. **REST API** 웹에서 사용되는 Data나 Resource를 HTTP URI로 표현하고, 해당 resource를 고유의 URI로 접근하는 방식. ex) Controller 클래스의 핸들러 메서드 엔드포인트. RestTemplate Spring에서 지원하는 객체로, 간편하게 Rest 방식 API를 호출할 수 있는 Spring 내장 클래스. Rest API 서비스를 요청 후 응답받을 수 있도록 설계되어 있으며, HTTP 프로토콜의 메서드들에 적합한 여러 메서드를 제공한다. [RestTemplate 동작 원리] (1) 애플리케이션 내부에서 REST..
데이터베이스 - SQL, NoSQL, DB 설계 관계형 데이터베이스 데이터를 테이블에 직관적으로 간단하게 나타내는 관계형 모델을 기반으로 한다. 테이블의 각 행은 KEY라는 고유 ID가 포함된 레코드 입니다. 테이블의 각 열에는 데이터의 속성이 들어가 있으며, 각 레코드에는 일반적으로 각 속성에 대한 값이 있으므로, 데이터 포인트 간의 관계를 손쉽게 설정할 수 있다. [데이터베이스의 필요성] [데이터를 In-Memory에 저장할 경우] PC를 끄면 데이터가 사라짐. [데이터를 File I/O 할 경우] 원하는 데이터만 가져올 수 없고, 모든 데이터를 호출한 뒤 서버에서 필터링 해야함. [DataBase의 경우] 필터링 외에도 File I/O 으로 구현이 힘든 데이터 관리를 위한 여러 기능들을 가지고 있는 데이터에 특화된 서버. [데이터베이스] 데이터베..
Spring MVC에서 제공하는 CSR, SSR 방식 CSR, SSR 렌더링 방식을 나타내는 말이다. 즉, 클라이언트에서 보낸 요청을 서버에서 처리하여 만든 Model 데이터와 View로 생성한 응답 데이터를 활용하여 클라이언트 또는 서버 어느 곳에서 웹 페이지를 완성하느냐의 차이를 가진다. CSR (Client Side Rendering) 서버에서 클라이언트 측으로 데이터만 넘겨주고, 클라이언트 측에서 전달받은 데이터를 가지고 HTML을 생성해 클라이언트를 보여주는 방식. = 가구 공장에서 가구의 부품들을 클라이언트에게 보내, 클라이언트 측에서 조립하도록 하는 방식 [동작방식] 1. 클라이언트에서 서버로 Javascript 요청 2. 서버에서 응답하여 클라이언트에 Javascript 로직을 내려줌 3. 클라이언트 REST API 등을 이용해 데이터 요청 ..
Spring MVC 프레임워크 요청 처리 과정 Spring MVC 요청 처리 과정을 알아보기 전, Spring MVC란 무엇인지 먼저 알아보자. [ Spring MVC 란 ? ] Spring의 모듈 중에는 웹 계층을 담당하는 몇 가지 모듈이 있다. 그 중 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 Spring-webmvc 이다. 이는 웹 프레임워크의 한 종류이기 때문에 Spring MVC 프레임워크 라고도 부른다. 즉, Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워크 ** 모듈 (Module) ** 더보기 Java에서 일반적으로 지원되는 여러 가지 기능들을 목적에 맞게 그룹화하여 묶어 놓은 것. 모듈들은 Java의 패키지 단위로 묶여 있으며, 패키지 안에는 관련 기능을 제공하기 위한 클래스들이..
Spring (POJO) VS Spring Boot Spring Framework와 Spring Boot 차이점을 알아보기 전에, 각 특징에 대해 알아보자 [Spring Framework] Java 애플리케이션 개발을 위한 포괄적인 인프라를 지원해주는 오픈소스 Backend Framework. [특징] #1. POJO ( Plain Old Java Object ) #객체지향적 원리에 충실하며, #환경과 기술에 종속되지 않고, #필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트. = 특정 기술에 종속되지 않는 순수한 자바 객체. public class UserDTO { private String userName; private String userId; private String userPassword; public String getUserName(..
CORS ? 보호되어 있는 글입니다.
Optional<T> 클래스란 ? Optional 클래스 Java 프로그래밍을 하다보면 객체의 값이 null 값일 경우, 그 객체를 참조할 때 발생하는 #NullPointerException(NPE)가 자주 발생한다. [#NullPointerException(NPE)] 정의 : null 때문에 발생하는 Runtime Exception. 원인 : null 자체의 의미가 모호해 다양한 파생 에러가 발생. 예시 #1. null 객체의 인스턴스 메서드를 호출 Object obj = null; obj.toString(); #2. null 객체의 필드 액세스 또는 수정 Person p = null; p.name = "nhj"; #3. 빈 배열 객체에 길이 속성을 가져올 때 int[] arrayInts = null; arrayInts.length; ..
Multi-Thread & Multi Process 우선 #멀티 쓰레드와 #멀티 프로세스에 대해 알아보자. #멀티 쓰레드 (Multi Thread) 하나의 프로세스에서 여러 개의 스레드를 사용해 작업을 하도록 해주는 기능이며 각 쓰레드는 자신이 속한 하나의 프로세스의 메모리를 공유하며 실행된다. #멀티 프로세스 (Multi Process) 여러 개의 CPU의 코어를 사용하여 여러 개의 프로세스를 동시에 수행하는 것을 의미하며, 각 프로세스는 독립적인 메모리를 가지고 별도로 실행된다. 그림과 같이 하나의 프로세스 안에 여러 개의 스레드가 존재한다. [쓰레드] 프로세스 내에 작업을 수행하는 흐름. [싱글 스레드 (Single Thread)] 하나의 프로세스 내에서 하나의 스레드를 이용하여 한 번에 한 작업만 수행하는 것. [멀티 쓰레드] 하나의 프로세스 내에..