일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kafka
- java
- Spring
- AWS
- Dirty Checking
- Redis
- 비관적 락
- 스레드 풀
- JPA
- ocp
- 캐시 오염
- 삽입 이상
- HTTP
- 네트워크
- gatway
- buildSrc
- 정규화
- 자바
- null
- 삭제 이상
- Kotlin
- 데이터베이스
- 갱신 이상
- 페이지네이션
- DB
- 자료구조
- well-know port
- MSA
- 3-way handshaking
- 낙관적 락
- Today
- Total
728x90
목록
728x90
분류 전체보기 (72)
어 나 갱수.

필터(Filter) 란? 필터는 말 그대로 요청과 응답을 거른 뒤 정제하는 역할을 한다. 필터(Filter)는 J2EE 표준 스펙 기능으로 디스패처 서블릿에 요청이 전달되기 전/후에 요청에 대한 부가적인 기능을 해주는 역할을 한다. 디스패처 서블릿은 스프링 가장 앞단에 위치하는 컨트롤러이므로, 필터는 스프링 범위 밖에서 작동한다. 스프링 범위 밖에서 작동하니 스프링이 관리하는 것이 아닌 톰캣과 같은 웹 컨테이너가 관리를 한다. 필터의 흐름 동작 과정 HTTP 요청 → WAS → (필터) → (디스패처)서블릿 → 컨트롤러 순으로 동작한다.(스프링에선 서블릿이 디스패처 서블릿이 된다.) 만약 필터에서 걸러지게 된다면 디스패처 서블릿을 호출하지 않는다. 필터 체인 HTTP 요청 -> WAS -> (필터1) -..

HTTP의 단점, 보안 HTTP는 웹을 지탱하는 심플한 기술이지만 단점이 있습니다. 브라우저와 웹서버가 통신함에 있어 데이터를 암호화하지 않고 그대로 전송된다는 점이다. HTTP는 인터넷이라는 통로를 이용해 웹 서버와 브라우저가 서로 통신하게 해주므로, 해커가 중간에서 통신을 도청하게 된다면 충분히 통신하는 정보를 탈취할 수 있다. 탈취하고 그 데이터를 변조시킬 수 있다. HTTPS(Hyper Text Transfer Protocol Secure) HTTPS는 웹 브라우저와 웹 사이트 간에 데이터를 전송하는 데 사용되는 기본 프로토콜인 HTTP의 보안 버전입니다. 표준 HTTP 프로토콜과 SSL/TLS 암호화 프로토콜의 조합으로 사용자의 브라우저와 웹사이트 간에 전송되는 데이터가 암호화되어 도청이나 변조..

