입력과 출력이 모두 자바스크립트 코드인 컴파일러.
바벨은 최신 버전의 자바스크립트가 실행되지 않는 구 버전의 브라우저에서도 정상적으로 실행되도록 변환해준다.
(jsx,타입스크립트 와 같은 정적타입의 언어와 코드 압축 등의 문법을 사용할 수 있다.)
babel 쓰는 이유
크로스 브라우징
ES6 -> ES5로 변환
각 브라우저마다 js 엔진이 다르지만, 모든 브라우저에서 동작하도록 호환성을 지켜준다.
폴리필(polyfill)
폴리필(polyfill)
개발자가 특정 기능이 지원되지 않는 브라우저를 위해 사용할 수 있는 코드 조각이나 플러그인을 의미
프로그램이 처음에 시작될 때 현재 브라우저에서 지원하지 않는 함수를 검사해서 각 object의 prototype에 붙여주는 역할을 한다.
Node.js란?
Node.js는 Chrome V8 Javascript 엔진ㅇ로 빌드된 자바스크립트 런타임이며, 이를 통해 브라우저 외부에서도 자바스크립트 코드를 실행할 수 있다.
Node.js 장점
높은 처리량 : 입출력 작업을 블로킹 하지 않기 때문에, 작업이 완료되기 전에 다른 작업을 수행할 수 있다.
확장성 : 이벤트 기반 아키텍처를 사용하므로, 논블로킹 I/O 작업을 수행할 때마다 새로운 이벤트 루프를 생성한다.
모듈 생태계 : npm(Node Package Manager)을 통해 모듈 생태계를 갖추고 있어 쉽게 사용 할 수 있다.
빠른 개발: javascript를 사용하기 때문에 프론트와 백엔드에서 동일한 언어를 사용할 수 있다.또한 nodejs는 기본적으로 비동기식 작업을 처리하므로 코드를 간결하고 직관적으로 작성할 수 있다.
개발 생산성 향상: 다양한 도구와 라이브러리 존재
Node.js 단점
단일 스레드 모델: 다중스레드 작업을 병렬적으로 수행할 수 없다. 많은 수의 CPU 바운드 작업을 수행하는 경우 작업 지연 될 수 있다.
콜백 지옥: 비동기 작업을 처리하기 위해 콜백 패턴을 사용하지만 중첩될 경우 콜백 지옥현상 초래 -> promise 와 async/await 같은 패턴 등장
모듈 생태계의 불안정성: 모듈 생태계가 불안정하여 라이브러리 버전이라 호환성 문제가 발생할 수 있다. -> 최신버전 모듈 사용 및 버전 관리 시스템사용으로 버전 관리 해야함.
보안 이슈: 악의적인 공격자들이 해킹을 시도 할수 있다. nodejs 애플리케이션 개발시 보안에 대한 고려 필요.
NPM(Node Packaged Manager )이란?
node.js로 만들어진 pagkage(module)을 관리해주는 툴
ESLInt란?
ECMaScript 코드에서 문제점을 검사하고 에러가 발생하지 않는 더 나은 코드로 수정해주는 'Lint'도구 중 하나.
사용 하는 이유
다른 사람과의 협업을 할때 다른 코드 형식을 맞춰주는 역할을 한다. 자바스크립트는 컴파일 과정이 없는 인터프리터 언어이기 때문에 Linter가 내장되어 있지 않기 때문에 런타임 환경에서 에러가 발생할 수 있다. 그러기 때문에 사전에 에러를 발견하고 해결하는 것이 중요하다.
Prettier란?
코드 포맷의 통일성을 유지시켜주는 Javascript 라이브러리이다.
일관적인 코드 스타일을 유지할 수 있게 도와주는 툴이다.
웹 태스크 매니저란?
코드가 수정된 뒤 저장하고 브라우저를 새로고침 해야 변경된 내용을 확인할 수 있는데 이러한 일을 자동화 해주는 도구
웹 서비스를 개발하고 배포시 html, css,js등 파일을 압축하거나 변환을 자동화 해주는 도구
바벨이란?
입력과 출력이 모두 자바스크립트 코드인 컴파일러. 바벨은 최신 버전의 자바스크립트가 실행되지 않는 구 버전의 브라우저에서도 정상적으로 실행되도록 변환해준다. (jsx,타입스크립트 와 같은 정적타입의 언어와 코드 압축 등의 문법을 사용할 수 있다.)
babel 쓰는 이유
폴리필(polyfill)
개발자가 특정 기능이 지원되지 않는 브라우저를 위해 사용할 수 있는 코드 조각이나 플러그인을 의미 프로그램이 처음에 시작될 때 현재 브라우저에서 지원하지 않는 함수를 검사해서 각 object의 prototype에 붙여주는 역할을 한다.
Node.js란?
Node.js는 Chrome V8 Javascript 엔진ㅇ로 빌드된 자바스크립트 런타임이며, 이를 통해 브라우저 외부에서도 자바스크립트 코드를 실행할 수 있다.
Node.js 장점
Node.js 단점
NPM(Node Packaged Manager )이란?
node.js로 만들어진 pagkage(module)을 관리해주는 툴
ESLInt란?
ECMaScript 코드에서 문제점을 검사하고 에러가 발생하지 않는 더 나은 코드로 수정해주는 'Lint'도구 중 하나.
사용 하는 이유
다른 사람과의 협업을 할때 다른 코드 형식을 맞춰주는 역할을 한다. 자바스크립트는 컴파일 과정이 없는 인터프리터 언어이기 때문에 Linter가 내장되어 있지 않기 때문에 런타임 환경에서 에러가 발생할 수 있다. 그러기 때문에 사전에 에러를 발견하고 해결하는 것이 중요하다.
Prettier란?
코드 포맷의 통일성을 유지시켜주는 Javascript 라이브러리이다. 일관적인 코드 스타일을 유지할 수 있게 도와주는 툴이다.
웹 태스크 매니저란?
코드가 수정된 뒤 저장하고 브라우저를 새로고침 해야 변경된 내용을 확인할 수 있는데 이러한 일을 자동화 해주는 도구 웹 서비스를 개발하고 배포시 html, css,js등 파일을 압축하거나 변환을 자동화 해주는 도구