본문 바로가기

Node.js10

로그인(1) - passport ✔로그인 기능 만들기 session 방식 회원인증이 기본! 인터넷에 가장 예시가 많다는 passport 라이브러리를 써서 로그인 기능을 만들어 봅시다! ㅇ설치 : npm install express-session passport passport-local > passport : 회원인증 도와주는 메인라이브러리 > passport-local : 아이디/비번 방식 회원 인증 쓸 때 쓰는 라이브러리 > express-session : 세션만드는거 도와주는 라이브러리 ㅇ세팅 : const session = require('express-session') const passport = require('passport') const LocalStrategy = require('passport-local') app... 2024. 1. 8.
페이지네이션 페이지네이션 - 여러개의 데이터를(목록 페이지) 쪼개기 find().limit()를 사용해서 변수에 저장합니다! - 처음부터 5개까지 await db.collection('post').find().limit(5).toArray() 첫 요청은 find().limit() 두번째 요청부터는 skip()을 통해서 처음에 요청한 데이터 수만큼 스킵해야합니다! app.get('/list/1', async (요청, 응답)=>{ // 1번~5번글을 찾아서 result변수에 저장 let result = await db.collection('post').find().limit(5).toArray() 응답.render('list.ejs', {post : result}) }) app.get('/list/2', async (요.. 2023. 12. 20.
삭제하기 순서! 1. 삭제버튼 만들기. 2. 클릭시 서버로 삭제해달라고 요청하기. 3. 서버에서 삭제처리하기. form태그를 통해 PUT요청으로 삭제요청을 할 수도 있겠지만, 다른방법인 AJAX요청도 있습니다. AJAX로 요청하면 form태그를 사용하지 않아도 되서 더 편한 작업을 할 수 있습니다! 1. 삭제버튼 만들기 삭제 아무 버튼이나 만들어줍니다. 2. AJAX로 서버에 요청하기 AJAX는 새로고침없이 서버를 주고 받을 수 있는 요청입니다! fetch()를 이용해 새로고침 없이 서버에 GET, POST, PUT, DELETE 요청을 할 수 있습니다. 자바스크립트를 이용해 요청합니다. fetch안에 /url 을 적으면 /url로 요청이 날라갑니다. fetch('/URL~~', { method : 'POST',.. 2023. 12. 14.
수정하기2 ( 참고 ) 1. method override PUT, DELETE 쓰면 이쁜 API를 만들수 있다고하는데, 1. AJAX를 쓰거나 2. method를 강제로 변경해주면 됩니다! 순서! - 라이브러리 설치 : npm install method-override - 서버파일 상단에 코드 추가 const methodOverride = require('method-override') app.use(methodOverride('_method')) form태그에서 사용하기 method="POST" 는 놔둔 상태로 URL뒤에 ?_method=PUT 코드를 작성하면 PUT요청으로 덮어쓰기가 됩니다! 2. updateOne() 함수 추가문법 db.collection('post').updateOne({ _id : new ObjectI.. 2023. 12. 6.
수정하기 순서! 1. 링크를 통해들어갈 수정페이지 서버에서 처리하기 ( with '해당'링크 만들기 ) 2. form태그를 통해 서버로 데이터 전송하기 ( method = "PUT" 요청은 form에서 불가, "DELETE"도 마찬가지 ) 3. 데이터 수정하기 순서를 차례차례 하다보면 답이 나옵니다! 1. 각각의 수정페이지 서버에서 처리하기 각 상세페이지는 같은 레이아웃, 데이터로 이루어져 있으므로 파라미터를 사용해 get 합니다! app.get('/edit/:id', async (요청, 응답)=>{ let result = await db.collection('post').findOne({ _id : new ObjectId(요청.params.id)}) //console.log(result) 응답.render('e.. 2023. 12. 4.
데이터 저장하기( 글 작성 기능 ) 순서! 1. 입력받은 데이터를 보내줄 form태그를 만든다! 2. form태그의 action에 대한 api를 서버쪽에서 만들어준다. 1. form태그 만들기 웹에서 데이터를 DB로 쏴주고 싶으면 form태그를 이용해서 POST방식으로 쏴주면 됩니다! 글쓰기 전송 전송 버튼을 눌렀을때, POST방식으로 action="/add"가 되므로 "/add"가 되었을 때 DB처리를 해주면 됩니다. 2. 서버파일에서 액션에 대한 api를 작성해줍니다! app.post('/add', async (요청, 응답)=>{ console.log(요청.body) await db.collection('post').insertOne({title : 요청.body.title, content: 요청.body.content}) 응답.red.. 2023. 11. 29.