DEVELOP
article thumbnail
[ mongoDB + express + ejs ] 간단한 get, post, delete 구현하기
BACKEND/Node.js 2023. 9. 27. 03:21

monogoDB와 express를 연동하고 테스트하기 위해 간단하게 유저리스트를 보여주고, 새 유저를 등록하고, 특정 유저를 삭제하고, 모든 유저를 삭제하는 실습을 할 것이다. (+ejs) MongoDB Database 생성 Cloud: MongoDB Cloud account.mongodb.com 먼저, 위 사이트에 접속하여 MongoDB 를 생성해야 한다. 1. new Project 생성 2. create a depolyment M0 버전으로(무료) provider는 AWS (다른 것도 상관없음) 지역 Seoul Name 지정 후 create 버튼 3. userName과 password 지정(password 기억 꼭하기 !) 하고 create User 4. Add My Current IP Adress ..

article thumbnail
[ 생활코딩 - Node.js 활용하기 ] 06. pug - extends
BACKEND/Node.js 2022. 12. 5. 18:29

Pug # Pug (구 Jade) : Node Express Template Engine - HTML을 간단하게 표현해서 가독성이 좋다. - 마크업 문법보다 코드량이 적어 생산성이 좋아진다. - JS 연산 결과를 쉽게 보여줄 수 있다. - 정적인 부분과 동적인 부분을 따로 할 수 있다. - 타 Express Engine보다 Google Trend 수치가 높다. 출처 ) https://dydals5678.tistory.com/91 ​ Pug 라이브러리 설치 npm install pug Pug - 템플릿 상속 - extends - .js var express = require('express'); var app = express(); app.set('view engine','pug'); app.set('vi..

[ 생활코딩 - Node.js 활용하기 ] 05. mySQL 버전 로그인 인증 ( local 방식 / facebook 방식)
BACKEND/Node.js 2022. 12. 5. 02:29

users 테이블 생성 - 테이블 생성 mysql> create table users( -> id INT NOT NULL AUTO_INCREMENT, -> authId VARCHAR(50) NOT NULL, -> username VARCHAR(30), -> password VARCHAR(255), -> salt VARCHAR(255), -> displayName VARCHAR(50), -> email VARCHAR(50), -> PRIMARY KEY(id), -> UNIQUE (authid)); - 결과 mysql> DESC users; +-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null |..

article thumbnail
[ 생활코딩 - Node.js 활용하기 ] 04. 인증을 쉽게 도와주는 PassportJS모듈
BACKEND/Node.js 2022. 12. 2. 18:26

# PassportJS : node.js express에서 사용하는 인증관련 미들웨어 - passport.js에서 다양한 인증 방법을 stragies로 제공 Passport.js Simple, unobtrusive authentication for Node.js www.passportjs.org # passport-local - 구글, 네이버 등을 거치지 않고 기본 id, password를 이용해 인증하기 npm install --save passport passport-local # 미들웨어 : 함수가 실행되면 해당 함수는 리턴값으로 콜백 함수를 리턴한다 사용자가 로그인에 성공하면 done(null, user); 실행 done(null, user); 이 실행되면 passport.serializeUser..

article thumbnail
[ 생활코딩 - Node.js 활용하기] 03. Security Password
BACKEND/Node.js 2022. 12. 1. 02:27

단방향 암호화 - md5 # 단방향 암호화 방법 - 원래의 문자를 암호화된 문자로 (암호화) 바꿀 수는 있지만, 암호화된 문자를 원래의 문자로 (복호화) 바꿀 수는 없다 - ex) md5 - md5로 유저의 비밀번호인 '111'을 암호화하면 '698d51a19d8a121ce581499d7b701668' 이 나오는데, user 의 회원정보 배열에 '111' 대신 이 문자를 넣는다. var user = { username: 'egoing', password: '698d51a19d8a121ce581499d7b701668', displayName: 'Egoing' }; - 로그인 시 회원정보와 입력받은 비밀번호를 비교하는 if문에서 입력받은 비밀번호인 pw 값도 md5로 암호화하여 비교하도록 한다. - 비밀번호..

article thumbnail
[ 생활코딩 - Node.js 활용하기] 2. Session
BACKEND/Node.js 2022. 11. 28. 20:49

