728x90
728x90
NVM(Node Version Manager)란?NVM은 여러 버전의 Node.js를 쉽게 설치하고 프로젝트마다 다른 버전을 사용할 수 있게 해주는 도구이다. NVM을 사용하면 특정 프로젝트에서는 Node.js 14 버전을 다른 프로젝트에서는 16 버전을 사용하는 것이 가능하다.주요 기능다양한 Node.js 버전 설치 및 관리프로젝트마다 필요한 Node.js 버전 전환필요 없는 Node.js 버전 제거NVM 설치 방법macOS / Linux에서 설치macOS와 Linux에서는 터미널을 통해 간단히 NVM을 설치할 수 있다. NVM의 GitHub 공식 저장소에서 제공하는 명령어를 사용한다.# NVM 설치 스크립트 실행curl -o- https://raw.githubusercontent.com/nvm-sh/..
스코프(Scope)란?자바스크립트에서 스코프(Scope)는 코드에서 변수나 함수가 어디에서 유효하고 접근 가능한지를 결정하는 규칙이다.스코프는 코드 작성 시 변수의 가시성(Visibility)과 생명주기(Lifetime)를 결정하기 때문에 스코프를 명확히 이해하는 것이 자바스크립트 프로그래밍에서 필수적이다.자바스크립트에서 스코프는 크게 두 가지로 나눈다. 전역 스코프(Global Scope)와 지역 스코프(Local Scope) 그리고 더 구체적으로,함수 스코프와 블록 스코프라는 개념이 지역 스코프의 하위 유형이다. 또한, 자바스크립트는 렉시컬 스코프(Lexical Scope)라는 규칙을 따르는데 이 규칙은 함수나 변수가 어디에서 정의되었는지에 따라 접근 권한이 결정된다는 것을 의미한다. 렉시컬 스코프는..
자바스크립트 Promise?자바스크립트에서 비동기 작업을 처리할 때 유용하게 사용되는 것이 Promise 객체이다. Promise는 비동기 작업을 처리하고 이를 통해 비동기 코드를 쉽게 작성하고 관리할 수 있다. 또한 Promise 콜백 함수의 콜백 지옥 문제점을 부분적으로 해결할 수 있다.Promise는 미래에 완료될 작업을 나타내며 성공(resolve) 또는 실패(reject) 여부에 따라 각각 다른 처리를 할 수 있다. 기본적으로 Promise는 비동기 작업의 결과를 추상화하여 성공했을 때와 실패했을 때 각각의 처리를 간편하게 할 수 있도록 도와준다.Promise의 상태Pending(대기): 아직 작업이 완료되지 않은 상태Fulfilled(이행): 작업이 성공적으로 완료된 상태Rejected(거부)..
콜백 함수란?콜백 함수는 다른 함수에 인수로 전달되는 함수이다. 자바스크립트는 함수를 1급 객체(First-class object)로 취급하기 때문에 함수를 변수에 할당하거나 함수의 인수로 전달할 수 있다. 콜백 함수는 일반적으로 비동기 작업을 처리하기 위해 사용된다. 비동기 작업이 완료된 후 호출될 함수를 미리 전달해두고 작업이 끝났을 때 해당 함수가 실행되도록 만드는 방식이다. 콜백함수의 구분콜백함수는 주로 비동기 작업을 처리하기 위해 사용되지만 동기 작업에도 사용할 수 있다. 두 가지 방법의 예시를 통해 콜백 함수를 알아보자. 먼저 두 가지 방식에 대한 차이점을 간단하게 설명하면 동기적 콜백 함수는 코드가 순차적으로 실행된다. 콜백 함수가 완료되기 전까지 다음 코드로 넘어가지 않는다. 비동기적 콜백..
순수함수란?자바스크립트에서 순수함수는 함수형 프로그래밍에서 중요한 개념이다. 순수함수는 부작용(side-effect)이 없고 동일한 입력에 대해 항상 동일한 출력을 보장하는 함수이다. 이를 통해 코드의 예측 가능성과 안정성을 높일 수 있다. 순수함수의 주요 특징참조 투명성 - Referentially Transparent함수에 동일한 인자를 넣으면 항상 동일한 결과가 나와야 한다. 예를 들어 함수 add가 2와 3을 입력받았을 때 항상 5를 반환해야 한다. 부수 효과 없음 No Side-Effects함수의 실행이 외부 상태나 데이터에 영향을 미치지 않아야 한다. 예를 들어 함수 내부에서 변수 값을 변경하거나 파일 시스템, 네트워크, DOM 등을 수정하면 부작용이 발생했다고 할 수 있다. 순수함수 예시fu..
프록시(Proxy)란?프록시는 네트워크에서 중개자 역할을 하는 서버 또는 소프트웨어를 의미한다.클라이언트와 웹 서버 사이에 위치하여, 클라이언트가 요청한 데이터를 중개하고 서비스 제공자의 응답을 클라이언트에게 전달하는 역할을 한다. 프록시는 클라이언트와 서버 사이에서 데이터를 주고받는 "대리자" 역할을 하는 것이다.프록시의 주요 기능프록시는 단순히 데이터를 전달하는 역할 외에도 다양한 기능을 수행할 수 있다.보안 강화: 프록시는 클라이언트의 IP 주소를 숨겨 사용자의 개인정보를 보호할 수 있다. 또한 악성 사이트 접근을 차단하거나, 데이터 암호화를 통해 보안을 강화할 수 있다.캐싱(Caching): 자주 요청되는 데이터를 프록시 서버에 저장해두고 클라이언트 요청 시 저장된 데이터를 제공함으로써 서버 부하..