본문 바로가기

분류 전체보기86

웹 서버 (Web Server)와 웹 어플리케이션 서버 (Web Application Server)의 차이점은 무엇인가요? 웹 서버란? - 웹서버는 하드웨어, 소프트웨어 혹은 두개가 같이 동작하는 것을 의미할 수 있습니다. - 소프트웨어 측면: 웹 서버는 HTTP와 같은 프로토콜을 통해 넘어온 클라이언트의 요청에 HTML과 같은 웹 페이지로 응 답 하는 소프트웨어다. 대표적인 예로 nginx, apach가 있다. 이 소프트웨어들은 호스팅하고 있는 서버(컴퓨터)에서 웹 페이지의 컴포넌트 파일들(html, image, css, javascript)에 어떻게 접근하는지를 관리한다. - 하드웨어 측면: nginx나 apach와 같은 소프트웨어가 실제로 동작하고, 웹 페이지의 데이터를 실제로 저장하는 서버 (컴퓨터)를 의미한다. 웹 서버는 인터넷에 연결되어 IP주소로 식별되고, 이 주소를 통해 클라이언트와 연결된다. 웹 어플리케이션 .. 2023. 5. 25.
자바스크립트 (JavaScript)의 호이스팅 (Hoisting)이란 무엇인가요? 자바스크립트 (JavaScript)의 호이스팅 (Hoisting)은 코드 실행 전에 변수와 함수 선언을 끌어올리는 동작을 말하는 것 호이스팅은 자바스크립트 엔진이 스크립트를 처리하기 전에 소스 코드를 미리 확인하여 실행 컨텍스트에 해당 변수와 함수를 등록하는 과정을 의미한다. 변수 호이스팅은 변수 선언이 해당 범위의 최상단으로 끌어올려지는 것을 의미한다. 즉, 변수를 선언하기 전에 변수를 사용하는 것이 가능해지지만 변수의 초기화는 실제 선언 위치에서 이루어지기 떄문에 호이스팅으로 인한 변수의 값이 undefined로 출력된다 함수 호이스팅은 함수 선언문을 해당 범위의 최상단으로 끌어올리는 것을 의미한다. 이렇게 하면 함수를 선언하기 전에 호출할 수 있다. console.log(x); // undefine.. 2023. 5. 24.
정규 표현식 (Regular Expression)에 대해 설명해보세요. 정규 표현식 (Regular Expression 또는 Regex)은 문자열에서 특정 패턴을 찾거나 대체, 추출하는데 사용되는 패턴 기반의 텍스트 처리도구이다. 정규 표현식은 문자열의 유효성 검사, 텍스트 검색 및 대체, 문자열 분할 등 다양한 문자열 작업에 유용하다. 정규 표현식은 패턴을 정의하는 문자열이다 이 패턴은 문자열의 일부 또는 전체와 일치하는 문자 조합을 표현한다. 패턴은 특정 문자, 문자 클래스,메타 문자, 반복, 그룹화 및 조건부 등을 포함할 수 있다 일반적으로 정규 표현식에서 사용되는 메타 문자 몇가지는 아래와 같다 ' . ' (마침표): 어떤 문자 하나와 일치한다 ' [] ' (문자 클래스): 괄호 내에 있는 어떤 문자와 일치한다. ' * ' (별표) : 앞의 요소가 0회 이상 반복되는.. 2023. 5. 23.
멀티스레딩 (Multithreading)과 멀티프로세싱 (Multiprocessing)의 차이점은 무엇인가요? 멀티스레딩 (Multithreading) - 하나의 프로세스 내에서 여러 스레드를 생성하여 작업을 동시에 수행하는 것 스레드는 프로세스의 자원을 공유하며 메모리 공간을 공유하는 특성을 가진다 멀티프로세싱 (Multiprocessing) - 여러 독립적인 프로레스를 생성하여 각각의 프로세스가 독립적으로 작업을 수행하는 것 프로세스는 각각 자체 메모리 공간을 가지고 있으며 프로세스 간의 통신을 위해 별도의 메커니즘이 필요하다 차이점 1. 자원공유 멀티스레딩 : 스레드는 하나의 프로세스 내에서 실행되기 떄문에 메모리와 자원을 공유할 수 있다. 이로 인해 데이터 공유가 빠르고 효율적이지만 공유 자원에 대한 동시 접근으로 인한 동기화 문제가 발생할 수 있다. 멀티프로세싱 : 프로세스는 독립적으로 실행되기 때문에 .. 2023. 5. 22.