JavaScript

    [Bun] Bun??

    Bun 이란?? 자바스크립트 런타임 : 자바스크립트 코드를 실행할 수 있는 환경 노드보다 빠른 속도 Bun 공식 웹사이트를 통해 알 수 있다. https://bun.sh/ Bun은 빠른 올인원 자바스크립트 런타임이라고 소개하고 있다. 그렇다면 얼마나 빠를까??

    [v8] V8엔진(Chrome V8)

    V8엔진(Chrome V8) 웹 브라우저를 만드는데 기반을 제공하는 오픈소스 자바스크립트 엔진 ECMAScrpit 규격의 C++로 작성되었으며 자바스크립트를 바이트코드로 컴파일하고 실행하는 방식 사용(JIT) * JIT Just-In-Time Java, C# 등에서 제공하는 실시간 컴파일 방식 자바스크립트 엔진 자바스크립트 코드를 실행하는 프로그램 혹은 인터프리터를 말한다. 자바스크립트 엔진은 표준적인 인터프리터로 구현될 수도 있고 혹은 자바스크립트 코드를 바이트코드로 컴파일하는 JIT컴파일로 구현할 수도 있다. V8엔진 등장배경 웹브라우저 내부에서 JS의 속도 개선을 위해 고안된 V8엔진. 자바스크립트 엔진은 웹 특성상 유저와 상호작용을 위해 즉시성이 있는 인터프리터 방식을 사용하는데 코드가 많아질수록..

    [typeScript] 타입스크립트를 왜 쓸까?

    타입스크립트를 왜 쓸까 타입스크립트도 결국 자바스크립트이다. 타입스크립트도 자바스크립트와 크게 다르지 않다. 따지고 보면 JS의 확장 느낌 자바스크립트에 타입에 대한 내용을 확장시킨것이 타입스크립트이다. 타입스크립트는 컴파일 후에 자바스크립트 파일을 떨군다.(tsc -w) 결과적으로 JS파일을 생성한다는 점에서 왜 굳이 타입스크립트를 쓰는지에 대한 의문이 생기는데 그 의문을 해결해보자. 다음과 같은 함수가 있다고 하자 function sum(x, y) {{ return x + y; } sum 함수가 파라미터로 어떤타입의 인자를 받는지, 어떤타입으로 리턴해주는지 명확하지가 않다. 자바스크립트는 dynamic typing을 지원하고 있다. 예를 들어 해당 함수에 x =3 , y = '5' 값을 인자로 넘겨줬..

    [node] npm

    npm Node Package Manager npm npm 다운로드는 터미널에서 'npm install ***' 이런식으로 설치한다. 설치하기 이전에 npm init 을 입력해서 npm을 시작해주자. npm init을 하게되면 package.json 파일이 생성된다. package.json은 설치한 모듈에 관한 의존정보들도 함께 관리해준다. 설치된 모듈들을 정리해주는 메모장과 같은 느낌 npm을 시작하고 모듈을 하나 다운받아보자. 'npm install figlet' (install 은 i로 써도 된다.) npm install 할때 -g 를 붙이게 되면 해당 프로젝트가 아니라 전역으로 해당 모듈을 사용할 수 있다. 하지만 충돌 가능성이 있으니 충돌을 방지하기 위해 전역이 아닌 프로젝트 단위로 설치하는 것..

    [node] node.js 시작하기

    최근 원티드나 기타 채용사이트를 살펴보면 요구조건 혹은 우대조건에 node.js가 많이 보인다. 자바를 주력으로 사용하는 나에게 node.js 는 많이 들어보긴 했는데 정확히 무엇인지 잘 몰랐었다. 그냥 단순히 자바스크립트 기반으로 빌드된 자바스크립트 런타임?? 정도로만 알고 있었는데 최근에 크게 관심이 생겨서 노드에 대해 공부를 시작했다. node.js 공식사이트에서는 노드를 다음과 같이 정의하고 있었다. 'Node.js는 Chrome V8 Javascipt 엔진으로 빌드된 Javascript 런타임 입니다.' 즉 노드를 통해 다양한 자바스크립트 애플리케이션을 실행할 수 있고, 서버를 실행하는데 제일 많이 사용된다. 특징 Node.js가 나오기 이전 자바스크립트를 구동하기 위해선 웹 브라우저가 필요했다..