[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

nodejs 17

Node.js - bcrypt

bcrypt 암호를 해시처리하는데 도움을 주는 라이브러리이다. 패키지 설치 $ npm install bcrypt기본사용법 const bcrypt = require('bcrypt'); const saltRounds = 10; const myPlaintextPassword = 's0/\/\P4$$w0rD'; const someOtherPlaintextPassword = 'not_bacon'; 해시처리를 위한 기본값들이다. saltRounds : 일종의 노이즈값으로 이 값을 높일 수록 해시처리하는데 드는 시간이 올라가 보안성이 높아진다. myPlaintextPassword : 내 비밀번호값 someOtherPlaintextPassword : 비밀번호와 다른 값 (비교..

🛠 기타/WEB 2021.02.04

Node.js - Passport.js 기초

Passport.js express 프레임워크 상에서 사용되는 인증 미들웨어 라이브러리이다. 기본적인 인증시스템 지원과 더불어 페이스북, 구글과 같은 소셜 로그인을 할 수 있도록 도와주기 때문에 매우 편리하다. 패키지 설치 $ npm install passport passport.js 패키지를 설치한다. Strategies passport.js에서는 다양한 인증방법을 'strategie' 라는 이름으로 제공한다. 기본적인 사용자 ID 및 PASSWORD를 사용하는 방법부터, OAuth를 사용한 위임 인증 등 다양한 strategies가 존재한다. 그중 가장 기본으로 단순히 ID와 PASSWORD를 사용한 인증방법인 local strategie를 사용해보자. 물론 단순한 로그인만 사용할 것이..

🛠 기타/WEB 2021.02.03

Node.js - session

session 쿠키를 좀 더 개선하여 더 안전하도록 만든 것이 세션이다. 쿠키의 기능에 서버 데이터 공간을 합친 개념이라고 생각하면 된다. 사용자의 식별값만을 브라우저에 쿠키로 저장하고, 실제 데이터는 서버에 저장한다. 세션을 node.js express 상에서 간단하게 활용하기 위해선 추가적인 패키지 설치가 필요하다. 패키지 설치 $ npm install express-session node.js가 session을 생성하고 관리할 수 있도록 도와주는 미들웨어이다. 사용예제 var express = require('express'); var session = require('express-session'); var app = express(); app.use(session({..

🛠 기타/WEB 2021.02.02

Node.js - cookie

Cookie 웹브라우저는 기본적으로 cookie(쿠키)라는 것을 지원한다. 쿠키를 활용하면 서버로부터 받은 데이터 중 일부를 브라우저 자체적으로 저장해놓고 추후 활용할 수 있다. (접속 URL은 동일해야함) 따라서 사용자가 브라우저를 사용하는 동안은 이러한 쿠키를 기반으로 정보가 저장 및 관리될 수 있다는 것이다. 이러한 cookie를 관리하려면 node.js express에서는 별도의 패키지가 필요하다. 패키지 설치 $ npm install cookie-parser cookie-parser는 이러한 브라우저의 쿠키데이터를 node.js가 확인하고 관리할 수 있도록 도와주는 패키지(미들웨어)이다. 사용예제 var express = require('express'); var cookieParser = re..

🛠 기타/WEB 2021.02.02

Node.js - multer (파일 업로드)

multer express 기본 기능에는 파일 업로드 기능이 포함되어 있지 않다. multer는 사용자 파일 업로드 기능을 제공하는 패키지로, 사용자가 전송한 파일을 처리하는 작업을 수행한다. 패키지 설치 $ npm install --save multer 사용 예제 📄app.js var express = require('express'); var multer = require('multer'); var upload = multer({ dest: 'uploads/' }); var app = express(); app.set('view engine', 'pug'); app.set('views', path.join(__dirname, 'html')); app.get('/upload', function(req,..

🛠 기타/WEB 2021.01.31

AWS - S3

S3 Simple Storage Service의 약자로, 파일을 저장할 수 있는 서비스이다. 99.9%의 객체 내구성을 보장하도록 설계된 인프라를 제공한다. 데이터가 여러 시설, 여러 디바이스에 중복으로 저장된다. 가용성도 높고, 가격도 저렴하며, 보안성 및 확장성이 보장되기 때문에 유용하다. S3 사용해보기 AWS 홈페이지에서 Services 중 S3에 접속하고, Create Bucket을 만들어 Bucket을 생성한다. Bucket은 일종의 저장장치라고 생각하면 된다. Bucket의 이름과 지역을 설정하고 생성하면 된다. (이름중복X) 홈페이지에서는 간단하게 Upload 버튼으로 파일을 업로드할 수 있으며, 그렇게 업로드된 파일을 클릭해보면 해당 파일에 접속할 수 있는 link도 존재하게 된다. (다..

Node.js - AWS SDK

AWS SDK? SDK : Software Development Kit의 약자로 특정 서비스를 프로그래밍적으로 제어하기 편리하도록 제공되는 라이브러리들을 의미한다. 따라서 AWS SDK는 AWS를 프로그래밍적으로 제어하기 편리하도록 제공되는 라이브러리들을 의미하는 것이다. 언어별로 다양한 SDK가 제공되며, 이 중 Node.js의 SDK를 사용해보자. 튜토리얼 패키지 설치 $ npm install aws-sdk --save aws-sdk 패키지를 프로젝트에 설치해준다. 이렇게 설치한 SDK는 바로 사용할 수 없고, 자격검증이 포함되어야 한다. 일반적으로 AWS 환경 위에서 node.js를 돌리거나, ~/.aws에 credentials파일를 생성하여 자격검증을 진행한다. 자격검증 📃 credentials ..

Node.js - Sequelize

Sequelize? node.js의 ORM으로, mysql이나 postgresql과 같은 DB를 제어할 수 있도록 해준다. cf. ORM(Object relational Mapping) : 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 즉, 프로그래밍 언어의 구문을 자동으로 SQL 구문으로 변경해준다. $ npm install sequelize 또한 sequelize는 mysql 등의 DB모듈도 필요로 한다. 그 중 하나인 mysql을 설치하자. $ npm install mysql2 dotenv 설정 Sequelize를 사용하기 위해서는 앞서 말했듯이 DB와 연동이 되어있어야 한다. mysql과 같..

🛠 기타/WEB 2021.01.28

Node.js - express form (body-parser)

form {% extends "layout/base.html" %} {% block content -%} 제품명 가격 설명 작성하기 {% endblock %} 위와 같은 html 코드가 있다고 하자. 이 때 form 태그는 버튼을 눌렀을 때 특정 요청을 보낼 수 있도록 해준다. 위 코드에서는 form의 method를 'post'로 설정했으므로, POST 요청이 수행된다. action은 해당 요청의 대상을 결정하는데, 해당 부분이 비어있을 경우 현재 주소를 대상으로 한다. 물론 해당 주소의 POST 요청에 대한 설정이 코드 상에 존재해야 정상적으로 작업이 수행된다. cf. base.html에는 코드의 기반으로 부트스크랩이 적용되어 있다. body-parser const bodyParser = require..

🛠 기타/WEB 2020.12.15