프로그래밍 공부를 시작하면서 이유는 모르겠지만 나도 모르게 가지고있던 고정관념이다.
아마 HTML, CSS, 자바스크립트를 공부하면서 이 브라우저창에 보이는 부분이 프론트엔드가 담당하는 부분이에요 라는 설명을 들었어서 그런것 같다.
그래서 자바스크립트를 공부하게 된다면 서버쪽을 내가 지금 접할 일은 없겠지? 라고 안일하게 생각하고 있었다.
하지만 Node.js 라는 것을 알게 되었고 이 Node.js가 자바스크립트 언어로 만들어진 것인데 서버쪽에서 쓰인다는 것을 알게 되었다.
❗️ 하지만 그건 사실이 아니었다 ❗️
공식 사이트에 들어가보면
라고 되어있다.
❓ V8 이란 ❓
❓ 자바스크립트 엔진이란 ❓
예전의 자바스크립트는 웹 브라우저 위에서만 사용할수 있었다.
하지만 저 Node.js를 통해 브라우저 외에서도 자바스크립트를 사용할 수 있도록 된 것이다.
❗️ 즉, Node.js는 자바스크립트 언어를 브라우저 외의 환경에서 사용할 수 있도록 해주는 실행기 ❗️
자바스크립트 언어로 서버를 실행할 수 있도록 코드 작성을 하고, Node.js가 그것을 실행 해주는 것이다.
사실상 자바스크립트 언어로 서버를 실행 할 수 있도록 해주는 것인데, 이게 Node.js 를 통한 방식이다 보니
나같은 초보자들은 Node.js는 서버구나 라고 잘못된 인식을 갖게 되는 것 같다.
위에서 말했다시피 자바스크립트는 단순히 프론트엔드 언어구나 라는 고정관념이 있었다.
하지만 지금은 프론트엔드, 백엔드라는 단어 자체가 객관적인 기준으로 정해졌다기보다 사람들을 편하게 이해시키기 위해, 그리고 공적인 부분에서 조금 더 편한 역할 분담을 위해 언어화된 단어인 것 같다고 생각이 바뀌었다.
자신이 소위 프론트엔드의 업무를 담당하고 있더라도 백엔드 영역에 대해서도 알고 있어야 백엔드 업무를 담당하고 계신분과 원활히 의사소통을 할수 있고, 그런 소통들이 쌓여서 나중에 결국 더 나은 결과물을 만들 수 있다고 생각한다.