[기술면접 스터디] 3일차

Chan·2023년 2월 23일
0

기술면접스터디

목록 보기
3/6
post-thumbnail

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

  • Notion AI 작성 😑
    프레임워크와 라이브러리는 개발에 있어서 중요한 역할을 합니다. 프레임워크는 개발자가 만들려는 애플리케이션의 구조와 실행 흐름을 미리 정해놓고, 개발자가 그 구조에 맞게 개발을 진행할 수 있도록 도와줍니다. 즉, 프레임워크는 개발자가 만들고자 하는 애플리케이션의 뼈대를 제공하는 역할을 합니다. 반면, 라이브러리는 개발자가 필요한 기능을 호출하여 사용하는 역할을 합니다. 즉, 라이브러리는 개발자가 만든 애플리케이션에 필요한 기능을 제공하는 역할을 합니다.

  • 나 작성 😑
    프레임워크는 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 커넥션 등의 기능들을 위해 뼈대를 제공한다. 이러한 뼈대 위에서 코드를 작성해 원하는 애플리케이션을 개발할 수 있다.
    소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 상호 협력하는 클래스와 인터페이스의 집합이라고 할 수 있다.
    개발자가 개발을 쉽게 할 수 있도록 뼈대를 제공해준다.
    라이브러리는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다. 구성 데이터, 문서, 도움말, 메시지 틀, 함수, 클래스, 값, 자료형 사양 등을 포함할 수 있다.
    개발에 필요한 것들을 미리 구현해놓은 도구라고 할 수 있다. 재사용이 가능한 기능을 미리 구현해놓고 필요한 곳에서 호출하여 사용 가능하도록 만들어진 집합이다.
    가장 큰 차이점은 제어 흐름 이 어디에 있는가이다.
    프레임워크에게 제어의 흐름을 넘겨 개발자가 작성하는 코드에서 신경 써야 할 부분을 줄이고 전체적인 흐름을 쥐고 있기 때문에 애플리케이션의 코드는 프레임워크에 의해 사용된다.
    애플리케이션 코드는 프레임워크가 짜놓은 틀 안에서 수동적으로 동작하기 때문에 제어의 흐름은 프레임워크에게 있다.
    반면 라이브러리는 개발자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰게 된다. 전적으로 제어 흐름이 개발자에게 있으며 필요할 때마다 능동적으로 라이브러리를 호출하여 사용한다.

캐시의 장단점과 활용 / 프론트엔드에서 캐시를 사용할 수 있는 2~3가지 영역

  • Notion AI 작성 😑
    캐시는 데이터를 저장하여 데이터의 접근 속도를 높이는데 활용되는 기술입니다. 프론트엔드에서는 이미지, CSS, JS 등을 캐싱하여 웹 페이지 로딩 속도를 향상시키는데 활용됩니다. 이를 통해 사용자는 빠르게 페이지를 로딩할 수 있어 더 나은 사용자 경험을 누릴 수 있습니다. 또한, 캐시를 활용하면 서버에 부하를 줄일 수 있어 더 나은 서비스를 제공할 수 있습니다.

  • 나 작성 😑
    캐시란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 말한다.
    캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다는 장점이 있다.
    반복적으로 동일한 결과를 돌려주는 경우(특정 이미지 or 썸네일) 사용하거나 접근 시간에 비해 원래 데이터에 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고자 하는 경우에 사용한다.
    캐시의 단점으로는 메모리 저장공간은 속도가 빠를수록 용량이 작고 가격이 높다.
    프론트엔드에서 캐시를 사용할 수 있는 영역은 이미지, CSS 파일, JS 파일 등이 있다.
    이들은 웹 페이지를 불러오는 데 있어서 많은 시간을 소요하는 자원이며, 이러한 자원을 캐싱하여 사용하면 웹 페이지 로딩 속도를 향상시킬 수 있다.
    먼저 이미지를 캐싱하면 이미지를 다시 서버에서 불러오지 않고 캐시에서 바로 불러올 수 있기 때문에 웹 페이지 로딩 속도를 향상시킬 수 있고 이미지를 캐싱하면 사용자가 같은 웹 페이지를 여러 번 방문할 때 이미지를 다시 로딩하지 않아도 되기 때문에 서버에 부하를 줄일 수 있다.
    CSS 파일과 JS 파일은 웹 페이지의 디자인과 기능을 담당하기 때문에 매우 중요한 자원이다.
    이들을 캐싱하면 웹 페이지의 로딩 속도를 향상시키는 데 큰 도움이 되며 CSS 파일과 JS 파일을 캐싱하면 사용자가 같은 웹 페이지를 여러 번 방문할 때 불필요한 자원을 다시 다운로드하지 않아도 되기 때문에 서버에 부하를 줄일 수 있다.
    캐시를 사용함으로써 서버에 부하를 줄이고 웹 페이지 로딩 속도를 향상시킬 수 있다는 점은 프론트엔드 개발에서 매우 중요한 이슈이므로 프론트엔드 개발자는 자주 사용하는 자원들을 캐싱하여 웹 페이지의 로딩 속도를 최적화하는 작업을 진행해야 한다.

HTTP에 대해 설명 / HTTP 메세지 구조에 대해 더 자세히 설명

HTTP는 HyperText Transfer Protocol의 약자로, 인터넷에서 데이터를 주고받을 수 있는 프로토콜입니다. HTTP는 클라이언트와 서버 간에 통신을 가능하게 하는데, 이를 위해 요청과 응답의 메시지를 정의합니다. 요청 메시지는 클라이언트에서 서버로 보내는 메시지이며, 응답 메시지는 서버에서 클라이언트로 보내는 메시지입니다. 각각의 메시지는 시작 라인, 헤더, 본문으로 구성되며, 이를 이용하여 데이터를 주고받습니다.

profile
드디어 신발 신은 프론트엔드 개발자

0개의 댓글