본문 바로가기

더이상 하지 않는 망한 프로젝트/프로젝트 개발 과정13

[앱삼] 3. DB연결 구조 개선하기 - 연결을 하다보니, db연결과 서버스타팅이 비동기적으로 일어나거나 이해하지 못하는 순서가 있었다. - 이를 구조개선을 통해 재정렬하여 connection 파이프라인이 명확해지도록 해야겠다. db.js const mongoose = require("mongoose"); mongoose.set('strictQuery', false); const mongooseConnect = async ()=>{ try{ await mongoose.connect(process.env.DB_URI, { useNewUrlParser: true, useUnifiedTopology: true, // useFindAndModify: false, // useCreateIndex: true, }, ()=>{ console.log('연.. 2023. 2. 27.
[앱삼] 2. MERN 풀스택 환경 기본세팅 - 4 1. 디렉토리/파일목록 세팅 2. Git 세팅 3. 라이브러리 세팅 4. node서버와 react 연결, 프록시 개발환경 설정 5. 디렉토리에 따른 코드스플리팅과 라우터설계 6. DB세팅 7. 로그세팅 8. 에러핸들러 미들웨어 세팅 // 여기부터 9. 쿠키파서/서드파티 미들웨어 세팅 // 이거는 나중에 쓸 거 있을 때 해야겠다 ... 1. 에러핸들러 미들웨어 /middleware/errorHandler.js 생성 const { logEvents } = require('./logger'); const errorHandler = (err, req, res, next)=>{ logEvents(`${err.name}: ${err.message}\t${req.method}\t${req.url}\t${req.hea.. 2023. 2. 26.
[앱삼] 2. MERN 풀스택 환경 기본세팅 - 3 1. 디렉토리/파일목록 세팅 2. Git 세팅 3. 라이브러리 세팅 4. node서버와 react 연결, 프록시 개발환경 설정 5. 디렉토리에 따른 코드스플리팅과 라우터설계 6. DB세팅 7. 로그세팅 // 여기 8. 에러핸들러 미들웨어 세팅 9. 쿠키파서/서드파티 미들웨어 세팅 ... 1. 로그세팅 - 메인 로직 이외에 도움을 주는 미들웨어 중 request 로그를 저장하는 시스템을 구축해보자. /middleware/logger.js const { format } = require('date-fns'); const { v4 : uuid } = require('uuid'); const fs = require('fs'); const fsPromises = require('fs').promises; cons.. 2023. 2. 26.
[앱삼] 2. MERN 풀스택 환경 기본세팅 - 2 1. 디렉토리/파일목록 세팅 2. Git 세팅 3. 라이브러리 세팅 4. node서버와 react 연결, 프록시 개발환경 설정 5. 디렉토리에 따른 코드분할과 라우터설계 // 오늘 여기부터 6. DB세팅 // 여기까지 7. 로그세팅 ... 5. 디렉토리에 따라 코드 분할하기 5-1. flowChart로 이해하기 - models 에서 정의된 스키마를 이용하여 controllers에서 컨트롤 로직을 구현하고, - routes의 index.js 가 /api/auth까지 정의해주면 그 이후 depth는 auth.js에서 /api/auth/signup 처럼 정의한다. - app.js에서 router를 호출하여 정의하고 미들웨어를 쑤셔넣는다. - server.js는 실행만 해준다. - 다음은 mongoDB에 연결하.. 2023. 2. 26.
[앱삼] 2. MERN 풀스택 환경 기본 세팅 - 1 1. 디렉토리/파일목록 세팅 2. Git 세팅 3. 라이브러리 세팅 4. node서버와 react 연결, 프록시 개발환경 설정 // 오늘 여기까지 5. 디렉토리에 따른 코드스플리팅과 라우터설계 6. DB세팅 7. 로그세팅 ... 1. 디렉토리 세팅 - controllers : 컨트롤러api들 - logs : log 저장공간 - middleware : 미들웨어들 - models : 몽구스 스키마 정의 공간 - public : html css js 빌드결과물 - routes : 서버에서 담당하는 router management - app.js : req 받는 곳 - server.js : server 실행 - .env : 환경변수 설정 파일 - db.js : database 연결용 프론트엔드디렉토리 - 그런게.. 2023. 2. 26.