HTTP(HyperText Transfer Protocol)HTTP메시지에 모든 것을 전송할 수 있다.HTML, TEXTIMAGE, 파일, 음성, 영상JSON, XML거의 모든 데이터를 주고 받을 수 있다.서버 간에 데이터를 주고받을 때도 HTTP를 사용한다.HTTP의 특징클라이언트 서버 구조이다.무상태 프로토콜, 비연결성HTTP 메시지HTTP서버 구조Request, Response 구조클라이언트는 서버로 요청을 보내고 응답을 대기한다.서버는 클라이언트로부터 요청을 받고 응답을 한다.무상태(Stateless) 프로토콜서버가 클라이언트의 상태를 저장하지 않는다.장점 : 서버 확장성 높음(Scale Out)단점 : 클라이언트가 서버로 요청할 때마다 추가로 데이터를 같이 보내야 한다.비연결성(Connectio..

오늘은 네트워크의 계층들 중 전송 계층에서 사용하는 프로토콜에 대해서 알아보려고 합니다. 전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 쉽게 말해 데이터의 전달을 담당합니다. TCP(Transmission Control Protocol) TCP를 해석하면 전송을 제어하는 프로토콜이라는 뜻이다. 인터넷 프로토콜 스택의 4 계층 여기서 TCP는 3 계층인 전송계층에 속한다. TCP 특징 연결지향 - TCP (논리적) 연결형 서비스로 연결이 성공해야 통신이 가능하다. 높은 신뢰성을 보장한다. UDP보다 속도가 느리다. 연결의 설정(3-way handshaking)과 해제(4-way handshaking) 순서를 보장 데이터 전달 보증 목적지까지 데이터가 전달됐는지 아닌지 알 수 있다. ..

DI(Dependency Injection) DI(Dependency Injection)이란 스프링이 다름 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로, 객체를 직접 생성하는 게 아니라 외부에서 주입해서 이미 생성한 객체를 사용하는 방식이다. 의존관계는 정적인 클래스 의존 관계와, 실행 시점에 결정되는 동적인 객체(인스턴스) 의존 관계 둘을 분리해서 생각해야 한다. DI(의존성 주입)를 통해서 모듈 간의 결함도가 낮아지고 유연성이 높아진다. IoC(Inversion of Control) Ioc(Inversion of Control)란 "제어의 역전"이라는 의미로, 말 그대로 메서드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부에서 결정되는 것을 의미한다. 객체의 의존성을 역전시켜 ..

DDD란? 애플리케이션을 개발함에 있어 성능, 생산성, 안정성 모두 뛰어난 애플리케이션을 만들기 위해서는 애플리케이션 설계를 잘하는 것이 중요하다. 어떻게 하면 더 나은 애플리케이션을 잘 설계할 수 있는지 고민하던중 DDD라는 구현 기법을 알게되었다. DDD는 좋은 설계 및 구현 기법이지만, DDD의 개념을 완벽히 이해하는것은 쉽지 않다. 도메인(Domain) 애플리케이션을 구성할 때 도메인이라는 단어는 비즈니스적인 어떤 업무 영역과 관련이 있다. 도메인을 쉽게 이해해보자!! 상품주문 애플리케이션을 만든다고 가정한다. 상품 주문 애플리케이션은 상품을 주문하는 고객, 주문받은 상품을 만드는 공장, 상품을 배달하는 배달원, 해당 상품을 주문하고 결제하는데 이용되는 카드사 또는 은행이 있다. 고객, 공장, 배..

일상화된 마이크로서비스 아키텍처 B21 스텔스 폭격기는 마이크로서비스 아키텍처와 쿠버네티스에 기반해 다목적 임무 수행(폭격, 전투 지휘, 정보 수집)이 가능한 형태로 제작됨 서비스 중심의 아키텍처 경계가 지어진 맥락에서 결합도가 낮은 구성 요소를 포함 네트워크로 통신 + 개별적으로 서비스 업데이트 다른 마이크로서비스 내부를 모르면서 코드를 업데이트 가능 이점 간소화된 배포 지속적인 통합과 배포(CI/CD)로 출시 시간 단축 필요에 따라 성능 확장 서비스마다 독립적인 컨테이너 또는 데이터 플랫폼 확장 가능 고가용성 확보 전체 애플리케이션에 영향을 주지 않고 독립적으로 서비스 교체 가능 대부분의 배포는 사람이 하지 않는다. 그러나 금융권은 대부분 사람이 직접 배포한다. 플랫폼 서비스 레지스트리: 서비스 등록..

JWT에 대해 알아보기 전에 "토큰 기반 인증"과 "서버 기반 인증"에 대해 알아보자. 서버 기반 인증 세션 기반의 인증 시스템이다. 서버 측에서 사용자들의 정보를 기억하기 위해 세션을 유지하는데, 이는 메모리, 디스크, 데이터베이스 등을 통해 관리한다. 클라이언트로부터 요청을 받으면 클라이언트의 상태 정보를 저장하여 유지해야 하므로 Stateful 한 구조를 가진다. [인증 방식] 1. 사용자가 로그인 시 올바른 사용자임을 확인하고, 고유한 세션 ID 값을 부여해 세션 저장소에 저장하고 클라이언트에게 발급해 준다. 2. 클라이언트는 세션 ID를 받아 쿠키에 저장하고, 인증이 필요한 요청마다 쿠키에 세션 ID를 담아 헤더에 보낸다. 3. 서버에서는 쿠키를 받아 세션 저장소와 비교해 올바른 요청인지 확인한..