[임시] 한권으로 끝내는 node&express를 읽고서

Taurine·2022년 1월 20일
0

써보고 이해하기

  • "익스프레스가 정확히 무엇인지 아직 파악하지 못했어도 괜찮습니다. 때로는 먼저 이해하기보다 무작정 해보는 것이 더 쉬울때도 있으니까요."

같은문제, 비슷한해결

  • "다른 언어의 전문가였던 개발자들이 자신이 사용하던 언어의 장점을 자바스크립트에서도 살리길 원했고, 자바스크립트는 그렇게 다른 언어의 장점을 하나둘 씩 흡수하면서 점차 발전하고 있습니다."
  • "익숙한 언어를 계속 사용하고 싶다는 생각이 발전하면서 클라이언트 전용으로 생각했던 자바스크립트를 서버에서도 사용할 수 없을까? 하는 아이디어가 나왔고 그 아이디어를 발전시킨 프로젝트가 여럿 등장했습니다. 그중에서도 가장 주목을 받은 것이 노드입니다."
  • "모든 방면에서 자바스크립트를 사용하는 이점은 분명합니다. 생각하는 방식을 계속 바꿔야 할 필요가 없어지는 겁니다!"
  • "스캐폴딩은 루비에서 도입한 개념입니다. 아이디어는 단순합니다. 대부분의 프로젝트에는 뼈대가 되는 소위 보일러플레이트 코드가 필요한데 프로젝트를 시작할 때마다 이 코드를 다시 만들 필요는 없습니다. 프로젝트의 뼈대를 미리 만들어두고 새 프로젝트를 시작할 때마다 이 뼈대(템플릿)을 복사하면 됩니다."

정의를 정의하는

  • "필자는 항상 단일페이지라는 표현이 좀 잘못된것이 아닌가 하는 생각을 하는데, 사용자 입장에서 보면 페이지 하나라고 표현하기는 어렵기 때문입니다. 결국 차이는 페이지 전체를 서버에서 보내느냐 아니면 클라이언트에서 동적으로 렌더링하느냐의 차이입니다."
  • "NoSQL 데이터베이스를 SQL이 아니다라고만 하면 무슨 뜻인지 알기 어려우니 문서 데이터베이스, 키-값 쌍 데이터베이스라고 부르는 편이 더 적절할 수도 있습니다."
  • "수많은 문서에서 주요 파일의 이름을 app.js, index.js, server.js 같은 것으로 정하길 권합니다. 필자는 호스팅 서비스나 배포시스템에서 메인 애플리케이션 파일의 이름을 정해놓지 않은 이상 이렇게 할 필요가 없다고 생각하며, 메인 파일의 이름을 프로젝트 이름으로 정하는걸 선호합니다... 애플리케이션의 파일의 이름을 다른 것으로 바꿨다면 pagkage.json도 이에 맞게 수정하는걸 잊지 마세요."
  • "애플리케이션 구조 역시 끝나지 않는 논쟁의 중심에 서있고 정답은 한가지가 아닙니다. 하지만 알아두면 도움이 되는 패턴이 몇가지 있습니다."

어렴풋했던 맥락의 연결

  • "npm은 프로젝트에 설치된 패키지 목록을 package.json 파일에 보관합니다. 이 파일에는 프로젝트 메타데이터도 들어 있습니다."
  • "npm install을 실행하면 패키지를 node_modules 디렉터리에 설치하고, package.json파일을 업데이트 합니다. node_modules 디렉터리는 언제는 npm으로 다시 생성할 수 있으므로 깃 저장소에 추가할 필요가 없습니다. 실수로 저장소에 추가하는 일이 없게끔 다음과 같이 gitignore파일을 만듭니다."
  • "웹사이트를 만들기 위해서는 여러가지 기술을 조합해야 하며 이 조합을 흔히 스택이라고 부릅니다."
  • "npm은 노트 패키지를 위한 패키지 매니저입니다."
  • "로컬호트스틑 이름 그대로 지금 사용중인 컴퓨터를 가리킵니다."
  • "이 파일은 프로젝트의 진입점이 됩니다. 책에서는 이 파일을 앱파일이라 부릅니다."
  • "노드에서는 앱이 곧 웹 서버입니다."
  • "-g플래그는 전역으로 설치하라는 의미이며, 이렇게 하면 시스템 전체에서 해당 패키지를 사용할 수 있습니다... 특정 웹 앱이나 프로젝트에서만 사용하는 패키지는 전역으로 설치하지 않는다는 정도로만 알아두면 됩니다"
  • "이런 내비게이션 이벤트에 애플리케이션이 어떻게 반응할지 정하는 것을 라우팅이라 부릅니다... 라우팅은 클라이언트가 요청한 컨텐츠를 전송하는 매커니즘을 가리킵니다... 클라이언트는 원하는 콘텐츠를 URL, 즉 경로와 쿼리스트링으로 요청합니다."

더 많은 경험, 더 많은 삽질

  • "동기적 사고방식에서는 일찍 벗어날수록 좋습니다."
  • "더 복잡한 기능을 추가하기 전에 먼저 주변 정리를 한 다음에 좋은 습관을 몸에 익히는 편이 좋습니다."
  • "처음으로 일을 정확히 할 때 대충 해치우는 것보다 다섯배의 시간이 필요하다고 합시다. 하지만 같은 일을 두번째로 할 때는 세배 정도의 시간이면 충분합니다. 일을 정확히 하기를 계속 반복하다 보면 대충 할때 걸리는 시간과 거의 차이가 없을 겁니다... 무언가를 계속 반복하면 그건 언젠가 자동으로 행하게 된다는 겁니다. 나쁜 습관을 반복하면 나쁜 버릇이 몸에 배입니다. 완벽한 습관을 반복하면 언젠가는 완벽한 결과를 손에 넣게 됩니다.. 책을 읽으면서 새로운 기술만 읽히려 하지 말고, 좋은 습관도 함께 얻길 바랍니다."

새로운 개념

  • "노드몬은 소스 코드를 수정했을 때 자동으로 노드 프로그램을 재시작하는 널리 쓰이는 유틸리티입니다."
  • "이벤트 주도 프로그래밍, 이 말은 어떤 이벤트가 일어날지 그 이벤트에 어떻게 반응해야할 지 프로그래머가 이해해야 한다는 뜻입니다... 사용자가 뭔가를 클릭하면 프로그래머는 클릭 이벤트를 처리합니다... 예를들어 사용자가 애플리케이션의 한 영역에서 다른 영역으로 이동하는 것도 이벤트입니다."
  • "익스프레스에서는 라우트와 미들웨어의 순서가 중요합니다."
  • "뷰는 사용자가 보는 것을 책임지는 부분입니다. 웹사이트에서는 보통 HTML이 뷰 역할을 수행하지만 PNG나 PDF등 클라이언트가 렌더링 할 수 있는 것은 모두 뷰라고 봐도 됩니다... 익스프레스는 여러가지 뷰엔진을 지원하며 이들의 추상화 레벨 역시 다양합니다."

0개의 댓글