기존의 브라우저에 종속된 자바스크립트에서 플랫폼에 구애받지 않고 Javascript를 사용하기 위해 Node.js가 탄생했고, 동작 방식에 대해서 배웠다.(비동기, 이벤트루프, 콜스택, 잡큐, 메시지큐 등..)
ES6, 비동기코딩, 이벤트루프에 대해서 복습했다.
Node에서 모듈을 불러올때 사용하는 require 메서드나 모듈을 내보내는 exports 객체, 그리고 간단히 서버를 생성하는 코드 등을 공부했다.
서버를 생성하고 요청하고 응답하고 하는 Node 모듈을 사용했는데 이 모듈들이 정확히 어떤 순서로, 어떤 내부 구조로 동작하는지 공부하지는 않았기때문에 그냥 사용만 하는 느낌이여서 빈 껍데긱 같았다. 어렵다기보다는 잘 배우지 않고 쓰기만 해서 찝찝하다.
오늘 사용한 require나 exports, http모듈 같은 것들의 내부 구조를 공부하고싶다. 그냥 아 이렇게 쓰니까 쓰는거구나 이렇게 생각 없이 쓰는게 아니라 내부 구조를 이해하고 쓰고싶다. 그리고 지금 내가 배우는게 최신 문법인지도 궁금하다.
그리고 내가 궁금하고 따로 공부해볼것은 전에 배웠던 export / import와 오늘 배운 exports / require가 어떻게 다른지 공부하고싶다.
오늘부로 Node.js를 통해 백엔드 공부의 시작이다.
그런데 오늘 수업 자료만으로는 NodeJS의 동작 방식이 브라우저랑 큰 차이가 없어 보여서 더 깊은 공부가 필요할것 같다. 브라우저와 Node의 차이는 분명히 있을텐데.
그리고 아까도 말했듯이 Node에서 사용하는 모듈들… 그냥 쓰는게 아니라 내부 구조를 이해하고 사용하고싶다. 앞으로의 수업에서도 배우지 않는다면 내가 따로 공부해야겠다.
개발자는 아 이게 들어가면 이게 나오니까 그냥 써먹어야겠군 이게 아니라 이 모듈이나 함수는 무엇을 하는 녀석이고 내부 구조는 대강이라도 이런 구조로 되어있구나 하고 이해하고 사용해야 된다고 생각하기 때문이다.