대표적인, 대중적인 패키지 관리자 2개를 알아보자.
Node Package Manager (NPM)
모듈이란 애플리케이션을 구성하는 개별적 요소를 말한다. npm은 package.json 파일을 통해서 프로젝트 정보와 패키지의 의존성(dependency)을 관리한다.
package.json은 프로젝트의 정보를 정의하고, 의존하는 패키지 버전 정보를 명시하는 파일이다. 일반적으로 루트 디렉토리에 위치한다.
Fetch는 네트워크 요청/응답에 관련된 일반적인 Request/Response Object를 제공한다.
파이어베이스는 구글(Google)이 소유하고 있는 모바일 어플리케이션 개발 플랫폼으로 이걸 활용하면 앱을 개발하고, 개선하고, 키워나가기 용이하다. 파이어베이스는 "앱을 개발하고, 개선하고, 키워갈 수 있는" 도구 모음(toolset)이다.
macOS BigSur 또는 Catalina에서는 몽고DB를 설치할 때 추가적업이 필요합니다.
Express.js는 node.js 환경에서 웹 어플리케이션 혹은 API를 제작하기 위해 사용되는 인기있는 프레임워크이다.Express를 사용하면 라우팅을 쉽게 구현할 수 있다
http 상태 코드를 알아야 하는 이유는 RESTAPI를 했을때 필요하기 때문이다. 만약 에러가 발생한 경우, 클라이언트에 에러가 발생했다고 알려줘야 한다. 그 때 보내는 것이 상태코드이다. 100은 서버가 요청의 일부를 받았으며, 나머지 요청을 더 기다리고 있다는 것
http protocol을 통해 통신해서 API를 제공하는 주체→ GET/POST 요청에서 url에 따라, 클라이언트의 요청에 따라 routing하고, 그 요청에 따라 서버는 필요한 데이터를 불러온다. 데이터는 저장, 불러오기가 가능해야 한다.
express는 NodeJS를 쓰는 사람이라면 모두 알 정도로 유명한 웹 프레임워크이다. express를 사용해서 response, request를 통해 주고 받도록 되어 있는데, 이 때 특히 response를 보내줄때 혼동이 오는 부분이 있다.
SQL은 구조화된 쿼리언어(Structured Query Language)를 말한다. 따라서 데이터 베이스 자체를 나타내는 것이 아니라, 특정 유형의 데이터베이스와 상호 작용하는 데 사용하는 쿼리 언어이다. SQL을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)
이런 말을 들었을때 RESTful하다는게 어떤 뜻일지가 궁금해진다. 요약하면, RESTful하다는 것은 REST한 특징을 지키는 것을 의미한다
JWT(JSON WEB Token) JWT는 JSON 형식의 데이터를 저장하는 토큰이다. 세 부분으로 구성되어 있다.
템플릿 엔진이란, 템플릿을 읽어 엔진의 문법과 설정에 따라서 파일을 HTML 형식으로 변환시키는 모듈입니다. Express에서 인기리에 사용되고 있는 Jade 템플릿 엔진은 기존의 HTML에 비해 작성법이 아주 다른데, 그에 비해 EJS는 똑같은 HTML에서 <%
![] 빠르고 간단하게 API를 개발할 때는 조합을 많이 사용하는 편이다. 추가로 mongoDB ODM(Object Document Mapping)인 를 활용해 DB를 관리한다. mongoose를 이용해서 데이터를 조회한 후 해당 데이터를 json 형태로 변환해서 바로 response를 보낼 때에는 별 문제가 없지만, 해당 데이터를 spread oper...
미들웨어는 익스프레스의 핵심 요소이다.미들웨어요청와 응답의 중간(middle)에 위치해 미들웨어라고 일컫는다. 미들웨어는 요청과 응답을 조작해 기능을 추가하기도 하고, 나쁜 요청을 걸러내는 일 또한 수행한다. 미들웨어는 app.use와 함께 사용한다.대표적으로 자주 사
스트림은 버퍼에 담는 것까지는 버퍼와 동일하나, 버퍼의 내용일 한 번에 보내는 것이 아니라 조금씩 꾸준히 계속 보내는 것을 의미한다. 스트림으로 데이터를 보낼때 나눠진 조각을 chunk라고 부른다. data 이벤트를 설정해 chunk가 들어오면 data라는 배열에 하나
UTF-8은 가장 많이 사용되는 가변 길이 유니코드 인코딩이다. 유니코드를 통해 코드표가 정의되었고, 남은 것은 그 '코드'가 컴퓨터에 어떻게 저장되어야 하는 것이다. 다른말로 인코딩(encoding)이라고 하는데, 컴퓨터가 이해할 수 있는 형태로 바꿔주는 것이다. 글
페이로드(payload)는 전송되는 데이터를 의미한다. 데이터를 전송할때, 헤더와 메타데이터, 에러체크 비트 등과 같은 다양한 요소들을 함께 보내어, 데이터 전송의 효율과 안전성을 높인다. 이 때 보내고자 하는 데이터자체를 의미하는 것이 페이로드이다. json으로 보는
자바스크립트에서 Error를 던져서 에러 처리하는 것은 쉽고 간단한 방법이다. express에서도 마찬가지이다. Error를 던지면 200 OK가 아닌, 500 Internal Serval Error를 발생시킬 수 있다. http-errors를 쓰는 대신 에러 클래스를
가성머신에서 JS 실행 방법을 제공한다. 스크립트를 실행할 수 있는 가상 머신 또는 샌드박스를 준비한다. 지정된 샌드박스가 createContext()메서드에 의해 생성된 경우 true를 반환한다. 지정된 컨텍스트에서 JS 코드를 실행하고 결과를 반환한다. 디버그 컨텍
정규화(Normalizaion)의 기본목표는 테이블 간에 중복된 데이터를 허용하지 않는다는 것이다.중복된 데이터를 허용하지 않음으로써 무결성(Intergrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다.제1 정규화란 테이블의 컬럼이 원자값(Atomi
프로젝트를 진행하면서 로컬 로그인과 소셜 로그인을 구현해보았다. 소셜로그인은 oAuth2.0 방식을 사용해 구현했으나, 서버로부터 인증키(Access_token)을 받고, 서버로 토큰을 전달하는 방식 등이 메소드로 쉽게 구현되어 있어 어렵지 않게 구현할 수 있었다. 로
path: http://a.com/login에서 /login 부분하나의 path(라우터)에서 경우에 따라 다른 결과를 보여주기 위해서는 쿼리스트링이 사용된다. 쿼리스트링은 어떤 애플레케이션에게 정보를 전달할 때 사용되는 URL에 약속되어 있는 국제적인 표준을