Computer Science
-
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..
-
Foreground Process와 Background ProcessComputer Science/Linux 2024. 4. 18. 23:33
리눅스 시스템에서 프로세스 관리는 핵심적인 부분을 차지합니다. 프로세스는 실행 중인 프로그램의 인스턴스를 의미하며, 리눅스에서는 크게 두 가지 유형의 프로세스로 분류할 수 있습니다: Foreground Process와 Background Process. 이 두 유형의 프로세스는 리눅스를 사용하는 데 있어서 다양한 환경에서 다르게 활용되며, 사용자의 작업 효율성과 시스템 성능에 직접적인 영향을 미칩니다. 이에 대한 자세한 설명과 예시를 통해 이해를 돕고자 합니다. I. Foreground Process Foreground Process는 사용자가 직접 제어하고 상호 작용하는 프로세스를 말합니다. 이 프로세스는 사용자의 입력을 기다리며, 사용자가 명령을 입력하면 해당 명령을 실행하고 결과를 표시합니다. 사용..
-
직렬화(Serialization)와 역직렬화(Deserialization)Computer Science/OS 2024. 4. 11. 10:01
직렬화와 역직렬화는 소프트웨어 개발에서 자주 마주치는 개념으로, 데이터를 효율적으로 저장하고 전송하는 데 필수적인 역할을 합니다. 1. 직렬화란? 직렬화(Serialization)는 데이터 구조나 객체 상태를 저장하거나 전송할 수 있는 포맷(예: JSON, XML)으로 변환하는 과정을 말합니다. 이렇게 하면 메모리에 있는 객체를 파일 시스템, 데이터베이스, 또는 네트워크를 통해 전송 후에도 재구성할 수 있습니다. 2. 역직렬화란? 역직렬화(Deserialization)는 직렬화의 반대 과정으로, 데이터를 원래의 객체나 데이터 구조로 복구하는 과정을 의미합니다. 역직렬화를 통해 저장소나 네트워크를 통해 받은 데이터를 응용 프로그램에서 다시 사용할 수 있는 실제 객체로 변환할 수 있습니다. 3. 어디에 주로..
-
HTTP Method란?Computer Science/HTTP 2024. 4. 6. 18:58
웹 개발의 세계에서 HTTP 메소드는 기본적이면서도 필수적인 구성 요소입니다. 웹 애플리케이션과 서버 간의 통신을 가능하게 하는 이 메소드들은 데이터의 조회, 생성, 수정, 삭제와 같은 작업을 수행합니다. 이 글에서는 HTTP 메소드의 중요성을 이해하고, 각 메소드의 사용 사례와 특징을 상세하게 탐구해보겠습니다. 들어가기 전에 들어가기 앞서 REST에 대해 간단히 짚고 넘어갑니다. REST(Representational State Transfer)와 RESTful은 밀접하게 관련되어 있으며, 때때로 혼용되어 사용되기도 합니다. 그러나 둘 사이에는 분명한 차이점이 있습니다. REST (Representational State Transfer) 개념: REST는 분산 시스템 설계를 위한 아키텍처 스타일입니다..