npm 개념 관련 질문
도움이 될지는 모르겠지만 ... 제지식 선에서 알려드릴게요//Basic Tools는 말그대로 코드를 작성할 때 쓰는 프로그램들 입니다.코드 에디터라고도 하고 통합 개발환경인IDE라고도 합니다.그냥 쉽게 말해서 코드 작성 프로그램이라고 보면 됩니다. 메모장으로 해도 됩니다만 그럼 불편하니까 이런걸 쓰는 거겠죠// Front End는 말그대로 화면 앞단을 구성하는 요소를 개발하는 것을 의미합니다.쉽게 말해서 크롬같은 웹브라우저로 특정 사이트로 이동했을때 사람이 볼 수 있는 화면 로직을 개발하는 것을 의미합니다.HTML과 CSS 는 화면 요소 중에서 디자인 요소를 담당하고 JS는 이런 요소들을 역동적으로 제어할 수 있게 해줍니다.예를 들면 클릭 이벤트나 마우스 커서에 따라 디자인 요소를 바꾼다던지..// Tools에서 node는 과거에는 자바스크립트는 브라우저 환경에서만 실행이 가능했으나라이언 달이라는 사람이 자바스크립트를 이용해서 브라우저가 아닌 환경에서도 js를 실행할 수 있게 만든 런타임 환경이라고 보면 됩니다.npm은 node package manager의 약자로 자바스크립트로 만든 패키지가 올라가 있는 웹 저장소인 npmjs에서 다른 개발자들이 만든 패키지를 다운받을 수 있게 해주는 프로그램으로 보시면 됩니다.node를 설치하면 자동으로 같이 설치가 됩니다.수업시간에 웹팩을 설치하고 추가로 필요한 기능을 npm을 이용해서 다운받은 후 그것들을 조립하는 거겠죠?그런데 이게 속도 문제도 있어서 페이스북에서 새로 개량해서 만든게 yarn 입니다.결국 둘다 같은거에요// Webpack은 구식 자바스크립트 문법부터 최신 브라우저 문법 , 타입스크립트 , 이미지 파일 등등 모든 파일을 특정 조건으로 번들링 해서하나로 합쳐주는 역할을 합니다. 예를 들면 브라우저는 리액트 문법이 들어가 있는 JSX 파일을 직접 읽지 못하기에이를 변환해서 다른 자바스크립트 파일과 합쳐서 하나의 자바스크립트 파일로 만들어 주기도 합니다.그럼 html 파일에 번들링된 이 파일 하나만 넣어주면 되겠죠...// Testing은 테스트 코드를 작성해서 버그 탐지라던지 코드 품질을 개선하는 작업이라고 보시면 될 것 같습니다.이부분은 저도 배우고 있어서 잘 모르겠네요~// publish는 개발이 다 끝난 프로젝트를 다른 사람들도 이용할 수 있게 웹상에 배포하는 거겠죠 근데 netlify로는 배포를 안해봐서 모르겠네요