728x90

백엔드 11

ESModule 로 express 작성하기

{ "name": "webrtc", "version": "1.0.0", "description": "", "main": "server.mjs", // 확장자 변경 "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "nodemon ./src/server.mjs" // 명령어 작성 }, "author": "", "license": "ISC", "dependencies": { "express.js": "^1.0.0", "pug": "^3.0.2" }, "type": "module" // 추가}ESModule 을 사용하기 위해서는 "type": "module" 을 설정해야 한다. 또한, ..

이미지 업로드 - multer

https://medium.com/@hassaanistic/image-handeling-using-multer-in-react-d7fea28e8dc6  multer 를 이용하여 이미지를 업로드하는 방법은 두가지가 있다. 첫번째는 이미지를 서버로 전송하면 특정폴더에 저장하고, 폴더에 저장된 이미지 데이터를 DB에 저장하고, 브라우저로 이미지 데이터를 보낸다. 두번째는 이미지를 서버로 전송하면 특정폴더에 저장하고, 폴더에 저장된 이미지 경로를 브라우저로 전송하고, 브라우저에서 해당경로의 파일 데이터를 읽는 방식이다. 즉, 브라우저로 이미지 데이터를 보내느냐, 이미지 경로를 보내느냐의 차이다. 또는 서버쪽에서 이미지 데이터를 조회하느냐 프론트쪽에서 이미지 데이터를 조회하느냐의 차이다. 아래 코드는 두번째 방법..

노드 cors 에러 해결하기 - Error: unable to verify the first certificate

https://velog.io/@satoshi25/TIL-714-Warning-Setting-the-NODETLSREJECTUNAUTHORIZED-environment TIL 7/14 Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment오늘은 시험을 봤다. 그 중에서 잘 몰랐던 부분들을 찾아보면서 나름 문제의 원인을 찾은 경험을 남겨봤다. https 모듈을 사용하여 express로 api 문서대로 구현하는 것이 목표였다. 시험의 문제와는velog.io  * 노드 서버 https 설정하기https://charming-kyu.tistory.com/46 [node.js] localhost https 적용 (SSL)서론 로컬에서 개발할 때 http://l..

NODE.JS 공유폴더 경로문제 & Express 기초이론

https://deface.tistory.com/55 [Windows]윈도우에서 명령 프롬프트(CMD) pushd 명령으로 네트워크 드라이브 사용 업무에 필요한 파일을 한곳으로 모으고자 보통의 경우 NAS나 일반 PC의 공유 폴더 기능을 통해 사용하고 계실 겁니다. 일반적인 경우 윈도우의 실행창 과 익스플로러 창에서 \\을 기입하시고 그 deface.tistory.com const express = require('express') // 모듈 임포트 const app = express() const port = 3000 // 서버 포트 // 미들웨어 (middleware) // 미들웨어 중에서 라우트 경로가 포함된 미들웨어 -> 라우트 핸들러 함수 // 라우트 (route) // HTTP 메서드 (GET..

백엔드 2023.08.07

히로쿠에 express 서버 배포하기 (개정판)

* 히로쿠 파트 1. 히로쿠 가입하기 2. 히로쿠 저장소 생성하기 3. 로컬 PC 에 heroku-cli 설치하기 4. .git 폴더가 위치한 곳에서 heroku 원격주소 등록하기 5. 히로쿠 로그인하기 * 몽고 아틀라스 파트 1. 몽고 아틀라스 가입하기 2. 프로젝트 생성하기 3. 데이터베이스 생성하기 4. username, passoword 설정하기 5. cloud IP 주소 설정하기 6. 컬렉션 생성하기 7. 데이터 추가하기 8. 몽고 아틀라스 주소 확인하기 * index.js 파트 1. master 브랜치로 이동하기 2. cors 의 origin 옵션을 * 로 설정하기 3. 몽고 아틀라스 주소로 몽고 DB 접속주소 변경하기 4. 포트번호 동적으로 변경하기 5. package.json 파일의 scr..

깃허브 페이지에 리액트 (React) 배포하기

주의사항 : npm run build 하고 build 폴더를 깃허브에 올릴때 아래와 같은 설정을 해주는데 로컬에서는 아래와 같은 설정을 하게 되면 경로를 읽어오지 못하고 404 에러가 발생한다. 그럼 설정한 것들을 해제해주거나 환경변수를 설정해서 환경변수의 값이 development 일때와 production 일때 다른 코드를 읽어오게 하면 된다. 예를 들어 개발환경에서는 BrowserRouter 의 basename 은 설정해주지 않는 것이다. 1. 깃허브 저장소 이름 (dongjin) 을 BrowserRouter 컴포넌트의 basename 으로 설정해준다. 2. package.json 파일에 homepage 주소를 설정해준다. 3. public/index.html 의 head 부분에 base 태그를 추..

히로쿠(Heroku)에 Express + Mongo DB 서버 배포하기

* index.js 파일 수정하기 git checkout master 를 해서 master 브랜치에서 아래 코드 수정후 git add / git commit / git push heroku master 명령어를 실행하자! app.listen(process.env.PORT || 5000, () => { console.log("server is running on port 5000! - nodemon") }) 히로쿠 서버는 포트를 동적으로 부여하므로 위와 같이 코드를 수정한다. mongoose.connect(CONNECT_URL, { // Mongo DB 서버 연결 useNewUrlParser: true, useUnifiedTopology: true }).then(() => console.log("mongo..

API 서버 구현 및 테스트 연습

* 프로젝트 개요 회사에서 온라인 도서 서비스를 런칭한다고 하자. 아래 데이터 모델 설계와 API 설계를 활용하여 도서 서비스 API 서버를 구현하고 테스트 해보자! * 데이터 모델 설계 - Book 필드명 설명 데이터 타입 title 책의 제목 - 필요 문자열(String) author 책의 저자 - 필요 문자열(String) summary 책의 내용 요약 문자열(String) genre 책의 장르 문자열(String) release 책의 발매일 - 필요 문자열(String) ISBN 책의 국제표준도서정보 - 필요 숫자(Number) 책의 발매일은 같은 제목의 책이라도 개정판은 날짜가 다를수 있으므로 필요한 필드로 설정한다. * 데이터 모델 설계 - User 필드명 설명 데이터 타입 name 사용자 이..

728x90