본문 바로가기

STORAGE/Node.js7

file 저장하기 사용자가 업로드한 파일(이미지 등)을 서버에서 사용하기 위해서는 파일 시스템에 저장해야 한다. 데이터를 buffer로 변환하여 임시적으로 메모리에 저장한다. stream을 사용하여 데이터를 조각으로 분리해 받아들인다. 이로써 대용량 파일 처리시 메모리 사용량을 최적화한다. 버퍼 데이터를 파일 시스템에 저장하고 그 파일 경로는 DB에 저장한다. 코드를 통해 살펴보자. // async 함수 내 const extension = meal.image.name.split('.').pop(); const fileName = `${meal.slug}.${extension}`; const stream = fs.createWriteStream(`public/images/${fileName}`); const buffered.. 2024. 4. 1.
REST 1.정의 Representational State Transfer(표현적인 자원 상태 전이) 웹 서비스 자원을 다루는 방법을 표준화한 아키텍처 스타일. 각 자원을 고유한 URI로 식별하고 HTTP 메서드로 조작할 수 있도록 한다. 2.리소스 Resource(자원) 네트워크 기반 시스템에서 클라이언트와 서버 간에 교환되는 모든 데이터와 정보 3.REST API REST를 기반으로 한 API. REST는 웹 서비스 자원을 다루는 방법을 표준화한 아키텍처 스타일. REST API는 자원을 고유한 URI로 식별하고, HTTP 메서드를 통해 일관된 방식으로 조작한다. 4.RESTful API REST 아키텍처 원칙을 엄격하게 준수하는 API 2024. 4. 1.
HTTP HyperText Transfer Protocol(하이퍼텍스트 전송 규약) TCP/IP를 기반으로 서버와 클라이언트 간의 요청/응답을 규정한 통신 프로토콜. HTTP 메서드 HTTP를 이용한 클라이언트와 서버 간의 통신에서 어떤 동작을 수행 할지 표시하는 메서드. 대표적으로 GET, POST, PUT, PATCH, DELETE가 있음 GET: 서버로부터 정보를 요청하거나 조회함 POST: 새로운 데이터를 생성 PUT: 리소스 업데이트 PATCH: 리소스 일부를 업데이트 DELETE: 리소스를 삭제 2024. 4. 1.
CORS CORS Cross-Origin Resource Sharing(교차 출처 리소스 공유) 1.정의 브라우저의 스크립트(JS)가 다른 출처의 리소스에 접근하는 것을 관리하는 브라우저의 보안 정책 브라우저의 동일출처보안 정책으로 인해 서비스가 제한되는 것을 원치 않는다면 별도의 cors 설정을 통해 교차 출처 리소스 사용을 허용할 수 있다. 2.방법 웹 브라우저의 동일 출처 정책을 우회해야 한다. CORS 헤더 수정: 서버 측에서 HTTP 헤더를 설정하여 다른 출처의 서버가 클라이언트에서의 요청을 수락하도록 한다. proxy 서버 사용: 중개 서버를 이용해 CORS 헤더를 수정한다. 2024. 4. 1.
AJAX AJAX Asynchronous JavaScript and XML(비동기적인 JS와 XML) 1. 정의 웹 애플리케이션에서 비동기적으로 서버와 통신하는 기술. XMLHttpRequest 객체를 사용하여 서버와 데이터를 주고받는데, 이 데이터는 다양한 형식(XML, JSON, HTML, 텍스트 등)이 가능하다. 또한 AJAX 요청은 비동기적으로 처리되며, 성공 또는 실패 시 실행할 콜백 함수를 정의할 수 있다. 페이지 새로고침 없이 데이터를 동적으로 업데이트할 수 있어 사용자 경험을 향상시킨다. 다만 적절한 보안 조치가 필요하며 브라우저 호환성에 주의해야 한다. 2024. 4. 1.