반응형

백엔드 7

WHY: Nginx 용량 재한, 왜 사진이 1MB 이상이면 업로드가 되지 않을까?

프로젝트를 진행하던 도중 클라이언트를 개발하는 프런트개발 쪽에서 아래와 같은 질문이 들어왔다. 문괜님 1MB 이상 사진이 안 올라가지는데요? 그 당시 이런 질문에 답하고 해결하기 위해 아래와 같은 생각을 했다. 이미지는 지금 현재 MultipartFile인데 Spring에서 이와 관련한 용량 재한이 있는 걸까? 모든 요청이 Nginx의 Web Server를 통해서 들어오고 있는데 그와 관련한 재한이 있는 걸까? 그럼 클라이언트에서 사진을 압축해서 보내면 되는 거 아닌가? 첫 번째는 간단하게 application.properties에 들어가 확인이 가능했고 아래와 같이 금방 확인이 가능했다. 여기서 위에 보이는 max-file-size는 Multipart와 관련해서 최대 사이즈를 설정하는 부분이다. 그리고..

Backend Dev./Why? 2023.12.15

Spring Boot 개발노트: 프로젝트 HTTPS 적용 2편

Spring Boot 개발 노트 : 프로젝트 HTTPS 적용 1 Spring Boot 개발 노트 : 프로젝트 HTTPS 적용 1 Spring Boot의 경우 8080번 Port를 사용하고 React 같은 경우 3000번 Port를 사용한다. HTTP의 경우 80번 Port를 사용하고 SSH의 경우 22번 포트를 사용한다. 그러면 HTTPS의 경우 몇 번 Port를 사용할까? 그리고 여 youcanbeable.tistory.com 도대체 Nginx는 뭘까요? 도대체 Nginx는 뭘까요? HTTPS를 적용하기 위해서 그리고 웬만한 Backend 개발에 있어 Nginx는 한 번쯤은 무조건 들어봤을 것이다. 추가적으로 WAS, Web Server와 HTTPS관련해서 무조건 들어봤을 것이다. 그러면 도대체 WAS..

Spring Boot 개발 노트 : 프로젝트 HTTPS 적용 1

Spring Boot의 경우 8080번 Port를 사용하고 React 같은 경우 3000번 Port를 사용한다. HTTP의 경우 80번 Port를 사용하고 SSH의 경우 22번 포트를 사용한다. 그러면 HTTPS의 경우 몇 번 Port를 사용할까? 그리고 여기서 말하는 Port는 무엇일까? 마지막으로 HTTPS와 HTTP의 차이 그리고 어떻게 우리가 만든 프로젝트에 HTTPS를 적용할 수 있을까? 먼저 Port 번호란 무엇일까? 서버와 클라이언트 사이 혹은 서버와 서버 사이의 통신을 할 때 사용 되는 요청과 응답이 지나가는 '도로'라고 생각하면 된다. 정해진 포트로 해당하는 요청이 들어오고 포트번호는 중복될 수 없다. IP주소와는 다른 개념이다. IP 주소는 나의 서버가 포함된 기기의 위치를 표시한다면 ..

Spring Boot 개발 노트: S3를 이용해 프로젝트에 이미지관련 CRUD 추가하기 - S3 & IAM 설정

많은 프로젝트에서 이미지가 필요하다. 그런 이미지를 저장하고, 읽어오고, 수정하고 마지막으로 삭제하기 위해서는 어떻게 해야 할까? 생각해봐야 하는 것들 먼저 이미지가 어떻게 저장되는지를 프로필사진 등록을 예로 생각해 보자. 프로필 사진이 등록될 때 아래와 같은 과정이 있다. 프로필 사진 등록하기 클릭 프로필 사진을 컴퓨터에서 찾고 선택한 이미지 저장 그러면 클라이언트에서 선택한 이미지는 서버로 오게 되는데 이 이미지를 S3와 같은 저장소에 저장을 해야 한다. 그리고 S3에서 이미지를 저장하면 이미지를 조회할 수 있는 URL이 반환이 된다.(Image URL이다.) 그리고 우리는 반환된 이미지 URL을 Database에 저장을 하면 된다. 그럼 아래와 같은 순서로 작동하게 만들면 된다. 클라이언트에서 들어..

도대체 OSI Model은 뭘까요? : 7 Layers

저번 '도대체 HTTPS가 뭘까요?'에서 언급했던 Transport Layer와 Application Layer라는 게 있습니다. 이 두 Layers는 사실 OSI Model에 포함되어 있는 Layers입니다. 그리고 OSI Model에는 총 7개의 Layers가 존재합니다. 그러면 이 Layers는 뭐가 있을까요? 그리고 각자 하는 일이 어떻게 될까요? 그래서 이번글에서는 OSI Model이 정확히 어떤 것인지 그리고 누가 만들었는지를 설명드리겠습니다. 그리고 이 글 이후로 Layer별로 천천히 여러분들에게 설명드리겠습니다. 그럼 먼저 OSI Model이 어떤 역할을 하는지 알려 드리겠습니다. OSI는 1984년 ISO(Interantional Organization for Standardization..

도대체 HTTP는 뭘까요?

여태까지 저의 글들을 보면 많이 보인 단어가 있을 겁니다. 그중 하나가 바로 HTTP인데요. 오늘은 HTTP가 도대체 뭔지에 대해 설명드리겠습니다. Hypertext Transfer Protocol HTTP는 사용자의 웹브라우저와 웹사이트를 가지고 있는 서버와의 소통을 위해 존재합니다. 그런 HTTP는 대표적으로 두 가지의 종류가 있는데 첫 번째는 Request 두 번째는 Response입니다. Request(요청)에 부터 설명드리겠습니다. 우리가 웹사이트에서 특정 링크나 버튼을 눌렀을 때 기본적으로 우리의 브라우저는 다른 화면을 보여주거나 우리가 의도한 결과를 보여 줍니다. 여기서 Request는 바로 링크를 누르거나 버튼을 눌렀을 때 생성됩니다. 그럼 그 Request는 어떻게 구성 돼있을까요? HT..

도대체 API는 뭘까요?

저번에 REST API에 이어서 이번에는 API에 대해 설명드리겠습니다. Application Programming Interface API는 개발자가 자신의 프로그램을 위해서 다른 프로그램이나 소프트웨어를 사용할 때 그 구조나 어떻게 구현 됐는지 알지 못하더라도 사용할 수 있게 해 줍니다. 만약 여기서 윗 문장이 이해가 되셨다면 더 이상 읽지 않으셔도 됩니다. 그럼 현실 두 가지 예시를 들어 설명드리겠습니다. 첫 번째 예시로 레스토랑에서 손님이 서버에게 주문을 했습니다. 그럼 여기서 서버들이 음식을 가져다주기 위해서 어떤 게 필요할까요? 음식 레시피? 요리사의 경력? 음식 이름만 알고 그 이름을 주방에 전달만 해주면 됩니다. 그럼 반대로 요리사의 경우 서버에게 음식을 주기 위해서는 어떻게 해야 할까요?..

반응형