프로젝트 5

회원가입 없이 서비스 이용하기 (기록하기) / uuid, cookie-parser 예제 정리까지

이번 프로젝트에서는 사용자의 회원가입이 없이 기록을 관리하도록 만들기로 했다.핸드폰 어플만 봐도 가입 없이 설치하면 바로 기록 관리를 할 수 있는 앱이 많기 때문에.. 어떻게 사용자의 기록을 관리하는 지 궁금해졌다.앱과 웹 서비스와는 다른 모듈을 사용해야하지만..! (앱은 플랫폼에 맞는 웹뷰를 사용) 나는 웹 서비스를 만들고 있기 때문에 uuid와 cookie-parser를 이용한 쿠키와 로컬 스토리지를 사용하는 방법으로 결정했다. 쿠키와 로컬 스토리지를 사용쿠키 또는 로컬 스토리지에 사용자 고유 식별자인 uuid를 저장사용자가 웹 사이트를 방문할 때마다, 이 식별자를 사용해 데이터 조회, 업데이트 가능식별자가 없으면 새로 생성하여 DB에 기록하고 사용자 장치의 쿠키나 로컬 스토리지에 저장 - 장점 : ..

DB 설정하고 MySQL connection pool 사용하기 / try-catch와 비동기 고민

DB 설정mariadb.js //sql 모듈 소환const mysql = require("mysql2");//db와 연결 통로 생성const pool = mysql.createPool({ host: "localhost", user: "root", //디비 접속 아이디 password: "root", //디비 접속 비범 database: "my_routine", //접속 원하는 데이타베이스명 connectionLimit: 5, // 최대 연결 수});module.exports = pool;우선 데이터 베이스를 설정하기 위한 파일을 따로 생성해줬다. 강의를 들었을 땐, 그냥 createConnection만 사용했는데, 지피티에서는 계속 pool로 연결하는 코드가 나왔다. 알아봤더니 pool이 더 효..

url의 쿼리스트링 고민...(gpt 답변 포함) / res.send의 오류/ routes 폴더 (라우터 폴더)

express.Router()를 사용해 특정 경로에 대한 라우팅과 핸들러를 정의- routes 폴더를 만들어 각 경로에 대한 api 만들기  res.send의 오류: 원래 모든 응답을 res.send를 보내게 코딩을 했다. 하지만 post와 같은 요청을 하는 경우 postman에선 오류를 반환했다.gpt 답변 res.send()유연한 응답 형식: 문자열, 객체, 배열 등 다양한 데이터를 클라이언트에 보낼 수 있습니다.자동으로 JSON 변환: 객체나 배열을 전달할 때는 자동으로 JSON 형식으로 변환해주지만, 명확하게 JSON 형식을 보장하는 것은 아닙니다.응답의 Content-Type: 객체를 보낼 때 Content-Type이 application/json으로 설정되지만, 문자열을 보낼 때는 text/h..

server.js/ app.js 로 파일 분리하기

server.js 와 app.js 를 함께 사용하여 프로젝트를 구성하면 Express 설정과 서버 실행 코드를 분리할 수 있음-> 유지 보수가 쉬움server.js: 백엔드 서버(예. node.js)의 메인 서버 파일: express 기반의 서버에서 가장 기본적인 엔트리 파일로 사용, 서버 시작 역할  - node server.js 로 서버를 구동함 app.js에서 설저한 express 앱을 가져와 서버를 실행const app = require("./app"); // app.js에서 설정한 Express 앱을 가져옴//아래 두 줄을 넣으면 env에서 설정한 포트 가져옴//지금은 로컬이니까 주석처리하고 9999으로 사용// const dotenv = require("dotenv");// dotenv.con..

초기 설정 package.json , express, .env

package.json 생성npm init -y express 설치node js 를 사용해 쉽제 서버를 구성할 수 있는 클래스와 라이브러리를 가짐npm install express .env 파일에 환경 변수 보관npm install dotenv//서버 파일 상단에 추가require('dotenv').config()const dotenv = require("dotenv");dotenv.config();const PORT = process.env.PORT || 5000;1,2 번째 줄 코드를 추가하면 env에 넣어둔 port 번호를 가져옴process.env.PORT : Node.js에서 환경 변수를 사용해 포트 번호를 가져옴배포 환경에서는 포트 번호가 서버 또는 호스팅 제공자에 의해 동적으로 할당될 수 있..