| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- CSS
- ppt 다이어그램
- 카카오뷰 탭이동
- git 협업하기
- ppt 도형 색
- Git 팀 작업
- 원씽
- 성공에 대한 거짓말
- 카카오뷰 부업
- 실시간 통신
- 자기관리
- 웹기초
- 성공비법
- 카카오뷰 성장
- 카카오뷰 온라인 수익화
- 위드굿즈
- 카카오뷰 수익
- Axios 라이브러리
- 카뷰 수익 인증
- HTML
- express.js 환경 셋팅
- 이석증
- 책 원씽
- 엑셀 기초 함수
- 도서 원씽
- 카카오뷰N잡
- 30일 글쓰기
- 카카오뷰 초보
- 엑셀 프린트하기
- 위드굿즈 굿즈샵
- Today
- Total
김데이의 개발공부
[ Weekly Paper 07 ] Express 미들웨어 / 백엔드 서버 이미지 업로드 방식 본문
[ Weekly Paper 07 ] Express 미들웨어 / 백엔드 서버 이미지 업로드 방식
theday365 2025. 12. 7. 13:02
위클리 페이퍼 주제 (2025.12.1 ~ 12.5)
✅ Express.js에서 미들웨어란 무엇인지 설명해 주세요.
✅ 백엔드 서버에서 이미지 업로드를 구현하는 다양한 방식에 대해 설명해 주세요.
Q1 - 1. 미들웨어란?
실제 API 구문이 실행되기 전 API 작업에 사용 될 데이터를 검토하거나, 필요한 데이터를 만드는 등 부가적인 작업을 진행 해 주는 중간장치입니다. 예를 들어 회원가입을 하는 요청이 들어오면, 입력된 이름/이메일/전화번호 등이 알맞게 작성 되어 있는지 확인하고, 요청 구문에서 사용할 타입으로 데이터를 변환하여 전달하는 기능을 하는 validator 미들웨어가 있습니다.
미들웨어는 한 요청에 한 개 이상 사용이 가능하며 사용량의 제한이 없습니다. 또한 범위를 구분지어 특정 라우트에만 미들웨어를 적용하거나 특정 작업에만 미들웨어를 적용하는 등의 적용이 가능합니다.
Q1 - 2. 다른 언어에서는 사용하지 않나요?
미들웨어는 웹 프레임워크 전반에 존재하는 개념입니다.
다만 NestJS에서는 파이프/ 가드 / 인터셉터 처럼 다른 언어로 불리기도 하고,백엔드가 아닌 프론트엔드 React 구조에서도 사용됩니다.
미들웨어는 하나에 국한된 기능이 아니라, "중간에서 특정 역할을 처리 해 주는 개념"으로 접근해야합니다.

Q1 - Final . Express.js에서 미들웨어란 무엇인지 설명해 주세요.
앞서 설명한 예시처럼 Express.js에서도 미들웨어는 요청과 응답 사이에 존재하는 중간 필터입니다.
"요청 ~ {미들웨어} ~ 응답"
컨트롤러가 실행 되기 전 요청을 가로채서 필요한 전처리를 하기도 하고, 모든 로직 끝에 존재하고 있다가 발생한 에러들을 모아 처리하기도 합니다.
Q2 - Final . 백엔드 서버에서 이미지 업로드를 구현하는 다양한 방식에 대해 설명해 주세요.
해당 내용은 AI(GPT)의 도움을 받아 작성했습니다 😉
1. Multer로 서버 로컬 디스크에 저장
- Express에서 가장 간단하고 빠르게 적용할 수 있는 방식.
- 파일을 서버 내부 /uploads 같은 폴더에 직접 저장.
- 단점: 서버 용량 초과, 배포할 때마다 파일 사라짐, 스케일 아웃 어려움.
2. Multer + AWS S3 업로드 (백엔드에서 업로드)
- 서버가 파일을 한번 받고, AWS SDK로 S3에 업로드하는 전통적 방식.
- 이미지 유효성 검사·리사이징 같은 전처리 넣기 용이.
- 스타트업~중대형 서비스까지 가장 보편적.
3. Presigned URL 방식 (프론트 → S3 직접 업로드)
- 서버는 "업로드 권한 URL"만 발급, 실제 업로드는 프론트가 S3로 직접 요청.
- 서버 부하가 거의 없어 대규모 서비스에서 선호됨.
- 요즘 실무 트렌드에서 가장 인기 높은 방식.
4. Sharp(이미지 압축/변환) + S3 업로드
- 이미지 용량 줄이고, 썸네일 생성하고, 포맷 변환하는 실무 조합.
- 서버에서 Multer로 받아 Sharp로 변환 후 S3에 올림.
- 고해상도 이미지가 많은 서비스(쇼핑몰, 포트폴리오 서비스 등)에 필수.
5. Cloudinary 업로드
- 업로드 + 자동 리사이징 + CDN까지 올인원 제공.
- 이미지 처리 품질이 뛰어나고 속도 빠름.
- 스타트업, SaaS, 포트폴리오 서비스에서 사용 빈도 높음.
6. Firebase Storage 업로드
- 모바일 앱/웹 MVP, 스타트업에서 매우 흔함.
- 인증과 업로드가 자연스럽게 연결되어 구현이 빠름.
- 실시간 이미지 관리가 필요한 서비스에 최적.
+ 추가 S3 업로드 = AWS S3(스토리지 서비스)에 파일 저장하기
Amazon S3는 아마존이 만든 클라우드 파일 저장소로,
서비스 업체가 직접 자신의 서버 컴퓨터에 이미지 저장하면 용량도 빠르게 차고, 서버를 바꾸면 파일에 문제가 생길 수 있음.
따라서 이미지는 S3라는 외부 창고에 저장하고, 이것을 "S3 업로드"라고 명칭함
다음 주에 또 만나요 🖐️
'코드잇 Node.js(BE) 부트 캠프 > 위클리 페이퍼 📃🖌️' 카테고리의 다른 글
| [ Weekly Paper 09 ] 실시간 애플리케이션 개발 (0) | 2026.01.23 |
|---|---|
| [ Weekly Paper 08 ] 세션 기반 인증 / 토큰 기반 인증 (0) | 2025.12.13 |
| [ Weekly Paper 06 ] 관계형 데이터베이스 / Primary Key & foreign Key (1) | 2025.12.05 |
| [ Weekly Paper 05 ] 프로세스와 스레드 / 프레임워크와 라이브러리 (1) | 2025.11.02 |
| [ Weekly Paper 04 ] 백엔드 개발과 CLI / Git & Github와 협업 (0) | 2025.10.26 |