본문 바로가기

분류 전체보기

[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 . 먼저 프로젝.. 더보기
[React] useReducer 복습 useReducer는 개발을 하면서 많이 사용할 것 같아서 복습하는 시간을 가져보도록 하겠습니다. import React, { useState, useEffect } from 'react'; import axios from 'axios'; function Users() { const [users, setUsers] = useState(null); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); useEffect(() => { const fetchUsers = async () => { try { // 요청이 시작 할 때에는 error 와 users 를 초기화하고 setError(null); set.. 더보기
[React] API 연동 백엔드를 무작정 코딩하면서 공부해보려고 했는데 엄두가 안나서 기본 개념부터 배워보려고 합니다. 오늘은 API 연동에 대해서 공부해 보려고 하는데 알고 있어야 할 개념이 있습니다. (벨로퍼트님의 강의를 참고하였습니다.) 비동기 처리 함수라는 것이 있는데 비동기라는 말은 작업을 동시에 처리하는 것을 의미합니다. 만약 서버쪽에서 데이터를 받와아야 할 때는, 요청을 하고 서버에서 응답을 할 때 까지 대기를 해야 되기 때문에 작업을 비동기적으로 처리합니다. 비동기 처리는 보통 Promise나 async/await함수를 사용합니다. const myPromise = new Promise((resolve, reject) => { // 구현.. }) Promise함수의 형태입니다. 성공할 때는 resolve를 호출하고 .. 더보기
[Git] 리액트 프로젝트 깃허브 Repository에 올리기 안녕하세요 오랜만에 왔네요 : ) 오늘은 리액트 프로젝트를 Git Bash를 이용해서 깃허브에 올려보겠습니다. 먼저 create-react-app 으로 만든 리액트 프로젝트가 필요합니다. 프로젝트 폴더가 생성되면 우클릭 후 Open Git Bash here를 클릭합니다. 그러면 이렇게 Git Bash 터미널 창이 뜹니다. 경로는 프로젝트 폴더로 지정되어 있습니다. 다음은 올리기 위해 수행해야 할 단계입니다. 1. 명령어란에 git init을 쳐줍니다. - git init은 내 프로젝트를 git에 등록하는 과정입니다. 2. git add . 을 입력해줍니다. - git에 등록하여 commit 상태로 만들어줍니다. 3. git commit -m "first commit" 을 입력해 줍니다. - 커밋이 가능한.. 더보기