Session의 개념 - coockie의 문제점 : 보안이 취약 # Session : 사용자 정보를 저장하는 또 다른 방법 - 클라이언트의 컴퓨터에는 오직 사용자의 식별자인 id값만을 저장 - 실제 데이터는 서버의 DB, 메모리 등에 저장 - 서버에 식별자를 전송하면 실제 데이터를 읽어옴 - 보안에 취약한 쿠키를 보완해주는 역할 - 구체적인 값을 저장하는 대신에 고유한 값을 전달 - connect.sid 값을 서버에 전달 - connect.sid 값이 같은 요청들은 같은 사용자의 접근이라고 간주함 - connect.sid 값으로 요청이 들어오면 서버에서 그 요청에 해당하는 count 값을 가져와서 1을 가져와 브라우저에 응답 - 쿠키 값이 사용자의 컴퓨터에 저장되는 것이 아니기 때문에 덜 위험 sessi..

article thumbnail
[ 생활코딩 - Node.js 활용하기] 1. cookie
BACKEND/Node.js 2022. 11. 27. 04:12

cookie의 개념 # cookie : 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각 - 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송 - 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용 - 사용자의 로그인 상태를 유지 가능 접속할 때마다 count 증가하기 # cookie-parser : 요청된 쿠키를 쉽게 추출할 수 있도록 도와주는 미들웨어 ▼ 설치 및 사용방법 cookie-parser Parse HTTP request cookies. Latest version: 1.4.6, last published: a year ago. Start using cookie-parser in your project by ..

article thumbnail
[코드잇 - Node.js 기본기] 4. 서드파티 모듈과 npm 제대로 배우기
BACKEND/Node.js 2022. 11. 26. 23:24

01. 서드파티 모듈 # package-lock.json : 설치된 서드 파티 모듈에 관한 정보 # node_modules : 서드 파티 모듈이 설치되는 디렉토리 - 설치된 서드파티 모듈들은 package.json 파일을 가진 디렉토리 형식으로 저장됨 # Node.js에서 모듈이 검색되는 순서 - 경로 없이 이름만 주어지면 해당 모듈이 코어모듈 혹은 서드파티 모듈이라고 인식 - package.json이라는 파일을 가진 디렉토리가 패키지다. - 하나의 서드 파티 모듈은 하나의 패키지다. - 서드 파티 모듈을 관리할 때 쓰는 npm은 node package manager의 줄임말이다. 2. package.json # package.json : 해당 패키지에 관한 정보를 가지고 있는 파일 - 서드파티 모듈은 ..

article thumbnail
[코드잇 - Node.js 기본기] 3. 초간단 웹서버 만들기
BACKEND/Node.js 2022. 11. 26. 22:34

01. 서버와 클라이언트 # 서버 : 클라이언트로부터 요청을 받아 응답을 내려준다. # 클라이언트 : 서버에 데이터를 요청하고 응답을 받는다. # 프로토콜(Protocol) : 클라이언트와 서버가 서로 통신하기 위해 사용하는 통신규약 - 클라이언트는 서버로부터 어떤 식으로 데이터를 보내줘야 하고, 서버는 어떤 식으로 데이터를 보내줘야 하는지에 관한 규약 - ex) ftp, telnetm ssh, pop3, smtp, http, https - 브라우저 주소 창에서 쉽게 볼 수 있는 http, https (http보다 더 안전한 방식, secure) 가 중요 # 127.0.0.1 : 컴퓨터 자기 자신을 나타내는 주소로 특별히 약속된 주소 - 외부의 서버와 통신하기 위해 사용되는 것x - 개발 시 테스트 용도..

article thumbnail
[코드잇 - Node.js 기본기] 2. Node.js 기본 개념 - ② 비동기 프로그래밍
BACKEND/Node.js 2022. 11. 26. 01:18

01. 비동기 프로그래밍과 콜백 # 동기실행 : 하나의 작업이 끝난 후 다른 작업을 실행하는 방식 - readFileSync 함수 # 비동기실행 : 특정 작업이 완료되었을 때 실행할 콜백을 등록해두고 바로 다음 코드로 실행을 넘기는 방식 - 비동기 프로그래밍 Node.js 환경에서 권장됨 - readFile 함수 # 비동기 프로그래밍 - 비동기 함수 사용 / EventEmitter 객체 사용 # readFile 함수 - 비동기 함수 - fs.readFile(path[,options], callback) - path : 내용을 읽을 파일의 경로 (필수적 인자) - options : 파일의 내용을 읽을 때 적용할 옵션 ( 선택적 인자 : 대괄호 안) - callback : 파일의 내용을 다 읽었을 때 실행될..