이 문서는 데브코스 교육 과정 중 학습한 주요 주제들에 대해 이해를 돕고 복습용도로 사용하기 위해 질문과 답변 형식으로 정리되었습니다.
A-1) 폭포수 방법론이란, 순차적인 과정을 따르는 전통적인 소프트웨어 개발 방법론이다. 요구 사항 정의, 설계, 구현, 검증(테스트), 유지보수 등의 단계를 한 번에 하나씩 차례대로 진행하며, 각 단계가 완료되면 다음 단계로 넘어간다. 각 단계가 명확하고 문서화가 잘 되어 있지만, 유연성이 부족하고 고객 피드백에 제한이 있다
A-2) 애자일 방법론이란, 소프트웨어 개발 과정을 짧은 주기의 스프린트로 나누고, 빠르고 반복적인 개발 주기를 통해 소프트웨어를 개선해 나간다. 프로젝트 요구 사항의 변경에 유연하게 대응할 수 있고, 고객 중심이며 식속하게 초기 버전을 출시하고 지속적으로 개선해 나갈 수 있다.
A-3) 폭포수 방법론은 대규모의 복잡한 시스템이나 규제가 많은 환경(금융)에서 적용하면 좋고, 애자일 방법론은 변경 가능성이 높은 프로젝트나 신속한 제품 출시가 필요한 스타트업에서 적용하면 좋을 것이다.
A-1) Reverse Proxy란, 클라이언트와 서버의 중간에서 요청과 응답을 전달해주는 매개체 역할을 하는 서버다. 요청을 분산시켜 각 서버에 균등하게 부하를 분산시키는 로드 밸런싱 역할을 하고, 서버의 실제 IP 주소를 숨길 수 있게 해줌으로써, 외부 공격으로부터 서버를 보호하는 데 도움을 준다
A-2) 클라이언트(브라우저)가 로그인 페이지를 요청 > 프록시 서버를 거쳐서 FE 서버로 요청 > 요청받은 FE 서버는 로그인 페이지에 대한 소스를 응답 > 프록시 서버를 거쳐 클라이언트에게 응답 전달 > 클라이언트가 로그인 페이지에서 데이터를 입력 > 프록시 서버를 통해 BE 서버의 api 호출 > 백엔드 서버에서 요청 처리 > 결과를 프록시 서버를 통해 클라이언트에게 전달
A-1) S3(Simple Storage Service)는 객체 스토리지 서비스다. 데이터를 파일 형태로 저장하고, 각 파일은 데이터와 메타데이터를 포함한다. S3는 인터넷을 통해 언제 어디서나 접근 가능한 저장공간이며, 사진, 비디오, 로그 파일 등 거의 모든 유형의 데이터를 저장하고 관리할 수 있다.
보통 웹사이트 호스팅, 데이터 백업 및 복구, 빅 데이터 분석 등 다양한 용도로 사용된다
A-2) ECR(Elastic Container Registry)는 Docker 컨테이너 이미지를 저장, 관리, 배포하기 위한 AWS 서비스다. Docker는 애플리케이션을 컨테이너라는 격리된 환경에서 실행할 수 있게 해주는 기술이다. ECR은 이러한 컨테이너 이미지들을 안전하게 저장하고 관리할 수 있는 곳을 제공한다