목록전체 (106)
개발스토리
■ 프록시(Proxy)란 '대리'라는 의미를 지니고 있다. ■ 그렇다면 프록시 서버(Proxy Server)란 클라이언트가 자신(프록시 서버)을 거쳐서 다른 네트워크에 접속할 수 있도록 중간에서 '대리'역할을 해주는 서버를 말한다. ■ 즉, 프록시 서버는 서버와 클라이언트 사이에서 request와 response를 처리해준다. ■ 예를들어서, 클라이언트가 google에 주속를 입력해서 접속을 시도하면, 요청은 서버로 가는 것이 아니라 프록시 서버로 가게 된다. 프록시 서버가 구글의 서버에 도착해서 웹 페이지를 가져오고 클라이언트의 웹 브라우저로 보내주게 된다. 사용 이유 사용 이유에는 여러가지가 있지만 대표적인 것들을 소개하려고 한다. ■ 개인 정보 보호 - 프록시 서버 없이 클라이언트가 구글의 서버에 ..
이번에는 S3에 올린 이미지를 리사이징한 후 줄어든 이미지를 다시 S3에 저장하는 작업을 거칠려고 한다. ■ 사용자가 너무 큰 사이즈의 이미지를 올렸을 때, 적절한 크기와 용량으로 이미지를 변경하는 것이다. 이미지 리사이징은 CPU를 많이 사용하는 작업으로 람다로 분리한다. aws-upload 폴더를 생성해보자. //package.json { "name": "aws-upload", "version": "1.0.0", "description": "Lambda 이미지 리사이징", "main": "index.js", "author": "joo", "license": "ISC", "dependencies": { "aws-sdk": "^2.663.0", "sharp": "^0.25.2" } } // index.j..
AWS에서 S3 관련 설정을 하고 액세스 키 ID와 액세스 키를 .env 파일에 복사한다. → 보안 액세스 키가 유출되면 다른 사람이 나의 AWS 계정을 마음대로 사용할 수 있으므로 잘 관리하자~ 이제 필요한 패키지를 설치해야 한다. ■ multer-s3 ■ aws-sdk : AWS의 기능을 노드에서 사용할 수 있게 해주는 패키지. 코드 const express = require('express'); const fs = require('fs'); const AWS = require('aws-sdk'); const multerS3 = require('multer-s3'); require('dotenv').config(); const router = express.Router(); AWS.config.upd..
자신이 만든 서비스가 제대로 동작하는 지 테스트해보기 위해 jest 패키지를 사용해보자. 테스팅 툴은 개발 시에만 사용하므로 npm i -D jest로 패키지를 설치한다. 테스트용 파일은 파일명과 확장자 사이에 spec이나 test를 넣으면 된다. 그러고 테스트 코드를 실행하면 파일명에 spec이나 test가 들어간 파일을 모두 찾아서 실행한다. test('100 + 100은 200이다.', () => { expect(100 + 100).toEqual(200); }); ■ test 함수의 첫 인수로는 테스트에 대한 설명을 적고, 두 번째 인수인 함수에는 테스트 내용을 적는다. expect 함수의 인수로는 실제 코드를, toEqual 함수의 인수로는 예상 결괏값을 넣으면 된다. ■ expect에 넣은 값과..