본문 바로가기

Goorm IDE

(9)
Bcrypt로 비밀번호 암호화 하기 저번에 postMan으로 json형식의 회원가입 정보를 서버로 보냈었다. 이때 password 같은 경우 123456으로 넣어서 보내줬는데 문제는 이것이 암호화가 하나도 안되어있다는 것이다. (앞으로 나올 코드에서 존재하는 변수이기도 한데, 이렇게 쌩으로 드러나있는 비밀번호를 myPlainPassword라고 한다.) 보낼 때는 저렇게 보내도 DB에 저장할 땐 암호화를 한 후에 저장해서 계정 정보를 관리하는 사람도 유저의 비밀 정보를 볼 수 없도록 해줘야한다. 일단 bcrypt 라이브러리를 다운받아주자. bcrypt 사용법은 다음 링크를 이용하자. https://www.npmjs.com/package/bcrypt bcrypt A bcrypt library for NodeJS.. Latest version:..
NodeMon 설치 & 비밀 설정 정보 관리 서버 코드를 변경할 때마다 서버를 재시작해야 하는 번거로움이 있는데 이것을 해결해주는 것이 nodemon이다. 이 도구를 사용하면 자동으로 위 작업을 해준다. 위에 보면 -dev가 붙어있는데 이것은 development 모드의 약자다. development 모드(local에서 할 때랑), production 모드(배포를 한 다음의 모드)가 있고, 우리가 로컬에서 할 때만 사용하겠다는 의미이다. 이렇게 다운로드하면 dependencies가 아니라 devdependencies에 버전이 들어가 있는 걸 확인할 수 있다. nodemon으로 시작해야 되기 때문에 scripts를 수정해주자. 다음으로는 소스 안에있는 비밀정보를 보호하는 작업이다. 지금까지 게시글에는 가렸지만 소스 안에는 mongoDB 내 정보가 들..
(postMan 오류) not authorized on admin to excute command admin이 명령을 실행할 권한이 없다는 에러가 뜬다. 위에 표시한 것처럼 test를 추가해주면 해결된다.
BodyParser & postMan & 회원가입 기능 client란? Chrome 브라우저를 client라고 봐도 된다. 깃허브에서 회원가입을 하려고 할 때 클라이언트를 이용해서 이름, 이메일, 비밀번호를 입력한 다음에 이것을 서버에다가 보내는 것이다. 정보들을 입력해서 서버에 보내주면 서버에서 이것을 받아야 되는데, 이때 필요한 것이 BodyParser다. BodyParser을 다운 받아주자. npm install body-parser@1.19.0 --save 그리고 postMan이라는 프로그램을 다운로드하는데, 아직 클라이언트를 구현해놓지 않았기 때문에 클라이언트를 통해서 데이터를 서버에 보낼 수가 없다. 그래서 이것을 대체하기 위해서 사용하는 프로그램이 postMan이다. 나는 사지방이므로 web postMan을 이용했다. https://web.pos..
mongoDB Model & Schema 유저 이름이나 사는 곳, 나이 등등 유저 정보를 입력하면 유저 데이터베이스에 들어가게 된다. 이때 이 유저와 관련된 데이터들을 보관하기 위해서 유저 모델, 유저 스키마를 만들어보자. 모델이란? 스키마를 감싸주는 역할을 한다. 스키마란? 어떤 상품에 관련된 글을 작성할 때, 글을 작성하는 사람이 누구인지, 작성을 할 때 포스트의 이름이 무엇인지, 또 이때 type과 최대길이 등등 하나하나 지정해주는 것이 스키마를 통해서 할 수 있음. 루트 경로에서 models 폴더를 하나 만들고, User.js파일을 만든다. 몽구스 참고 사이트 https://www.zerocho.com/category/MongoDB/post/59a1870210b942001853e250 https://www.zerocho.com/categ..
express 적용과 mongoDB 연결 컨테이너와 파일까지 모두 만들어졌다면 원래라면 npm package를 만들기 위해서 npm init을 해줘야 하지만 goorm ide 같은 경우 컨테이너를 만드는 시점부터 node와 npm이 다운로드되어있다. 그래서 이 부분은 스킵해도 된다. root 경로에서 index.js 파일을 하나 만들어주자. 이 파일이 backend의 시작점이 된다. 그리고 위 버전에 맞게 express와 mongoose를 다운로드하여주자. npm install express@4.17.1 npm install mongoose@5.8.9 다음으로 기본적인 express.js 앱을 만들어보자. https://expressjs.com/ko/starter/hello-world.html Express "Hello World" 예제 Hel..
버전 문제 john-ahn 선생님의 boilerPlate 강의를 들으면서 mongoose 연결을 하는 부분에 겪었던 오류다. 나는 goorm ide로 하는지라 node.js 버전과 npm 버전이 고정되어있다.. 사지방이라 뭘 깔지도 못하고 ㅜㅜ 이 에러 같은 경우 세번째 줄에 나와있는 C: ~~ 이 주소를 따라 들어가서 "use strict"; const {TextDecoder, TextEncoder} = require("util") const utf8Encoder = new TextEncoder(); const utf8Decoder = new TextDecoder("utf-8", { ignoreBOM: true }); function utf8Encode(string) { return utf8Encoder.enco..
Goorm Ide로 컨테이너 만든 후 초기 add, commit, push 하기(2) 1편에서 내가 겼었던 오류를 해결했다. 문제는 그냥 내가 git 사용법이 미숙했던 것으로.. 일단 1편에서 말했던 것 처럼 처음에 컨테이너를 만들 때 플랫폼을 github로 설정하고 미리 원격저장소를 지정해주고 만들면 안되는 것 같다. 플랫폼은 기본 플랫폼으로 설정해주고 컨테이너를 만들자. 그러면 컨테이너를 실행했을 때 연결된 저장소가 없다고 뜰 것이다. 그 다음 git init을 해주자. (.git 라는 이름의 숨김 폴더가 하나 생긴다. 이것을 저장소라고 하는데 깃은 이 폴더의 모든 변경 내용을 여기에 저장한다. 이 파일을 지우면 더 이상 깃으로 폴더의 변경사항을 추적할 수 없다.) 이러면 git창에 파일들이 뜬다.(안뜬다면 새로고침) 그리고 config 파일을 찾아서 내용을 보면 core 제외하고 지..