목록분류 전체보기 (42)
Develog

학습 목표 실제로 프로젝트가 진행되는 과정을 이해합니다. 사용자 요구사항 정의서를 작성할 수 있습니다. SRS의 정의 SRS (Software requirements specification)은 소프트웨어가 무엇을 할 것이며 어떻게 작동할 것으로 예상되는지를 설명하는 문서이다. 또한 제품이 모든 이해 관계자(비즈니스, 사용자)의 요구를 충족시키는데 필요한 기능을 설명한다. 프로젝트에서 SRS가 중요한 이유 위에서 언급된대로 SRS는 종합 설계도와 같다. 결국 SRS는 프로젝트의 전체적인 그림을 제공한다. SRS의 구성 1. 소개 1.1 목적 (Purpose) 이 문서에 요구사항이 명시되어 있는 제품 또는 애플리케이션을 설명한다. 이 SRS가 전체 시스템 중 일부에만 관련된 것이라면 그 부분 또는 하위시스..

학습 목표 개발 프로젝트 Github 리포지토리에 꼭 필요한 요소를 이해한다. 칸반이 무엇인지 이해한다. 칸반 원칙과 실천 방안에 대해서 이해한다. Github Project, 이슈, 마일스톤 기능을 이용하여 칸반 보드를 제작할 수 있다. 칸반 보드로 업무 시각화를 할 수 있다. README.md Github는 개발자의 SNS라고 불릴 정도로 다양한 종류의 오픈소스 프로젝트가 공유되어 있다. 오픈소스 프로젝트에 들어가면, 가장 먼저 확인할 수 있는 정보가 바로 이 README.md 파일이다. 기본적인 마크다운 사용법을 잘 숙지하고 있으면 간단한 소개 페이지처럼 제작할 수 있다. README.md 파일을 적는 양식은 따로 존재하지 않지만, 대체로 어떻게 하면 해당 오픈소스를 활용할 수 있는지에 대한 상세한..

학습 목표 Reactor가 무엇인지 이해할 수 있다. Reactor의 특징이 무엇인지 알 수 있다. Reactor의 동작 방식을 이해할 수 있다. 마블 다이어그램이 무엇인지 이해할 수 있다. 마블 다이어그램을 보는 방법을 이해할 수 있다. Reactor Publisher 타입의 특징을 이해할 수 있다. Reactor의 Scheduler가 무엇인지 이해할 수 있다. Reactor의 필수 Operator를 사용할 수 있다. Spring Reactive Web Application 역시 Spring MVC 기반의 애플리케이션과 마찬가지로 클라이언트의 요청을 처리하는 이러한 과정을 거치게 되는데 한가지 차이점은 그 요청 처리 과정 어딘가에서 Reactor가 핵심적인 역할을 한다는 것이다. 사실 Spring Re..

학습 목표 리액티브 프로그래밍이 무엇인지 이해할 수 있다. 리액티브 프로그래밍의 특징을 이해할 수 있다. 리액티브 스트림즈가 무엇인지 이해할 수 있다. 명령형 프로그래밍과 선언형 프로그래밍이 무엇인지 이해할 수 있다. 리액티브 프로그래밍을 학습하기 위한 사전 지식이 무엇인지 이해할 수 있다. Sprinv MVC 기반의 애플리케이션과 Spring Reactive 기반의 애플리케이션의 차이점을 이해할 수 있다. 우리가 지금껏 학습하면서 만들어 본 애플리케이션은 명령형 프로그래밍 방식을 이용한 전통적인 개발 방식이다. 반면에 리액티브 프로그래밍은 전통적인 명령형 프로그래밍 방식과 달리 선언형 프로그래밍 방식을 사용한다. 리액티브 시스템은 클라이언트의 요청에 반응을 잘하는 시스템을 의미한다. 리액티브 프로그래밍..

학습목표 프록시 서버가 추가된 2-Tier Architecture는 어떻게 작동하는지 설명할 수 있다. 로드밸런서가 필요한 이유를 이해할 수 있다. 오토스케일링의 장점을 설명할 수 있다. 다양한 웹 서버의 주요 목적을 설명할 수 있다. NGINX를 사용하여 프록시 서버를 구성할 수 있다. NGINX를 사용하여 로드밸런싱을 구성할 수 있다. VPC를 이용해 안전한 배포 아키텍쳐를 구성할 수 있다. 프록시 서버 프록시 서버(Proxy Server)는 클라이언트가 서버와 소통할 때, 서버에 바로 접근하지 않고 자신을 통해 서버에 접근할 수 있도록 해주는 일종의 대리 서버이다. 보통 일반 사용자는 지역이 제한되어있는 서비스를 이용하기 위해 우회하거나, 캐시를 통해 더 빠른 이용을 하기 위해 프록시 서버를 사용한..

학습목표 배포 자동화에 정의와 이점에 대해 설명할 수 있다. 배포 파이프라인이 무엇인지 정의할 수 있다. 파이프라인을 구성하는 단계(Stages)와 작업(Actions)에 대해 설명할 수 있다. AWS 개발자 도구를 활용하여 파이프라인을 구축할 수 있다. 배포 자동화 파이프라인 구축 과정에서 문제가 발생할 경우, log 파일과 공식 문서를 통해 해결할 수 있다. AWS에서 제공하는 IAM 서비스를 이해하고 사용할 수 있다. Automated Deployment 배포 자동화 배포 자동화란 한번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것을 뜻한다. 배포 자동화가 왜 필요한데? 먼저 수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약된다. 휴먼 에러(Human Error)를..