자바스크립트용 호스트 환경 즉 자바스크립트 런타임자바스크립트는 중요한 프로그래밍 언어이며 대부분의 브라우저는 자바스크립트로 동작한다.자바스크립트 엔진 중에 중요한 엔진인 V8이 있는데 Node.js는 이 V8엔진을 기반으로 API를 추가하여 브라우저 밖에서 자바스크립트
폴더를 하나 만들어주고 기본적인 패키지를 설치해준다.npm init으로 package.json을 만들어주고npm install --save express body-parser 명령어로 express, body-parser를 설치해주고npm install --save-d
클라이언트의 요청 경로를 보고 이 요청을 처리할 수 있는 곳으로 기능을 전달해주는 역할을 하는 것라우터 객체참조 - 라우팅 함수 등록 - 라우터 객체를 app 객체에 등록이 순서대로 알아보면이런식으로 작성하면 된다.위의 방식으로만 작성하면 app.js가 터지게 된다.모
Express에서 다양한 경로의 데이터를 주고 받기 위해서는 다이나믹 새그먼트라는 방식을 이용할 수 있다.다이나믹 라우팅을 하는 이유는 라우팅을 유동적으로 하여 다양한 데이터, 예를 들어 id가 u1인 유저의 데이터를 보여줄 때 수만명의 아이디를 위해서 /user/u1
저번에 다이나믹 라우터로 세팅하였을 경우에 존재하지 않는 경우에도 응답코드가 200이 떠있던 것을 확인 할 수 있다.하지만 존재하지 않는 아이디로 검색을 했을 경우 404에러가 떠야 하는 것이 프론트 입장에서도 에러 처리하기 좋기 때문에 반드시 에러 처리를 해주어야 한
기존의 error처리하는 방식은 변하지 않기 때문에 자체적인 모델을 만들어 어디서든 사용할 수 있게 만드는 방법이 좋을 거 같다.root 경로에 models라는 폴더를 하나 생성해주고 안에 error를 처리할 수 있는 모델을 만들어서 사용할 수 있다.이때 자바스크립트
routes파일에 routes의 경로와 더불어서 그 요청을 처리하는 함수까지 모두 작성하였다.이렇게 될 경우 유지보수에 어려움을 겪게 되고 너무 길어진 코드에 어디서 찾아야 할지 헷갈리기 때문에 분기점에서 나눠줄 필요가 있다.root폴더에 controllers라는 폴더
컨트롤러 파일을 가서 patch함수를 만들어준다.우선 언제나 마찬가지로 params에서 아이디를 추출해 온다.그리고 바로 데이터를 수정하는 것이 아닌 복제본을 만들어 덮어 씌워줘야 한다.이유는 참조값과 원시값의 차이인데 이를 알기 위해서는 복잡하니 간략하게 말하면참조값
우선 express-validator를 설치하기 위해 터미널에서 npm install --save express-validator명령어를 통해 라이브러리를 설치해준다.routes파일에는 여러가지가 메서드를 이용한 api가 있지만 입력을 검증 받는 절차이기에 post,
우선 google geocoing api를 검색해서 사이트에 접속해준다.이때 구글 아이디가 필요하며 결재수단을 지정해야 api를 사용할 수 있고 사용시 돈을 지불해야 하는데 어느정도는 무료로 사용할 수 있으며 개인적인 공부를 위해서는 무료로 제공해주는 데이터도 충분하기
mongodb를 바닐라로 설치해서 사용할 수 있지만 매우 비효율적이며 코드도 길어지기 때문에 mongoose를 설치해준다.mongoose를 프로젝트에 설치하려면npm install --save mongoose를 입력해주고 프로젝트에 설치한다.이후 atlas에 들어가서
우선 NOSQL의 장점은 느슨한 스키마라고 뽑을 수 있는데 하지만 너무 자유분방한 스키마는 에러를 불러오게 되니까 어느정도 스키마를 따르게 하는 작업이 필요하다.스키마를 만들건데 여기서 스키마란 데이터를 어떻게 넣을지에 대한 청사진이라고 생각하면 된다.root 경로 -
MongoDB에서는 데이터를 생성할 때 id가 자동으로 나온다.이 아이디를 이용해서 read를 구현하려면 findById라는 메서드를 이용한다.이라는 데이터가 있고 이에 따른 스키마가 정의되어 있다고 가정한다.이때 몽고디비에 저장하면위에 처럼 \_id가 자동으로 난수로
1번 스키마의 creator와 2번 스키마의 place로 서로 관계가 설정 되었다.
가. 1번 스키마나. 2번 스키마스키마가 설정된 데이터에서 상호 연결을 해볼 것이다.예를 들어 두번째 스키마를 유저라고 가정했을 때 유저가 글을 작성하면 contents에 첫번째 스키마를 이용해 작성한 글이 등록되도록 할 것이다.다음과 같이 구현할 예정이고 에러나 검증
우선 Front 코드에서 Backend를 연결할 수 있도록 요청을 보내야한다.보통 이렇게 작성할 것이다.우선 fetch를 안쓰고 axios같은 다른 서드파티 라이브러리를 사용해도 무방하지만 기본적인 것을 알기 위해서 기본 내장 라이브러리인 fetch를 사용했다.1번의
우선 터미널을 열고 npm install jsonwebtoken을 설치해준다.우선 회원가입부터 보면가장 최상단에 jwt를 불러온다.비밀번호는 평문으로 저장해두는 순간 바로 털리기 때문에 hash를 해준다.hash란 암호를 만들어서 저장하는 것으로 npm install