CS 2

[소프트웨어공학] 아키텍처 패턴

아키텍처 패턴 위키피디아에서 내린 정의로는, 주어진 상황에서의 소프트웨어 아키텍처에서 일반적으로 발생하는 문제점들에 대한 일반화되고 재사용 가능한 솔루션이다. 아키텍처 패턴은 소프트웨어 디자인 패턴과 유사하지만 더 큰 범주에 속한다. 라고 나와 있다. 아키텍처 패턴을 사용함으로써 얻을 수 있는 장점으로는 시행착오를 줄여 개발시간을 단축시킬 수 있고, 검증된 구조로 개발하기 때문에 안정적인 개발이 가능하며, 시스템의 구조를 이해하는 것이 쉬워지고 시스템의 특성을 개발 전에 예측하는 것이 가능하다는 등 이 있다. 다음과 같은 여러 아키텍처 패턴들이 있지만, 그 중에서도 클라이언트-서버, MVC, MVP에 대해서만 정리해볼 것이다. 계층화 패턴 (Layered pattern) 클라이언트-서버 패턴 (Clien..

[Network] Restful API, HTTP

API 란 어떤 기계를 만들면, 사용자가 그 기능들을 전부 활용할 수 있도록 제어장치를 마련해야 한다. 기계와 인간 간의 소통을 할 때는 TV의 리모컨, 컴퓨터의 모니터, 마우스, 키보드 등과 같이 인터페이스를 통해 소통할 수 있다. 소프트웨어와 인간 간의 소통을 할 때는 브라우저창, 슬라이더바 와 같이 UI를 통해 소통할 수 있다. 그렇다면 기계와 기계, 소프트웨어 소프트웨어 사이에서도 수많은 정보 요청이 이루어지고 있는데, 이들은 어떤 방식으로 소통할 수 있을까? 예를 들어, 기상정보가 관리되고 있는 기상청 서버가 있다. 날씨와 관련된 서비스를 제공하는 다양한 웹사이트, 앱들은 이 기상청 서버로부터 날씨 정보를 요청해서 받아가야 한다. 그런데 이 기상청 서버에 데이터를 요청할 때 지정된 형식이 있어야..

CS/Network 2022.05.08