백엔드 39

[Web] 프로토콜과 TCP / UDP란?

프로토콜(Protocol)이란?프로토콜(Protocol)이란 컴퓨터나 네트워크 장치 간에 데이터를 송수신하기 위한 규칙과 절차를 의미한다.쉽게 말해, 서로 다른 장치나 시스템이 원활하게 통신할 수 있도록 약속한 규칙이다.프로토콜의 주요 역할주소 지정(Addressing)송신자와 수신자를 정확히 식별하기 위한 방법 제공 (예: IP 주소)오류 제어(Error Control)데이터가 손상 없이 전달되었는지 확인 (예: TCP의 오류 검출)흐름 제어(Flow Control)송신자와 수신자의 데이터 처리 속도 조절 (예: TCP의 윈도우 크기 조절)세그먼트화(Segmentation)와 재조립(Reassembly)데이터를 작은 조각으로 나누고 다시 합치는 과정 (예: TCP의 패킷 분할 및 조립)라우팅(Routi..

백엔드 2025.03.01

[Spring Security] JWT와 Spring Security의 차이점은?

처음에는 JWT와 Spring Security가 동일한 개념인 줄 알고 무턱대고 사용하려고 했다가,서로 다른 개념이라는 것을 알고 공부한 경험이 있다. 이에 대한 차이를 확실하게 구분하고 기록해두자.  JWT(JSON Web Token)이란?: 사용자 인증 및 식별에 사용되는 토큰이다.클라이언트가 인증 정보를 포함해 서버와 통신할 때 사용되는데, 다양한 언어로도 지원이 되기 때문에(Java, JS, Python 등) 일반적으로 가장 많이 사용되는 토큰이다. 구성은 다음과 같다.Header: 어떤 암호화 알고리즘인지, JWT token 기록{ "typ": "JWT", "alg": "HS256"}Payload: 사용자의 이름, 사용자의 정보, 토큰 만료 시간 등 사용자 식별 가능에 대한 정보가 저장됨, J..

[AWS] FaaS(Function as a Service) 기반 AWS Lambda 서비스

기존에 내가 사용하던 배포의 IaaS 방법과 달리 FaaS의 방식에 눈을 들이기 시작했다.IaaS(Infrastructure as a Service)로 클라우드 컴퓨팅의 인프라를 빌려 서버를 개발자가 직접 운용하며 배포해야하는 방식과 다르게,FaaS(Function as a Service)는 서버리스 방식으로, 서버가 아닌 Function을 직접 만들어 Function을 실행하여 코드를 돌아가게 만드는 것이다.이 때 지원되는 언어로는 Java, Python, Ruby, Node.js, 등등이 존재한다. 이런식으로 다양한 언어들을 제공하는 함수형 서비스이기 때문에,개발자가 코드 작성에만 집중하면 된다는 특징이 있다. 주로 이벤트 기반 애플리케이션이다.주로 API Gateway에서 HTTP method 요청..

백엔드/AWS 2025.02.15

[Docker] Docker 내에서의 redis 컨테이너 접속하여 실행하기(redis-cli)

로컬호스트 자체에서 redis를 설치해서 실행하는 것이 아니라,Docker container의 redis를 이용해서 redis에 접속해볼 것이다. 컴퓨터에서 docker를 실행한 뒤에, 다음 명령어를 입력한다.docker network create redis-netdocker run --name redis-container \ -p 6379:6379 \ --network redis-net \ -d redis:latest 그러면 본래의 6379 redis 포트로 docker redis-container를 실행 중인 것을 확인할 수 있다.  docker ps위 명령어를 통해 redis 제대로 실행 되고 있는지를 확인하기 만약에 문제가 되고..

백엔드/Docker 2025.02.13