본문 바로가기

전체 글

(44)
[포스코x코딩온] 웹개발자 풀스택 과정 8주차 회고 | 복습 - AWS 서버 배포 + multer-s3 multer-s3 모듈 AWS S3와 연동되어 클라이언트가 파일을 S3 버킷에 저장할 수 있게 해준다 해당 모듈을 사용하기 위해서는 사용하고자 하는 버킷의 정보를 먼저 준비해준다(버킷 주소, 사용자 엑세스 키) 설치 및 사용 # aws-sdk와 multser-s3모듈 패키지를 설치한다(multer-s3의 버전은 aws-sdk의 버전과 동일한 버전으로 설치해준다) npm install aws-sdk multer-s3@^2 // aws-sdk모듈 불러오기 const aws = require("aws-sdk"); // multer-s3모듈 불러오기 const multerS3 = require("multer-s3"); 실습 multer-s3 모듈을 사용하여 클라이언트에서 파일을 업로드하면 해당 파일이 AWS S..
[포스코x코딩온] 웹개발자 풀스택 과정 8주차 회고 | 복습 - 파일 업로드 실습 실습내용 동적 폼 전송으로 파일 여러 개 올리기 async/await 이용 axios 이용 업로드 된 파일은 uploads 폴더에 넣어놓기 파일명은 중복이 되지 않게 하기 업로드 후 응답 받은 페이지에서 이미지 모두 보여주기 구현방법 multer미들웨어를 이용하여 업로드된 파일들을 uploads 폴더에 저장 세부설정을 통해 파일명과 확장자 사이에 Date.now() 값(January 1, 1970, 00:00:00 UTC 부터 지금까지 흐른 밀리초)를 넣어 파일명 중복을 방지 axios를 사용하여 업로드된 파일들을 서버에 요청과 함께 보내고 저장된 파일들의 정보를 그대로 다시 응답받고 각 파일들의 경로에 접근하여 클라이언트에서 해당 경로의 파일들을 보여줌 백엔드 const express = require..
[포스코x코딩온] 웹개발자 풀스택 과정 7주차 회고 | 비밀번호 암호화 + 환경변수 암호화 실제 사용자 계정의 비밀번호는 데이터베이스에 그대로 저장되지 않는다. 해당 비밀번호를 암호화하는 과정에서 최종적으로 반환되는 값을 저장한다. 단방향 암호화 데이터 무결성을 검증하는 데 주로 사용되며, 패스워드 저장 등에서도 활용 단방향이므로 원본 데이터를 복원할 수 없음 동일한 데이터에 대해서는 항상 동일한 해기 값이 생성됨 서로 다른 데이터에 대해서도 같은 해시 값이 나올 수 있다(해시 충돌) 미세한 데이터 변화에도 해기 값은 완전히 다름 주로 해시 함수(MD5, SHA-1, SHA-256 등)를 사용하여 구현 해시(Hash) 해시(Hash) : 해시 함수에 의해 얻어지는 값 해시 함수 (Hash Function) : 해시 알고리즘 임의의 크기에 데이터를 고정된 크기의 데이터로 변환하는 함수 키..
[포스코x코딩온] 웹개발자 풀스택 과정 7주차 회고 | AWS 서버 배포 프로젝트 디렉터리(폴더) 및 RDS 계정 설정 단 하나의 프로젝트관련 폴더 및 파일들이 담긴 프로젝트의 최상위 폴더를 불러온다. 본 프로젝트는 Sequelize 라이브러리와 MySQL 데이터베이스를 사용한다. 기존에 사용했던 데이터베이스 말고 새로운 데이터베이스(AWS RDS)의 정보를 입력하여 연동을 해준 다해 준다. username: RDS에서 설정한 "마스터 사용자 이름" password: RDS에서 설정한 "마스터 암호" database: 사용할 데이터베이스 이름 host: RDS의 엔드포인트 GitHub 리포지토리(Repository) 생성 Repository name을 원하는 이름(프로젝트 이름)으로 적어주고 바로 Create Repository를 해준다 새로 생성된 리포지토리의 주소를 미리 ..
[포스코x코딩온] 웹개발자 풀스택 과정 7주차 회고 | 서버구축 + AWS 서버란? 클라이언트에게 네트워크를 통해 서비스를 제공하는 컴퓨터다. 백엔드(Backend)와 서버(Server) 클라이언트(애플리케이션, 브라우저 등)의 요청을 컴퓨터가 수행할 수 있도록 하는 작업을 한다. 서버는 클라이언트의 요청을 늘 수행할 수 있어야 하므로 365일 24시간 다운되지 않고 전원이 켜져 있어야 한다. 서버 다운 : 장애, 에러 등의 특수한 상황으로 인해 서버가 클라이언트의 요청을 처리할 수 없는 현상을 말한다. 주로 리눅스(Linux)나 서버용 윈도우 운영체제(OS)를 사용한다. CLI(Command Line Interface) 환경에서 운영하는 것이 대부분이다. 클라이언트의 요청에 대해 안전하게 응답만 하면 되기 때문에 GUI환경이 필요 없을뿐더러 컴퓨터는 GUI를 운영하는 데에도 ..
[포스코x코딩온] 웹개발자 풀스택 과정 7주차 회고 | JWT 인증 OAuth(Open Authorization)이란? 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부 여할 수 있는 공통적인 수단으로써사용되는, 접근 위임을 위한 개 방형 표준이다.(위키백과) 즉, 서드파티 애플리케이션이 사용자의 계정에 접근할 수 있는 권한을 부여하기 위한 프로토콜(규칙)이다. OAuth 1.0 서드파티 어플리케이션이 사용자의 데이터에 접근할 권한을 얻기 위해 서명된 요청을 사용한다 요청의 서명 부분은 어플리케이션의 비밀 키와 사용자의 토큰을 조합하여 생성되며, 이를 통해 보안이 유지한다. OAuth 2.0 OAuth 2.0은 보다 간편하고 확장성이 있는 버전으로, 기본적으로 인증과 권한을 분리하여 다루는것이 특..
[포스코x코딩온] 웹개발자 풀스택 과정 6주차 회고 | Cookie & Session Cookie(쿠키)란? 웹 브라우저(클라이언트)에 저장되는 키와 값이 들어있는 작은 데이터 파일이다. 이름, 값, 만료일, 경로 정보로 구성되어 있다. Cookie의 동작 방식 클라이언트가 페이지를 요청 서버에서 쿠키를 생성 HTTP 헤더에 쿠키를 포함시켜 응답 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 해당 쿠키 파일을 보관하고 있음 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄 서버에서 쿠키를 읽어 이전 상태 정보를 변경 할 필요가 있을 때 쿠키를 업데이트하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답 Cookie 사용하기 # 쿠키파서 미들웨어 설치 npm install cookie-parser const express = require('express'); const a..
[포스코x코딩온] 웹개발자 풀스택 과정 6주차 회고 | Sequelize + MySQL & 데이터베이스 응용 Sequelize 란? JavaScript 구문을 SQL(Structured Query Language)로 변환해 주는 ORM라이브러리다. ORM(Object-Relation Mapping) JavaScript같은 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터베이스는 테이블을 사용하는 관계로 두 모델 사이의 불일치를 해소해 주는 도구 Sequelize 설치 npm install sequelize sequelize-cli mysql2 # sequelize: 시퀄라이즈 패키지 # sequelize-cli: 시퀄라이즈 명령어 실행 # mysql2: MySQL과 Sequelize를 연결하는 드라이버(도구) npx sequelize init # sequelize init 명령어 호출 Sequelize 사..