전체 글 (102) 썸네일형 리스트형 배열을 문자열로, 문자열을 배열로 바꾸기 배열을 문자열로const array = ["a", "b", "c"] ; ★ [1]. join()console.log(array.join("")); console.log(array.join("-"));"abc""a-b-c" [2]. toString() : 자동으로 , 구분자 사용된다console.log(array.toString());"a,b,c" [3]. reduce()const str = array.reduce((acc,cur)=> acc + cur, "");console.log(str)"abc" 문자열을 배열로const str = "abc" [1]. split() : 구분자 기준으로 배열을 만든다, ""을 사용하면 한 글자씩 배열로console.log(str.split(""));console.log.. IT 5분 잡학사전! 쿠팡에서 샀는데 역시 로켓배송! 하루만에 책이 도착했다. (와우회원이라 일반 서점보다 저렴하게 구입해서 기분 째짐) 앞부분 살짝 봤는데 궁금했던 내용들이 이해하기 쉽게 정리 되어있다. 앞으로 열심히 읽고 똑똑해져야지. File Upload - multer middleware * multer packages multer Middleware for handling `multipart/form-data`.. Latest version: 1.4.5-lts.1, last published: a year ago. Start using multer in your project by running `npm i multer`. There are 3850 other projects in the npm registry using multer. www.npmjs.com 파일을 업로드할 수 있게 도와주는 패키지이다. 예를들어 아바타 이미지를 업로드하려고 할 때 사용하면된다. npm i multer * multer 사용방법 STEP 1. multer를 사용하려면 form의 형태를 multipart .. connect-mongo (cookie, session, env) session data는 서버에 저장되고 id만 쿠키에 저장이 된다. 서버를 재시작하면 저장된 session 아이디는 초기화된다. 그래서 session store(session id가 저장된 곳)을 mongo와 연결해서 값을 저장해줘야 서버를 재시작해도 유저를 잊어버리지 않는다. session과 mongo를 연결하기 위해 connect-mongo를 사용해야한다. 1. npm i connect-mongo 설치 2. server 에 import 3. MongoStore.create seisson은 브라우저가 백엔드에 방문할 때 생성된다. 몽고db에 저장된 seisson 덕분에 브라우저가 우리를 기억할 수 있다. 서버를 재시작해도 동일한 쿠키를 갖고 있다. (로그인 후 서버를 재시작해도 로그인이 유지가 된다!.. Sessions and Cookies 웹사이트에 로그인할 때마다 나를 기억하는 것은 백엔드가 브라우저에게 텍스트를 주기 때문인다. 매번 연결할 때마다 새로운 세션 ID를 전달하게 되는데 세션을 통해 백엔드와 브라우저간에 어떤 활동을 했는지, 정보들을 기억할 수 있게 된다. 쿠키에 저장된 세션 ID로 서버는 해당 브라우저가 누구인지 기억할 수 있게 된다. (크롬, 사파리 브라우저에 따라 받는 정보는 달라진다. (예) 동일한 유저가 크롬에서 ID 1을 받았다면 사파리에서는 1과 다른 숫자를 받게된다.) 세션과 세션 ID는 브라우저를 기억하는 방식 중 하나이다. 보통의 웹사이트는 stateless 성질을 가진다. stateless란 서버와 브라우저간의 연결을 계속 유지하는 것이 아닌 필요시 연결했다가 끊기게 된다. Home화면으로 get 요청을 .. 브라우저 Status Code 에러가 발생했지만 res.render를 해줌으로서 서버는 상태번호 200을 브라우저에게 넘겨주면서 브라우저는 정상작동으로 인식한다. 그래서 중복된 상태값을 가져 에러메세지가 발생하지만 비밀번호를 저장 하겠냐는 알림 창이 뜬다. 브라우저에게 정확한 상태 값을 전달 하기 위해서는 에러가 발생하거나 잘못된 경로 등 상태가 발생하는 경우 status 값을 같이 반환하는 것이 좋다. 상태값을 전달하는 방법은 res.status(400).render 로 상태값을 전달해주면된다. 주로 2xx 대는 정상작동을 뜻하고 4xx대는 에러가 발생했음을 의미한다. (404는 서버에 페이지가 존재하지 않을 때) *참고자료 HTTP 상태 코드 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 아래는 HTTP(하.. DataBase (9) - Join Check! (중복, 비밀번호 체크 메세지) 중복체크 user.schema에서 username / email 을 한가지 값만 올 수 있도록 unique:true로 설정하였다. 그래서 중복된 값을 입력하게 되면 서버측에 에러가 발생하게 된다. 이 에러가 발생하기 전에 에러 메세지 형태로 출력하여 유저에게 알려줘야 한다. if문을 사용하여 username과 email 이 데이터베이스에 있는지 (exists 함수 사용) 체크한다. true일 경우 아레 에러 메세지 발생! 해당 코드를 보면 username과 email 체크하는게 동일한 코드를 사용하고 있다. $or 연산자를 사용하면 둘 중 하나가 true일 경우 해당 데이터를 찾아온다. $or — MongoDB Manual Docs Home → MongoDB Manual $orThe $or operato.. DataBase (8) - User db, Join 기능 만들기 (hashing) 전체적인 흐름 (video 생성과 동일) 1) router 생성하여 페이지 개설 : rootRouter.router("join").get(getJoin).post(postJoin); 2) user Schema 생성 : "unique:true" 활용하여 이메일, username 체크! (동일한 값으로 가입 x) 3) controller getJoin postJoin 생성 : 가입완료 후 로그인 페이지로 이동 (*req.body, *async-await) 4) join.pug (html 생성) 아이디 생성 후 확인하면 비밀번호가 노출된채 나온다. 보안상의 이유로 db에 비밀번호가 노출되면 안된다. 그래서 추가적인 password hashing이 필요하다. Hashing 해싱 단방향 함수로 어떤 입력값을 이상.. 이전 1 2 3 4 ··· 13 다음