CS

    HTTP와 HTTP 메세지구조

    HTTP란 ? HTTP(Hypertext Transfer Protocol)는 인터넷에서 데이터를 주고받기 위한 프로토콜 중 하나로, 웹 브라우저와 웹 서버 간에 정보를 주고받을 때 사용됩니다. HTTP는 클라이언트-서버 모델을 기반으로 동작하며, 클라이언트가 요청(Request)을 보내면 서버는 요청을 받아 해당 요청에 대한 응답(Response)을 보내는 방식으로 동작합니다. HTTP의 메세지 구조 HTTP 메시지는 클라이언트와 서버 간에 주고받는 데이터의 단위입니다. HTTP 메시지는 요청 메시지와 응답 메시지로 구분됩니다. HTTP 요청 메시지 구조: HTTP 요청 메시지는 다음과 같은 구조를 가집니다. Start Line: HTTP 요청에 대한 정보를 담고 있는 첫 번째 줄입니다. 메서드, 요청 ..

    캐시의 특징과 예시

    캐시의 특징 캐시의 장단점과 어떤 부분에 활용하는지 설명해주세요. 프론트엔드에서 캐시를 사용할 수 있는 2~3가지 영역을 제시해주세요 캐시란 데이터나 값을 미리 저장해 두는 임시 저장소를 말합니다. 캐시는 다음과 같은 장단점을 가집니다. 장점: 빠른 데이터 접근 속도: 캐시는 CPU에 비해 빠른 속도로 데이터에 접근할 수 있기 때문에, 캐시를 사용하면 데이터 처리 속도를 향상시킬 수 있습니다. 즉, 캐시를 이용하면 웹 페이지 로딩 속도나 애플리케이션 실행 속도 등이 향상됩니다. 데이터 중복 최소화: 캐시는 자주 사용되는 데이터를 저장하므로, 메모리 사용량을 줄이고 데이터 중복을 최소화할 수 있습니다. 전력 소모 감소: 캐시 메모리를 사용하면 주기적인 데이터 접근이 줄어들기 때문에, 전력 소모를 감소시킬 ..

    프레임워크와 라이브러리의 차이점

    공통적으로 프레임워크와 라이브러리는 모두 소프트웨어 개발에 필요한 도구들입니다. 하지만 이 둘은 목적과 사용 방법에서 차이가 있습니다. 라이브러리(Library): 일반적으로 다른 프로그램에서 사용할 수 있는 함수, 클래스, 인터페이스 등의 모음입니다. 라이브러리는 코드를 재사용하고 중복을 줄이는데 유용합니다. 사용하고자 하는 기능이 있을 때 해당 라이브러리를 가져와서 필요한 부분을 사용합니다. 라이브러리는 개발자가 사용하는 언어와 일치하는 언어로 작성되어 있어야 합니다. 프레임워크(Framework): 어떤 목적을 달성하기 위한 기본 구조와 제어 흐름을 제공하는 추상적인 라이브러리입니다. 즉, 프레임워크는 개발자가 어떤 일을 해야 하는지에 대한 방법과 규칙을 정해놓은 것입니다. 개발자는 프레임워크에서 ..

    Hoisting 과 TDZ란?

    Hoisting은 자바스크립트에서 변수와 함수 선언을 코드의 상단으로 이동시키는 동작을 말합니다. 이는 코드 실행 전에 변수와 함수가 메모리에 할당되기 때문에, 코드에서 해당 변수나 함수를 사용하기 전에도 이미 선언되어 있으므로 사용할 수 있게 됩니다. 이렇게 선언을 코드의 상단으로 이동시키는 것을 "hoisting"이라고 부릅니다. 변수 호이스팅 예시: console.log(a); // undefined var a = 5; 위 코드에서 a 변수가 console.log() 함수 호출 전에 선언되어 있지 않지만, undefined 값이 출력됩니다. 이는 변수 선언문이 코드의 상단으로 이동되어 선언되었기 때문입니다. 다음과 같이 코드를 변경하면 호이스팅이 발생하지 않습니다. var a; console.log..