본문 바로가기

분류 전체보기

[Node.js] 정보 암호화 및 관리2 - Bcrypt 본 포스팅은 John Ahn님의 유튜브 강의를 참고했습니다. https://youtu.be/XonyJxSDoGE?si=h5cZ3SChsfjVEVxs 저번에 Postman으로 MongoDB에 데이터를 넘겼었는데 확인해보니 데이터가 없었습니다. 왜 그런가 살펴봤더니 URL에 문제가 있었습니다. "mongodb+srv://아이디:비번@todolist.5fpaal7.mongodb.net/데이터베이스이름?retryWrites=true&w=majority" MongoDB의 주소 형식인데 제가 데이터베이스 이름을 입력하지 않았었습니다. 지금은 이렇게 Postman으로 데이터를 넘기면 잘 넘어옵니다. 저번 시간에는 MongoDB의 주소 비밀번호를 암호화 해봤는데요. 오늘은 Bcrypt라는 것을 이용해서 로그인 할 때 .. 더보기
[Node.js, Git] 정보 암호화 및 관리 MongoDB의 URL은 'mongodb+srv://아이디:비번@todolist.5fpaal7.mongodb.net/?retryWrites=true&w=majority' 이런 형식입니다. 소스 파일들을 배포하게 되면 비밀번호가 그대로 유출될 수 있습니다. 그래서 이런 중요한 정보들은 따로 관리해 줘야 합니다. 방법이 dev, prod 2가지가 있는데요. 먼저 config라는 폴더를 하나 만들어 봅니다. config 안에는 dev.js, key.js, prod.js파일이 들어갑니다. 1. dev는 development의 약자로 개발중인 상태에서 쓰이는 암호화 파일입니다. module.exports = { mongoURI : "mongodb+srv://ekdh3904:fogus12@todolist.5fpaa.. 더보기
[Node.js] Nodemon 모듈 서버를 실행하면 서버의 내용을 수정할 때 마다 서버를 껐다 다시 켜야하는 번거로움이 있는데 Nodemon이라는 모듈을 사용하면 이런 수고를 줄일 수 있습니다. npm i nodemon --save-dev 이것을 터미널에 입력해서 nodemon을 설치해줍니다. --save뒤에 -dev를 붙이는 이유는 개발자 모드(로컬) 일때만 적용하려고 하기 위함입니다. 설치가 완료되면 packege.json에 scripts 부분에 항목을 추가해야 합니다. "start": "node server.js", "backend" : "nodemon server.js", start에서는 node server.js를 통해 서버를 열었고, backend라는 항목을 추가해서 nodemon으로 서버를 열 수 있게 해줍니다. 그럼 터미널에.. 더보기
[MongoDB] PostMan을 사용해서 회원가입 구현 const mongoose = require('mongoose'); const userSchema = mongoose.Schema({ name:{ type : String, maxlength:50 }, email:{ type : String, trim : true, unique : 1 }, password : { type: String, minlength:5 }, lastname:{ type : String, maxlength:50 }, role:{ type: Number, default : 0 } } ) const User = mongoose.model('User', userSchema) module.exports = {User} 저번 시간에 만들었던 모델을 사용해서 간이 회원가입 기능을 구현해 보도록.. 더보기
[MongoDB] Schema와 Model 안녕하세요 명절 잘 보내고 돌아왔습니다! 오늘은 MongoDB의 스키마와 모델이라는 것에 대해 공부해 보려고 합니다. 스키마는 간단히 말하면 데이터 베이스에 생성할 데이터의 특성을 정의하는 것입니다. 스키마를 한 번 만들어 보겠습니다. 먼저 폴더를 하나 만들고 이름은 Models로 하겠습니다. 안에는 User.js라는 파일을 하나 만들어 줍니다. 먼저 몽구스 모듈을 불러와야 합니다. const mongoose = require('mongoose'); 이 코드 작성으로 몽구스 모듈을 사용할 수 있습니다. const userSchema = mongoose.Schema({ name:{ type : String, maxlength:50 }, email:{ type : String, trim : true, uni.. 더보기
[MongoDB] Mongosh를 사용해서 데이터 관리 MongoDB로 데이터를 관리할 때 MongoDB Atlas 사이트에서 직접 만들 수 있는데 보통은 Mongsh라는 프로그램을 사용해서 데이터를 관리한다고 합니다. 오늘은 Mongosh에 대해서 알아보겠습니다. 먼저 설치하고 프로그램을 열면 이렇게 셸이 나옵니다. 여기에 MongoDB 주소를 입력해서 연결해 줍니다. 성공적으로 연동된 모습입니다. use 이렇게 치면은 해당 데이터베이스와 연동됩니다. db를 치면 현재 사용중인 db 명을 알려주고 show dbs를 치면 존재하는 데이터베이스들을 알려줍니다. 생성은 db.컬렉션명.insert(document)로 할 수 있습니다. db.books.insert([ {"language": "java", "level": 5}, {"language": "ruby", .. 더보기
[MongoDB, React] Mongoose로 MongoDB와 연결하기 (feat.에러들) npm install express mongoose 를 터미널에 입력해서 리액트 17.0.2 버전에서 몽구스를 설치하려 했는데 npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: @testing-library/react@13.4.0 npm ERR! Found: react@17.0.2 npm ERR! node_modules/react npm ERR! peer react@"17.0.2" from react-dom@17.0.2 npm ERR! node_modules/react-dom npm ERR! react-dom@"^17.0.2" from the root project npm ERR! pee.. 더보기
[React] 리액트 버전 다운그레이드 서버를 만드는 도중에 리액트 18버전에서는 여러가지 종속성 문제가 발생하였습니다. 서버를 구축해서 몽고db를 연결해 보고 싶은데 생각대로 되지 않네요. 그래서 버전을 다운그레이드 해서 진행해보려고 합니다. react 18에서 17.0.2로 다운그레이드하는 방법 - DEV Community How to downgrade from react 18 to 17.0.2 I might not be the only one who is really scared of change in technology causing a break in my code,... dev.to 링크로 걸어둔 페이지를 참고하였습니다. 가장 많이 쓰는 버전인 17.0.2버전으로 바꿔보겠습니다. npx create-react-app . 먼저 프로젝.. 더보기