본문 바로가기

TIL

(18)
2021.04.13(node js formdata file upload) app.use(express.json()) app.use(express.urlencoded({extended:false})) 먼저 formdata를 사용하기 위해서는 body-parser을 설정해줘야한다. const multer = require("multer"); const storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, "./uploads/"); }, filename: function (req, file, cb) { cb(null, new Date().toISOString() + file.originalname); }, }); multer 모듈을 사용하여 post로 전송된 파일처리를 해준다. dest대신 s..
2021.04.11(get과 상세페이지 정리) 일반적으로 get을 요청하는 것은 let board = await Boards.find({}).sort({_id:-1}).limit(3); 하고 바로 res.send(board:board)로 해서 보내면 간단한데 insomnia로 제대로 구분해서 나오게 하기 위해서는 해당 데이터를 for문으로 꺼내서 각각 구분해서 다시 push를 하는 방식으로 하면 위에 이미지처럼 협업할 때 다른 분들도 제대로 구분해서 볼 수가 있다. router.get('/writes', async(req, res)=> { let result = {status: 'success', boardData: []} try{ let boardData = await Boards.find({}).sort({_id:-1}).limit(3); for..
2021.04.10( UnhandledPromiseRejectionWarning: CastError: Cast to ObjectId failed for value "1" at path "_id" for model "Users" 해결 과정) (node:2868) UnhandledPromiseRejectionWarning: CastError: Cast to ObjectId failed for value "1" at path "_id" for model "Users" at model.Query.exec (C:\Users\Administrator\Desktop\git_git\node_gitTest\node_Basic\node_modules\mongoose\lib\query.js:4408:21) at model.Query.Query.then (C:\Users\Administrator\Desktop\git_git\node_gitTest\node_Basic\node_modules\mongoose\lib\query.js:4502:15) at module..
2021.04.08(authMiddleware 이해) authMiddleware 흐름 1. 회원가입을 할 때 password에 hash를 진행해서 제대로 된 암호화를 진행한다. //signUp.js router.post("/signUp", async (req, res) => { const { names, nickname, password } = req.body; await Users.create({ names, nickname, password: bcrypt.hashSync(password, 10), }); console.log("회원가입 완료"); }); 2. login을 하게 될 때에는 joi를 통해서 nickname과 password를 유효성 검사를 한다. nickname이 맞는 지 확인하고 false일 경우 'nickname이 잘못됐습니다' 라고 보..
2021.04.07 (github push 이해& node 회고 ) 1. github을 진행할 파일은 새로 생성을 하고 생성한 파일을 cd로 해서 들어간다. 2. git clone -으로 하고 뒤에는 github을 보낼 주소를 복사해서 붙인다. 3. ls로 해서 현재 제대로 clone이 되었는 지 확인한다. 제대로 됬으면 github에 파일을 불러오게 될 것이다. ls에 의미는 list이다. 4. github에서 가져온 파일로 경로 설정을 한다. 5. vi test => 우선 test 할 겸 파일을 만들 것이다. 6. git add . 를 하면 현재 설정된 경로 안에 있는 모든 파일을 github에 add한다는 의미이다. 7. git status로 현재 경로를 확인 8. git commit -m "commit 내용" 을 적어서 업데이트 상황을 알게 한다. 올라가게 되면 ..
2021.04.06(insomnia token전달 이해) insomnia를 활용할 때 회원가입을 하고 Login을 해서 로그인한 것을 어떻게 보여줄 수 있을 지 정리를 해봤습니다. await User.create({ id : sanitizeHtml(id), password: bcrypt.hashSync(password, 10), nickname : sanitizeHtml(nickname), area : sanitizeHtml(area) }); signUp 즉 회원가입을 진행하기 위해 post를 요청할 때 ajax에서 data를 받아야할 부분이 id, password, nickname, area인데 추가적으로 confirmPassword를 진행한 이유는 const { id, password, confirmPassword, nickname, area } = req..
알고리즘 해설 녹화 blog.naver.com/junhee916/222271449706 2021.3.9파이썬 알고리즘 기초복습 junhee916님의 블로그 blog.naver.com blog.naver.com/junhee916/222270167778 2021.3.8파이썬 알고리즘 기초 복습 junhee916님의 블로그 blog.naver.com blog.naver.com/junhee916/222268981180 2021.03.06 파이썬 알고리즘 기초복습 junhee916님의 블로그 blog.naver.com blog.naver.com/junhee916/222266060682 2021.3.5 파이썬알고리즘 기초 복습 junhee916님의 블로그 blog.naver.com
node 게시판 만들기2 (2021.04.01) - 정리 진행중 이번에 비지니스로직은 로그인을 해서 token이 있을 때 게시판에 글을 작성하거나 수정 삭제할 수 있고 게시판 조회는 로그인을 안하더라도 전체 볼 수 있게 만들었다. 먼저 flowchart를 만든다면 그리고 코드를 입력하기 전에 셋팅할 것이 무엇인 지 확인을 해봤다. 1. npm init// package.json 2. npm i express -S // express 3. npm install ejs // ejs 현재 만들고자하는 게시판은 server - express, front - ejs로 진행하기 때문에 필요한 것만 설치를 한다. Development Layout 1. app.js를 만들어서 유저 정보를 담당할 router을 userRouter와 게시판 정보를 담당할 router을 boardRou..