정진(바르게 나아가기)
/
포스트
/
스프링부트
Search
Share
🌱
스프링부트
태그
tech
SpringBoot
Backend
작성일자
1 more property
Search
SpringBoot
1. URI(Uniform Resource Identifier)
•
인터넷에서 특정 자원을 나타내는 주소 값, 해당 값은 유일하다. (응답은 달라질 수 있다.)
2. URL(Uniform)
•
인터넷에서 특정 자원, 특정 파일이 어디에 위치하는지 식별하는 주소
URL
은
URI
의 하위 개념이다.
1. URI 설계 원칙(RFC - 3986)
•
슬래쉬 구분자는 (/) 계층 관계를 나타내는 데 사용한다.
•
URI 마지막 문자로 (/) 는 포함하지 않는다.
•
하이폰은 (-) URI 가독성을 높이는데 사용한다.
•
밑줄 (_) 은 사용하지 않는다.
URI 설계 패턴
2022/07/29 06:01
REST (Representational State Transfer : 자원의 상태 전달)
- 네트워크 아키텍쳐
1.
Client , Server : 클라이언트와 서버가 서로 독립적으로 분리 되어 있어야 한다.
2.
Stateless : 요청에 대해서 클라이언트의 상태를 서버에 저장하지 않는다.
3.
Cache : 클라이언트는 서버의 응답을 Cache 할 수 있어야 한다. 클라이언트가 Cache를 통해서 응답을 재사용할 수 있어야 하며, 이를 통해서 서버의 부하를 낮춘다.
4.
계층화 : 서버와 클라이언트 사이에, 방화벽, 게이트웨이, Proxy등 다양한 계층 형태로 구성이 가능해야 하며, 이를 확장 할 수 있어야한다.
5.
인터페이스 일관성 : 인터페이스의 일관성을 지키고, 아키텍쳐를 단순화시켜 작은 단위로 분리하며, 크라이언트, 서버가 독립적으로 개선 될 수 있어야한다.
6.
Code on Demand(Optional) : 자바 애플릿, 자바스크립트, 플래시 등 특정한 기능을 서버로 부터 클라이언트카 전달받아 코드를 실행 할 수 있어야한다.
다음의 인터페이스 일관성이 잘 지켜졌는지에 따라, REST를 잘 사용했는지 판단을 할 수 있다.
1. 자원의 식별
REST 란?
2022/07/29 05:30
같은 태그의 다른 글 보기
HTTP protocol
2022/08/04 05:53
IOC/DI - 제어의 역전 / 의존성 주입
스프링에서는 제어의 역전을 의존성 주입이라고도 한다. 이를 더 잘 이해하기 위해서는 의존성을 이해해야한다.
프로그래밍에서 의존성이란?
의존성은 어렵게 생각하지 않아도 단순한게 예를 들자면 다음과 같다.
운전자는 자동차를 생산한다 = new Car();
자동차는 내부적으로 타이어를 생산한다 = Car 객체 생성자에서 new Tire();
Car 객체 생성자에서 new 를 실행함으로 Car가 Tire에 의존한다고 볼 수 있다. 이렇게 의존이라는 것은 전체가 부분에 의존하는 것을 표현하며, 좀 더 깊게 들어가서 의존 관계 사이를 집합 관계와 구성 관계로 구분할 수 있으며, 의존 관계를 어떻게 맺냐에 따라서 강한 결합이 되느냐, 느슨한 결합이냐를 이야기할 수 있게된다.
스프링 3대 프로그래밍 모델
2022/08/09 14:44
디자인 패턴 정리(학습하고 이해하는 대로 추가 예정)
1.
탬플릿 메소드 패턴 : 슈퍼클래스에 기본적인 로직의 흐름을 만들고, 그 기능의 일부를 추상 메소드나 오버라이딩이 가능한 protected 메소드 등으로 만든 뒤 서브 클래스에서 이런 메소드를 필요에 맞게 구현해서 사용하도록 하는 방법.
2.
팩토리 메소드 패턴 : 서브 클래스에서 구체적인 오브젝트 생성 방법을 결정하게 하는 것
[Spring Boot] 디자인 패턴
2022/11/30 23:33
스프링의 IoC
스프링의 핵심은 빈 팩토리 또는 애플리케이션 컨텍스트 라고 불리는 것이다.
애플리케이션 컨텍스트와 설정 정보
스프링 컨테이너란?
스프링에서 자바 객체들을 관리하는 공간을 말한다.
자바 객체를 스프링에선 빈이라고 하는데, 스프링 컨테이너에서는 이 빈의 생성부터 소멸까지를 개발자 대신 관리해주는 곳이라고 할 수 있다.
컨테이너는 크게 두 종류로 나눌 수 있다. 하나는 BeanFactory이고, 다른 하나는 ApplicationContext이다.
ApplicationContext 컨테이너가 BeanFactory의 기능을 포괄하면서 추가적인 기능을 제공하기 때문에 대부분의 경우에는 ApplicationContext를 사용한다.
Application Context에 추가 된 부분 : 이벤트 발행 및 구독 모델 지원, 리소스 조회 편의성 제공, 환경변수를 구분해주는 기능 및 언어 국제화
스프링의 IoC(토비의 스프링 정리)
2023/01/03 11:27