일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 트랜잭션
- 관점지향프로그래밍
- 스프링 시큐리티
- aop
- aspect
- 인터셉터
- java
- exception
- 스프링부트
- MYSQL
- SQL
- request
- Interceptor
- 디자인패턴
- RestControllerAdvice
- OOP
- proxy pattern
- 스프링
- Redis
- 객체지향프로그래밍
- git
- 자바
- Filter
- spring boot
- response
- network
- mybatis
- http
- Spring
- Spring Security
- Today
- Total
목록ETC (10)
장쫄깃 기술블로그
파사드 패턴 (Facade Pattern) 이란? 파사드 패턴은 여러 개의 저수준 인터페이스를 하나의 고수준 인터페이스로 묶어주는 패턴이다. 클라이언트가 여러 저수준 인터페이스의 동작을 제어하려면 여러 저수준 인터페이스를 일일이 호출해야 하는데, 파사드 패턴을 이용하면 고수준 인터페이스의 메소드 호출만으로 한번에 동작을 수행할 수 있게 된다. 파사드 패턴은 일종의 인터페이스 역할을 수행하며, 시스템 외부에 제공되는 단일 인터페이스를 통해 복잡한 내부 동작을 추상화시켜 사용자가 쉽게 시스템을 사용할 수 있도록 도와주기 때문에, 클라이언트 객체는 여러 저수준 인터페이스 객체들과 느슨한 의존성을 가지게 된다. 파사드 패턴은 시스템 내부의 다양한 서브시스템들을 감싸고 있는 하나의 파사드 클래스를 정의하며, 해당..
컴포지트 패턴 (Composite Pattern) 이란? 컴포지트 패턴 (Composite Pattern)은 객체 지향 디자인패턴 중 하나로, 복합 객체를 구성하는 개별적인 객체들을 모두 동일한 방법으로 다룰 수 있게 하는 패턴이다. 컴포지트 패턴은 트리 구조를 가진 객체들을 다루는데 특히 유용하다. 예를 들어, 파일 시스템에서 디렉토리와 파일을 구성하는 것과 같이, 여러 개의 객체가 포함된 복합 객체를 처리할 때 이용할 수 있다. 코드가 많으면, 코드가 복잡해지고, 많은 에러가 발생하게 된다. 이를 해결하기 위해 컴포지트 패턴은 개별 객체와 복합 객체를 동일한 인터페이스로 다룰 수 있다. 이 때, 개별 객체는 단순히 자기 자신을 다루는 방법으로 처리되고, 복합 객체는 자신에게 속한 개별 객체를 재귀적으..
프록시 패턴 (Proxy Pattern) 이란? 프록시 패턴 (Proxy Pattern)은 객체 지향 디자인 패턴 중 하나로, 객체 간의 간접적인 접근을 가능하게 하는 구조를 제공하는 패턴이다. 여기서 프록시 (Proxy)란 대리자, 대변인의 의미를 가지고 있다. 말 그대로 원본 객체를 바로 호출하는 것이 아니라, 원본 객체에 접근할 수 있는 대리자를 호출하는 패턴이다. 어떤 객체를 호출할 때, 객체를 직접 호출하는 것이 아니라 대리자 객체를 호출하는 방식을 사용하면 해당 객체가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있다. 또, 실제 객체의 필요 시점까지 객체 생성을 미루는 지연 초기화 (Lazy Initializing)이 가능하다. 프록시 패턴의 장단점 장점 보안성 향상 원본 ..
TCP/IP 란? TCP (Transmission Control Protocol) IP 네트워크의 두 컴퓨터 간의 연결 지향 통신을 위한 전송 계층 호스트간 프로토콜이다. 가상 포트를 사용하여 두 컴퓨터 간의 물리적 연결을 재사용할 수 있는 가상 종단 간 연결을 만든다. 전송 제어 프로토콜은 인터넷 프로토콜 스위프트의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로 널리 불린다. TCP는 근거리 통신망이나 인트라넷, 인터넷에서 연결된 컴퓨터에서 실행되는 프로그램 간 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다. IP (Internet Protocol) 인터넷 프로토콜은 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약..
캐시(Cache) 란? 컴퓨터 공학 전반에서 이야기되는 캐시는 자주 사용되는 데이터를 임시로 복사해두는 임의의 장소를 의미한다. 그리고 데이터를 캐시에 저장하는 행위를 캐싱이라고 한다. 일반적으로 캐싱은 캐시에 저장된 데이터에 접근하는 시간에 비해 원본 데이터에 접근하는 시간이 오래 걸리는 경우 사용한다. HTTP 캐시 앞서 설명했듯이 캐시는 자주 사용하는 데이터에 더 빠르게 접근하기 위해 사용한다. 데이터 접근을 위해 네트워크를 사용해야 하는 웹 환경에서도 캐시는 유용하게 사용된다. HTTP 캐싱을 활용하면 웹 사이트의 로딩 시간을 개선할 수 있다. 특히 자주 변하지 않는 정적 파일(js, css, 이미지 등)들을 캐시를 사용하지 않으면, 요청마다 새롭게 다운로드 해야 한다. 이는 불필요한 네트워크 비..
프록시(Proxy) 란? 프록시는 클라이언트와 서버 사이에 위치한 중계 서버로, 통신을 대신 수행하는 대리자 역할을 한다. 프록시가 없다면 클라이언트는 서버와 직접 통신한다. 반면, 클라이언트와 서버 사이에 프록시 서버가 있다면, 클라이언트와 서버는 프록시를 한번 거쳐 통신하게 된다. 왜 프록시를 사용할까? 프록시를 사용하면 보안을 강화할 수 있고, 통신 성능을 높여주며, 통신 비용을 절약할 수 있다. 프록시는 프록시 서버의 위치에 따라 유형이 나뉜다. 유형에 따라 각각의 용도도 조금씩 다른데, 이 글에서는 프록시의 유형을 크게 포워드 프록시(Forward Proxy)와 리버스 프록시(Reverse Proxy) 2가지로 나누어 설명하려고 한다. 포워드 프록시 (Forward Proxy) 포워드 프록시는 ..
URI란? URI는 Uniform Resource Identifier, 통합 자원 식별자의 줄임말이다. 인터넷의 자원을 식별할 수 있는 문자열을 의미한다. 그 중 URL, URN이라는 하위 개념을 만들어서 특별히 어떤 표준을 지켜서 자원을 식별하는 것이다. 인터넷에 있는 자원을 나타내는 유일한 주소이다. 어떤 형식이 있다기 보다는 특정 자원을 식별하는 문자열을 의미한다. 그래서 URL이 아니고 URN도 아니고 그냥 URI가 되는 것이다. URL이란? URL은 Uniform Resource Locator의 줄임말이다. 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다. FTP, SMTP 등 다른 프로토콜에서도 사용할 수 있다. 웹 상의 주소를 나타내는 문자열이기 때문에 더 효..
상태 코드는 3자리 숫자로 만들어져 있으며, 첫번째 자리는 1에서 5까지 제공된다. 첫번째 자리가 4와 5인 경우는 정상적인 상황이 아니기 때문에 사이트 관리자가 즉시 알아야 하는 정보다. 1xx (조건부 응답) : 요청을 받았으며 작업을 계속한다. 2xx (성공) : 클라이언트가 요청한 동작을 수신하여 이해했고 승낙했으며, 성공적으로 처리했음을 가리킨다. 3xx (리다이렉션 완료) : 클라이언트는 요청을 마치기 위해 추가 동작을 취해야 한다. 4xx (요청 오류) : 클라이언트에 오류가 있음을 나타낸다. 5xx (서버 오류) : 서버가 유요한 요청을 명백하게 수행하지 못했음을 나타낸다. 1XX : Information responses 상태 코드가 1로 시작하는 경우는 서버가 요청을 받았으며, 서버에 ..
들어가며 HTTP에 대한 설명은 해당 글을 참고 링크 : https://jangjjolkit.tistory.com/12 [Network] HTTP Request/Response 란 HTTP(HyperText Transfer Protocol) HTTP란 텍스트 기반의 통신규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 이러한 규약을 통해 프로그램들이 규악에 맞춰 개발해서 서로 정보를 교환할 jangjjolkit.tistory.com HTTP Request와 Response는 기본적으로 같은 구조를 가지고 있지만 세부적으로 다른 점들이 존재한다. HTTP Request와 Response의 구조에 대해 자세하게 알아보려 한다. HTTP Request 메시지 구조 1. Start Line (시작줄)..
HTTP(HyperText Transfer Protocol) HTTP란 텍스트 기반의 통신규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 이러한 규약을 통해 프로그램들이 규악에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었다. HTTP 동작 클라이언트가 브라우저를 통해서 어떠한 서비스 url을 통하거나 다른 방법으로 요청(request)를 하면, 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(response)하는 형태로 동작한다. HTML 문서만이 HTTP 통신을 위한 유일한 정보 문서는 아니다. Plain text로 부터 JSON 데이터 및 XML과 같은 형태의 정보도 주고 받을 수 있으며, 보통은 클라이언트가 어떤 정보를 HTML 형태로 받고 싶은지, JSON 형태로 받..