일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 정렬
- 게임
- nestjs
- mongoose
- TypeScript
- game
- MySQL
- Python
- jest
- class
- 자료구조
- OCR
- cookie
- Bull
- Express
- Nest.js
- Sequelize
- flask
- react
- Dinosaur
- dfs
- nodejs
- AWS
- JavaScript
- 공룡게임
- MongoDB
- Queue
- GIT
- typeORM
- Today
- Total
목록nodejs (20)
포시코딩
axios.get('/test', { params: {key: value}, }).then((res)=>{ 보낼 데이터를 params: {} 로 감싸서 보낸다. app.get('/test', (req, res) => { // const client = req.body; const client = req.query; console.log(client); }); post일 때의 받는 req.body가 아닌 req.query를 통해 받으면 된다.
UserStorage.js 'use strict'; class UserStorage { users = { id: ['test', 'test2', 'test3'], psword: ['1234', '1234', '1234'], }; } module.exports = UserStorage; UserStorage 라는 class가 있을 때 외부에서 users 라는 field 에 접근하기 위해 다음과 같이 사용할 수 있다. 1. 인스턴스 사용 const UserStorage = require('경로'); const userStorage = new UserStorage(); console.log(userStorage.users); 2. class 자체에서 접근하기 const UserStorage = require(..
ejs app.set('views', './src/views'); app.set('view engine', 'ejs'); bodyparser app.use(express.json()); app.use(express.urlencoded({ extended: true }));
* 이미 nodejs - express 서버를 실행할 수 있는 환경이 만들어져 있다는 전제하에 진행되는 포스팅입니다. local에 있는 MongoDB 데이터가 위와 같이 있을 때, nodejs 서버로 가져와보자 terminal npm install mongodb server.js const express = require('express'); const app = express(); const path = require('path'); const MongoClient = require('mongodb').MongoClient; let db; const db_uri = 'mongodb://localhost:27017'; // compass로 접속할 때 쓰이는 uri와 같다. MongoClient.conne..
1. nodejs 최신버전 설치 링크 Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 2. 프로젝트 이름으로 된 폴더 생성 후 해당 폴더로 에디터 실행 (vscode 사용했음) 3. nodejs 서버 세팅 npm install express # nodejs 웹 프레임워크 sudo npm install -g nodemon # 수정될때마다 자동으로 서버 재실행해주는 모듈. # -g : 글로벌로 설치해서 다음 프로젝트부턴 다시 설치할 필요 없게끔 server.js const express = require('express'); const app = express(); app.listen(8080..
{ _id: 1, members: [ { _id: 0001, id: 'Sam', rank: 0 }, { _id: 0002, id: 'Kim', rank: 1 } ], name: '테스트그룹' } 위와 같은 collection 에서 내용이 비슷한 자료가 _id 1에서부터 끝도없이 있다고 쳐보자 members 의 내용물이 다 다를때 어떻게 _id 가 1인 해당 자료를 찾을 수 있을까? $elemMatch 를 쓰면 된다. app.get('/list', (req, res)=>{ let _id = ObjectId(req.query._id); db.collection('group').find({ members: { $elemMatch: { _id: _id} } }).toArray().then((result)=>{ ..
이전 글에서 로그인 기능을 완성했다면 로그인 후 세션에 유저정보가 잘 저장되어 있는지 확인하는 시간을 가져보자 마이페이지 대충 만들어서 들어가면 유저아이디 나오나 확인할거임 mypage.ejs 를 만들자 님의 마이페이지입니다. member.js 로 와서 mypage 로 가는 라우팅을 해주자 router.get('/mypage', loginCheck, (req, res)=>{ res.render('mypage.ejs', {userSession: req.user}); }) 평소에 만들던 라우터와 살짝 다른걸 볼 수 있는데 {userSession: req.user} 는 userSession 이라는 이름으로 세션에 담긴 유저정보를 보낸다는 의미이고 '/mypage' 옆 loginCheck 는 마이페이지로 가기전..
로그인은 Node.js Express 의 인증 미들웨어인 Passport.js 를 이용해 구현할거임 먼저 설치 ㄱㄱ npm install passport passport-local express-session member.js const passport = require('passport'); const LocalStrategy = require('passport-local').Strategy; const session = require('express-session'); var router = require('express').Router(); router.use(session({secret:'비밀코드', resave: true, saveUninitialized: false})); // '비밀코드' -..
이전 게시글에서 bcrypt 를 이용해 암호화 하는 방법을 알아봤으니 기존에 있던 회원가입 로직을 받아낸 비밀번호를 암호화 한 이후에 동작하게 조합하였다. router.post('/register', (req, res) => { let id = req.body.id; let pw = req.body.pw; const saltRounds = 10; bcrypt.hash(pw, saltRounds, (err, hash)=>{ try { db.collection('login').findOne({ id: id }, (error, result) => { if (result) { res.send({ code: 0 }); } else { db.collection('login').insertOne({ id: id, p..
최근 현업쪽에서 bcrypt 를 많이 쓴다고 한다. 좀 살펴봤더니 귀찮게 salt 생성하고 같이 저장하는 방식이 아니라 한번 써볼거임 일단 bcrypt 라이브러리를 사용할 수 있게 터미널을 통해 설치한다. npm install bcrypt salt 대신 같은 salt 를 몇번이나 여러번 돌릴지 횟수를 지정해줌 const saltRounds = 10; bcrypt.hash(beforePassword, saltRounds, (err, hash)=>{ // hash: afterPassword try { // db 에 회원정보 저장하는 코드 } catch { console.log('err: ' + err); } }) 그럼 hash 파라미터 부분에 암호화된 비밀번호가 저장되고 해당값을 db 에 저장하여 사용하면 ..