Computer Science
-
시스템 디자인(System design)이란?Computer Science 2024. 9. 14. 18:11
백엔드 시스템 디자인은 웹 및 모바일 애플리케이션의 성능, 확장성, 안정성에 중요한 영향을 미칩니다. 이 글에서는 백엔드 시스템 설계의 주요 단계와 핵심 개념을 소개하고, 이를 실무에서 어떻게 적용할 수 있는지 설명합니다. 본격적인 시스템 디자인1. 요구 사항 명확화시스템 디자인을 시작하기 전에 기능적 요구 사항과 비기능적 요구 사항을 명확히 하는 것이 필수적입니다. 이를 통해 설계 방향을 올바르게 설정할 수 있습니다.2. 용량 추정 및 확장성 고려시스템 설계를 시작하기 전에 예상 트래픽과 데이터 양을 추정하는 것은 매우 중요합니다. 시스템이 현재 요구사항뿐만 아니라 미래의 성장도 감당할 수 있어야 하기 때문입니다.사용자 수: 예상 일일 사용자 수와 동시 접속자를 고려합니다.트래픽: 초당 읽기/쓰기 요청..
-
localhost란?Computer Science/Network 2024. 9. 14. 16:00
localhost, 127.0.0.1, 그리고 0.0.0.0은 네트워킹과 관련된 주소들이며, 각기 다른 의미와 용도를 가지고 있습니다. 이들은 주로 서버 설정이나 네트워크 프로그래밍에서 사용되며, 각각의 의미와 차이를 이해하는 것이 중요합니다. 아래에서 이 주소들이 무엇을 의미하는지, 그리고 이를 이해하기 위한 관련 개념들을 설명하겠습니다.1. localhostlocalhost는 컴퓨터 자신의 IP 주소를 나타내는 특별한 도메인 이름입니다. 주로 테스트 목적으로 사용되며, 이 도메인 이름은 컴퓨터의 네트워크 인터페이스 중 자신을 참조할 때 사용됩니다.IP 주소: localhost는 일반적으로 127.0.0.1이라는 IP 주소로 해석됩니다.용도: localhost를 사용하면 네트워크를 통해 외부로 나가지 ..
-
데이터 저장 용량의 단위Computer Science/OS 2024. 8. 4. 15:01
데이터 저장 용량의 단위는 바이트를 기본 단위로 하여 위계적으로 증가합니다. 여기서 각 단위가 하나씩 증가할 때마다 일반적으로 1,024배씩 증가합니다.데이터 저장 용량 단위바이트(Byte, B)가장 작은 기본 단위로, 1바이트는 보통 8비트로 구성됩니다.킬로바이트(Kilobyte, KB)1 KB = 1,024 B메가바이트(Megabyte, MB)1 MB = 1,024 KB = 1,048,576 B기가바이트(Gigabyte, GB)1 GB = 1,024 MB = 1,073,741,824 B테라바이트(Terabyte, TB)1 TB = 1,024 GB = 1,099,511,627,776 B페타바이트(Petabyte, PB)1 PB = 1,024 TB = 1,048,576 GB = 1,125,899,906,..
-
SSR(Server-Side Rendering) vs CSR(Client-Side Rendering)Computer Science/Browser 2024. 5. 30. 22:33
SSR (Server-Side Rendering)과 CSR (Client-Side Rendering)은 웹 애플리케이션의 렌더링 방식을 설명하는 용어입니다. 두 방식의 차이점과 각각의 장단점, 사용 이유에 대해 설명하겠습니다.1. SSR (Server-Side Rendering)정의SSR은 서버에서 모든 HTML을 렌더링한 후, 완성된 HTML을 클라이언트(브라우저)에 전달하는 방식입니다.초기 페이지 로딩 시 서버가 HTML을 생성하여 브라우저에 전달하고, 이후 사용자 상호작용에 따라 필요할 때마다 서버에서 다시 HTML을 받아옵니다.장점빠른 초기 로드 시간: 첫 페이지 로드 시 완성된 HTML을 받기 때문에 초기 로딩 속도가 빠릅니다.SEO 친화적: 검색 엔진 크롤러가 완성된 HTML을 쉽게 인덱싱할 ..
-
URI (Uniform Resource Identifier) vs URL(Uniform Resource Locator)Computer Science/Network 2024. 5. 16. 10:21
URL(Uniform Resource Locator)과 URI(Uniform Resource Identifier)는 웹에서 자주 혼용되지만, 정확히 말하면 약간의 차이가 있습니다. 둘 다 자원을 식별하기 위한 표준 형식이지만, 그 용도와 범위에서 차이가 있습니다.URI (Uniform Resource Identifier)URI는 인터넷에서 자원을 식별하는 모든 방법을 통칭합니다. URI는 두 가지 주요 타입으로 나뉩니다:URL (Uniform Resource Locator): 자원의 위치를 나타냅니다.URN (Uniform Resource Name): 자원의 이름을 나타냅니다. 위치와는 무관하게 자원을 고유하게 식별합니다.URI의 문법은 다음과 같이 생겼습니다:scheme:[//authority]path..
-
TCP 3 Way-Handshake 자세히 알아보기Computer Science/Network 2024. 5. 2. 16:42
들어가기 앞서.. 네트워크 기초: TCP/IP 모델의 기본 개념, TCP의 위치와 역할TCP/IP 모델의 기본 개념TCP/IP 모델은 인터넷 통신을 가능하게 하는 프로토콜 스택입니다. 이 모델은 1970년대 후반에 개발되었으며, 통신 규약의 모음으로서 네트워크 간의 데이터 전송을 담당합니다. TCP/IP는 Transmission Control Protocol (TCP)와 Internet Protocol (IP)의 두 주요 구성 요소를 기반으로 이름이 붙여졌습니다.모델은 크게 네 계층으로 구분됩니다:응용 계층 (Application Layer): 사용자가 네트워크를 통해 데이터를 송수신할 수 있도록 하는 인터페이스 역할을 합니다. HTTP, FTP, SSH, SMTP, DNS 등 다양한 프로토콜이 이 계층..
-
프록시 서버(Proxy Server)란?Computer Science/Network 2024. 4. 26. 17:53
프록시 서버(Proxy Server)란? 프록시 서버는 클라이언트와 서버 사이에서 중개자 역할을 하는 서버입니다. 클라이언트의 요청을 받아 서버로 전달하고, 서버의 응답을 다시 클라이언트에게 전달하는 기능을 수행합니다. 프록시는 데이터의 흐름을 제어하고, 보안을 강화하며, 효율적인 네트워크 사용을 도모하는 여러 목적으로 사용됩니다.프록시의 주요 기능보안: 프록시 서버는 내부 네트워크와 외부 네트워크 사이의 보안 게이트웨이 역할을 합니다. 사용자의 실제 IP 주소를 숨기고, 외부 위협으로부터 내부 네트워크를 보호합니다.캐싱: 자주 요청되는 데이터를 프록시 서버에 저장하고, 같은 요청이 들어왔을 때 빠르게 응답하여 서버의 부하를 줄이고 네트워크 트래픽을 감소시킵니다.내용 필터링: 특정 웹사이트나 콘텐츠에 대..
-
주소창에 google.com을 치면 일어나는 일Computer Science/Network 2024. 4. 26. 17:38
I. 요약1. URL 입력 및 처리URL 입력: 사용자가 URL을 입력하고 엔터를 누르면, 브라우저는 URL의 유효성을 검사하고 필요한 프로토콜을 추가합니다.리다이렉트 확인: 초기 요청을 받은 서버가 URL을 다른 위치로 자동으로 보내도록 설정된 경우, 브라우저는 이 리다이렉트를 처리합니다. 예를 들어, http://로 시작하는 요청이 https://로 리다이렉트될 수 있습니다.공유 캐시 확인: 특히 대규모 웹 서비스에서는 네트워크 내에 공유 캐시(캐싱 프록시)가 존재할 수 있습니다. 이 캐시는 자주 요청되는 리소스를 저장하고, 캐시에 있는 리소스는 DNS 조회나 서버 접속 없이 바로 제공될 수 있습니다.2. DNS 조회브라우저는 "google.com"의 IP 주소를 찾기 위해 도메인 이름 시스템(DNS..