배포의 모든 것 - 1. AWS 시작하기 및 EC2 띄우기
·
프로젝트
💡 프로젝트의 마지막 관문 배포입니다.첫 개발 프로젝트를 하는 과정에서 배포에서 특히 많은 어려움이 있었어요! 배포와 관련한 많은 자료들을 보았지만, 정말 정말 초심자의 입장에서는 이해하기 쉽지 않았습니다..대부분 "다른 분들이 삽질하지 않았으면 하는 마음에.. "라는 느낌으로 정말 세세하게 알려주셨지만 그런 것조차 이해하지 못하는 초보였습니다. ༼ ◉_◔༽ 그런 분들의 위해서, 같은 초보자의 입장에서 배포에 대해서 다뤄보겠습니다.+  배포의 방식은 사람들마다 다 다르게 되어있습니다! 그래서 더 어려웠던 것 같아요.     그런 부분들에 대해서도 구체적으로 다루어 보겠습니다.개요 : VPC 및 AWS를 이해하기 위한 기본 -> EC2 서버 띄우기 -> RDS 구축 -> 무중단 배포 CI/CD  -> 도..
Restful API Endpoint를 어떻게 설계해야 할까?
·
프로젝트
저번 포스트에서는 Http method에 대해서 알아보았는데요 🔗. 이번에는 Http method에서 배운 것을 바탕으로 Restful API Endpoint를 설계하는 것에 대해서 다루어보겠습니다. 📌 리소스를 식별해라🤔 리소스란 무엇을 의미할까요?REST에서 주요 데이터 표현은 자원(resource)이라고 합니다. 일관성 있고 강력한 REST 자원 이름 전략을 갖추는 것은 장기적으로 매우 중요한 설계 결정이 될 것입니다.REST에서 정보의 핵심 추상화는 자원입니다. 이름을 지을 수 있는 모든 정보는 자원이 될 수 있습니다. 예를 들어, 문서나 이미지, 시간에 따라 변하는 서비스(예: "오늘의 로스앤젤레스 날씨"), 다른 자원들의 모음, 실제 물건(예: 사람) 등이 자원이 될 수 있습니다.다시 말..
DDD(Domain Driven Design) 구조 알아보기
·
프로젝트
💡 프로젝트를 시작하기에 앞서서 프로젝트의 패키지 구조에 관련된 사항들을 정하게 되는데요. 대표적으로 사용하시는 구조는 계층형과 도메인형이 있습니다. 이번 포스트에서는 도메인형 구조에 대해서 구체적으로 알아보도록 하겠습니다. 📌 계층형 구조와 도메인형 구조의 차이✅ 계층형 구조src├── main│ ├── java│ │ └── com│ │ └── example│ │ └── demo│ │ ├── DemoApplication.java │ │ ├── config │ │ ├── controller │ │ ..
자기 참조 관계
·
DB
📌 자기 참조 관계? 그게 왜 필요한데?🤔  ERD 설계를 하던 와중 계층형 관계에 부딪히게 되었습니다.계층형 구조를 가진 카테고리에 대해서 계층 정보를 저장해야 하는데 가장 처음 떠오른 방법은 매핑 테이블이었습니다. 그런데 카테고리의 수가 많지 않고 그 몇 개의 카테고리의 계층 관계를 저장하기 위해서 매핑 테이블을 따로 만들자니 굉장히 비효율적이라고 생각했습니다.예를 들어서,회원이라는 엔티티가 있다고 생각해 봅시다. 각 회원은 자신을 추천해준 추천인을 입력할 수 있다고 생각해봅시다. 애플리케이션의 유저가 늘어날수록 회원의 수가 늘어나고 추천인에 대한 구조를 나중에 계층을 정리해서 확인하고 싶다면 매핑 테이블을 따로 만드는 것은 타당하다고 생각됩니다.이번에는 옷 쇼핑몰을  설계해 본다고 생각해 봅시다..
HTTP 메서드를 알아보자
·
Server
💡 HTTP 메서드는 어떤 것이 있고 어떻게 쓰이는지 구체적으로 알아보도록 하겠습니다. 📌 HTTP 메서드 요약 HTTP 메서드는 총 9개로 주로 사용하는 메서드가 5개, 그 이외에 기타 메서드가 4개가 있습니다. 이번 게시물에서는 주요 HTTP 메서드에 대해서 구체적으로 다뤄보겠습니다. ✅ GET이름에서도 알 수 있겠지만 굉장히 직관적으로 조회(Read)의 기능을 한다는 것을 알 수 있습니다.🤔 그런데 GET으로 처리할 수 있는 "읽기"의 기능은 3개 정도로 나눠볼 수 있습니다.1. 정적 리소스 2. 특정 조건을 가진 리소스를 검색 (Query String 이용)3. 특정 조건을 가진 리소스를 검색 (HTML Form 이용)💠 정적 리소스(데이터) 조회 단순히 리소스의 경로로 파일을 조회할 수 ..
API 응답 통일을 파헤치다
·
프로젝트
🤔 개발 초심자의 입장에서 API 응답 통일을 파헤처 봅시다.(본 내용은 UMC의 백엔드 스터디 워크북과 여러 블로그를 참고하여 만들었습니다.) 프로젝트를 진행하면서 Rest API를 설계하게 되는데요, 이때 프로젝트에 사용할 API 응답을 정해두고 통일하여 사용하게 됩니다.Controller에서 API를 통해 요청을 하면 HTTP 응답이 날라오게 되는데.... 위의 사진에서 파란색 부분 즉, message body에 우리가 프로젝트에서 만든 API의 응답을 JSON 형태로 넣어줄겁니다.  나중에 Swagger를 통해서 API를 테스트 해줄때 위와같이 Response Body에 저희가 만든 API 응답이 JSON 형태로 들어가 있는 것을 확인할 수 있어요! 📌 API 응답 형식은 어떻게 만들까요?Ex..