no image
TCP 3way handShake/TCP 4way handShake
TCP 3 way handShake 핸드셰이킹을 직역하면 주고받기라고 합니다. 정보 기술과 전기 통신 및 관련 분야에서 채널에 대한 정삭적인 통신이 시작되기 전에 두 개의 실체 간에 확립된 통신 채널의 변수를 동적으로 설정하는 자동화된 협상 과정입니다. 채널의 무리적인 확립이 잇따르며, 정상적인 정보 전송 이전에 이루어집니다. 3방향 핸드셰이크 1단계 - SYN(동기화) -> 1. X가 Y에게 Y야 내 말 잘 들리니? 프로세스는 클라이언트가 SYN 플래그가 설정된 TCP 패킷을 서버로 보내는 것으로 시작됩니다. 이 패킷은 연결을 설정하려는 클라이언트의 의도를 나타내며 데이터 새그먼트를 고유하게 식별하는 데 도움이 되는 ISN(초기 시퀀스 번호)도 포함합니다. 2단계 - SYN-ACK(동기화 승인)-> 2..
2024.02.06
no image
Session
Session 초기 웹 개발에서 사용자 상태를 유지하기 위해 도입된 기술 중 하나입니다. 초기에는 웹은 단순한 정적 문서를 전달하는 데에 그쳤기 때문에 사용자의 상태를 관리하는 문제는 크지 않았습니다. 하지만 동적이고 상호작용이 많은 웹 애플리케이션이 발전하면서 사용자의 로그인 상태, 장바구니 내역, 등의 정보를 서버에 유지하고 관리해야 하는 필요성이 생겼습니다. 처음에는 쿠키를 사용하여 사용자의 상태를 관리하는 방식을 사용했지만 쿠키는 클라이언트에서 조작이 가능하고 보안상의 문제도 있었습니다. 이후 세션이 도입되면서 서버 측에서 사용자의 상태를 안전하게 관리하는 방식으로 발전했습니다. 세션은 사용자에 대한 정보를 서버 측에 저장하고 클라이언트에는 세션 식별자만을 부여하며 클라이언트는 이 식별자를 사용하..
2024.01.13
no image
Cookie
Cookie 쿠키란 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 브라우저가 데이터 조각들을 저장해 놓았다가 동일한 서버에 요청 시 저장된 데이터를 함께 전송합니다. 쿠키는 두 요청이 동일한 브라우저에 들어왔는지 들어오지를 않았는지 판단할 때 주로 사용합니다. 쿠키를 사용하면 사용자의 로그인 상태를 유지할 수 있습니다. 쿠키 사용 세 가지 목적 세션 관리 쿠키는 세션 관리에 주로 사용됩니다. 사용자가 웹사이트에 로그인하면 서버는 사용자에게 고유한 세션 식별자를 할당하고 이를 쿠키에 저장합니다. 브라우저는 쿠키를 저장하고, 사용자가 다른 페이지로 이동하거나 새로고침할 때마다. 이 쿠키를 함께 서버에 전송합니다. 서버는 이를 통해 사용자를 식별하고 로그인 상태를 유지할 수 있습니다. 개인화..
2024.01.11
no image
GRPC
GRPC(Google. Remote Precedure Call) 고성능의 분산 시스템을 구축하기 위한 오픈 소스 프레임워크입니다. 현대적인 애플리케이션에서 마이크로서비스 간 통신을 구축하는 데 사용되며 gRPC는 언어에 중립적이며 플랫폼에 독립적이어서 크로스 플랫폼 응용 프로그램을 쉽게 만들 수 있게 해 줍니다. 전반적으로 GRPC는 효율적이고 확장 가능한 분산 시스템을 구축하는 강력한 도구로, 마이크로 서비스 아키텍처 및 네트워크 애플리케이션에 많이 사용됩니다. GRPC는 원격 통신에 대한 현대적이고 다재다능한 접근 방식으로 개발자가 복잡한 분산 시스템을 쉽게 개발 유지 보수 할 수 있도록 도와줍니다. RPC(Remote Procedure Call, RPC) 원격 프로시저 호출인 RPC는 분산 컴퓨팅에..
2023.09.17
no image
JSON API
JSON API 웹 서비스에서 데이터를 전송하고 공유하기 위한 표준 데이터 포맷 중 하나입니다. API는 RESTful웹 서비스를 구형하고 데이터를 JSON 형식으로 교환되는 데 사용되며, 클라이언트와 서버 간의 데이터 통신을 간소화하는 데 도움이 됩니다. JSON API는 다양한 프로그래밍 언어와 프레임워크에서 지원되며, 웹 및 모바일 애플리케이션에서 데이터 교환을 널리 사용됩니다. 이러한 표준화된 접근 방식은 개발자들이 다양한 데이터 소스와 상호 작용할 때 일관성을 유지하고 개발 시간을 단축하는데 도움이 됩니다. JSON API 특징 데이터 포맷 : 데이터를 교환하기 위한 JSON을 사용합니다. JSON은 텍스트 형식으로, 가독성이 좋고 파싱 하기 쉬워서 데이터를 효과적으로 표현할 수 있습니다. 표준..
2023.09.15
no image
CAP 이론
CAP CAP은 Consistency, Availability, Partition tolerance의 약자로 , 분산 시스템의 데이터베이스 시스템의 성능과 안정성을 설명하는 세 가지 중요한 속성을 나타냅니다. 이 용어는 컴퓨터 과학자인 Eric Brewer에 의해 제안되었으며, 이를 통해 분산 시스템을 설계하고 이해하는 데 도움이 됩니다. 분산 데이터베이스는 방대한 데이터를 다루기에 유용한 시스템입니다. 분산 데이터베이스는 수평 확장할 수 있기 때문에 트래픽이 증가하더라도 낮은 지연 시간을 유지할 수 있고, 일부 노드 장애에 적절히 대응할 수 있습니다. CA : 일관성과 가용성을 모두 보장하려면 분할 내구성을 희생해야 합니다. 이는 데이터 일관성을 유지하는 것을 우선시하고, 네트워크 분할로 인한 가용성 ..
2023.09.05
no image
샤딩 전략
샤딩 전략 데이터베이스 관리에서 대량의 데이터를 분할하여 여러 샤드로 나누는 방법을 정하는 방식을 의미하며 각 샤드는 독립적으로 운영되며 데이터 일부를 저장하고 처리합니다. 다양한 샤딩 전략이 있으며, 선택한 전략은 데이터의 특정, 시스템의 요구 사항 및 확장성에 따라 다를 수 있습니다. 레인지 샤딩 데이터베이스 관리에서 사용되는 샤딩 전략 중 하나로, 데이터를 연속적인 값의 범위네 따라 분할하는 방식을 의미합니다. 이 전략은 데이터를 샤드로 분할할 때 데이터의 값 범위를 기준으로 샤드를 나누는 방식으로 동작합니다. 예를 들어보면 사용자의 나이를 기준으로 레인지 샤딩을 적용한다고 가정해 보면 각 샤드는 나이 범위를 가지며, 해당 범위 내의 사용자 데이터를 저장합니다. 첫 번째 샤드는 0세에서 20세까지의..
2023.08.31
no image
데이터 레플리케이션
데이터 레플리케이션 데이터베이스나 시스템의 데이터를 한 곳에서 다른 곳으로 복사하여 유지하는 프로세스를 말합니다. 이를 통해 데이터의 가용성, 안정성 및 성능을 향상할 수 있습니다. 데이터 레플리케이션 사용 목적 종류 1. 고가용성 및 장애 허용 시스템 장애 시에도 서비스 지속성을 확보하기 위해 데이터의 백업 또는 레플리카 생성 원본 데이터배이스의 고장 시 다른 레플리카로 전환하여 서비스 중단 최소화 2. 읽기 성능 향상 읽기 작업이 많은 시스템에서 읽기 부하를 분산시켜 성능을 향상시키기 위해 레플리카 생성 3. 지리적 분산 및 지역화 지역적으로 떨어진 사용자에게도 빠른 응답시간 제공을 위해 데이터를 지역에 레플리케이션 지역별 요구 사항에 맞춰 데이터를 지역에 배치하여 지역화된 서비스 제공 4. 분석 및..
2023.08.27
no image
인덱스와 그 작동원리
Index 데이터베이스에서 검색 속도를 향상하기 위해 사용되는 자료구조입니다. 데이터베이스 테이블에 대한 인덱스는 특정 칼럼의 값을 미리 정렬하여 검색 및 정렬 작업을 빠르게 수행할 수 있도록 도와줍니다. 인덱스를 사용하면 데이터베이스 관리 시스템은 전체 테이블을 스캔하지 않고도 원하는 데이터를 빠르게 찾을 수 있습니다. 장점 데이터 검색 속도 향상 : 인덱스를 사용하면 특정 칼럼의 값을 미리 정렬하여 검색 작업을 빠르게 수행할 수 있습니다. 인덱스를 통해 검색 조건에 부합하는 데이터를 빠르게 찾아낼 수 있습니다. 정렬 작업 개선 : 인덱스를 사용하면 데이터베이스 엔진은 정렬 작업을 더 효율적으로 수행할 수 있습니다. ORDER BY절과 같은 정렬 연산에서도 성능 향상을 가져올 수 있습니다. 중복 데이터..
2023.08.23