NodeJS 관련된 역사를 공부했다. 덕분에 왜 nodeJS에서는 commonJS 기반 require를 사용하고 브라우저 상에서는 ES Module을 사용하는지 알게되었다.
npm과 package.json, pakage-lock.json에 대해서 알게되었고 비즈니스 로직이란 무엇인가에 대해서 한번 정의 내려 볼 수 있게 되었다. 비즈니스 로직이란, 어떤 프로그램의 주요 기능의 로직이라 볼 수 있겠다.
수직확장(Scale Up)은 서버의 성능을 향상시키는 것이고 수평확장(Scale Out)은 서버를 증설하는 것이라는걸 알았고, 클라우드 서비스를 사용하면 피크 때만 증설하는 등 유연한 대처가 가능하다는 것도 알게되었다.
클라이언트 ↔ 웹 서버 만 있을줄 알았는데 그게 아니라 클라이언트↔웹서버↔웹애플리케이션 서버 로 나눈다는것을 알았다.
프로토콜과 API 둘 다 통신 프로토콜이라 할 수 있지만 인프라 관점이냐 코드 관점이냐로 구분한다는 느낌도 알았다.
dotenv 라는 모듈을 통해서 환경변수를 관리하고, body-parser 모듈을 통해서 request의 req.body 부분을 파싱할 수 있다는 것을 알았다.
코드가 짧으면 대충 흐름을 알겠는데 오늘 실습문제 1번에서 코드가 꽤 길었고, 분석을 하지도 못했는데 바로 바로 풀이에 진행해서 따라가기 힘들었다.
오늘 배운것들(백엔드 기초)을 잘 연습하려면 어떤 프로젝트를 해보는게 좋을까? 투두리스트? 게시판?
그리고 express를 사용하니까 백엔드도 재밌어보이는데… express가 쉬워서 그런거겠지? 그리고 DB를 아직 만져보지 않아서 그런거겠지? 결국 다 공부해보면 다시 프론트로 가고싶어지겠지?
흥미로웠다. 백엔드 개발자들은 대체로 수학, 퍼즐같은걸 좋아하는 이과적인 친구들이 많아서 항상 무서워만 했었는데 오늘 배워보고 나니까 최근에 배워서 익숙한 Javascript를 사용하는 NodeJS와 Express 모듈 자체가 쉬워서 할만해 보인다. 그래서 재밌어 보인다. 그래서 백엔드도 관심이 간다. 하지만 Express가 아니라 다른 어려운 웹서버 프레임웍을 사용한다던가, DB관리를 한다던가,, 과 같은 고급 백엔드로 넘어가면 다시 프런트로 가고싶어지겠지?
뭐 어쨌건 프론트건 백엔드건 지금은 둘 다 열심히 해야하는 때가 맞는것 같다.