항해99_6기_TIL

항해99 👩‍💻41일차 TIL

merrytang 2022. 4. 17. 20:46

🎉오늘의 한 일🎉

🧡팀프로젝트🧡

1. 이번 프로젝트에서 내가 맡은 Post(게시글)부분의 기본적인 CRUD를 구현하였다.

2. Multer-S3를 사용하여 내 AWS 버킷에 이미지가 저장되도록 구현하였다.

👇아래의 블로그를 참고하여 구현하였습니다.

https://velog.io/@neity16/NodeJS-S3-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0-multer


🐣배운 점🐣

Multer

- Node.js에서 파일을 업로드하기 위해 사용하는 미들웨어이다.

- 프론트단에서 이미지를 form-date로 받아 저장할 수 있다.

- multipart(multipart/form-data)가 아닌 폼에서는 동작하지 않는다.

- multer를 거치면 req.file 혹은 req.files로 내용을 넘겨준다. 

 

AWS S3란?

S3는 AWS의 스토리지 서비스로 구글 드라이브, 네이버 클라우드와 비슷한 개념이다. 그런데 S3는 HTTP프로토콜을 지원해서 GET/POST같은 method로 접근할 수있다. 또한 파일 업로드 및 다운로드가 가능하다는 장점이 있다. S3를 사용하면 URL을 통해 이미지파일에 접근할 수있기 때문에 로컬 외부에서 권한이 있는 다른사람이 저장된 이미지를 볼 수있어 협업에 편리하다. 

 

AWS DSK란?

AWS를 프로그래밍적으로 제어하기 편리하도록 제공되는 라이브러리이다.

 

버킷(Bucket) 

S3에서 생성할 수 있는 최상위 디렉토리이다(Object가 저장됌).

 

객체(Object)

S3에 데이터가 저장되는 최소단위로 파일과 메타데이터로 구성된다.

(key: 데이터 이름 /value: 데이터 타입) 

 

 

📌Trouble Shooting 📌

warning: LF will be replaced by CRLF in package.json.
The file will have its original line endings in your working directory  

 

GIT을 업로드하려 할 때 위와같은 에러가 나왔다. 찾아보니 윈도우와 백을 쓰는 개발자가 함께 GIT을 사용할 때 발생하는 Whitespace 에러라고 한다. 원인은 유닉스 시스템에서는 한 줄의 끝이 LF(Line Feed)로 이루어지는 반면, 윈도우에서는 줄 하나가 CR(Carring Return)와 LF(Line Feed), 즉 CRLF로 이루어지기 때문에 GIT에게 혼란이 왔기 때문이다. 맥이나 윈도우에서 해결방안은 같은데 core.autocrlf 라는 기능을 켜주면 된다. 윈도우에서는 아래와 같은 명령어를 터밀널에서 입력해주면 해결할 수 있다.

 

git config --global core.autocrlf true