본문 바로가기

project01-커뮤니티/설계

API 설계

[ API 설계에대해 고민하게 된이유 ]

웹사이트의 API 를 만들어야 했다

사이트에는 어려운 기능이 없어

"데이터 처리만 가능하면 되지 않을까?" 라는생각을 하였다

이어서 안된다는 생각이 들었다.

 

단순한 프로그래밍을 할때 조차도

변수명에 규칙이있고 클래스명에 규칙이있고

효율적인 프로그래밍을 위한 방식이있고

주석이 있는등 여러가지 규칙성이 있다

그리고 그규칙성 때문에 협업도 쉽고

생산성도 올라가는 것이라 생각한다.

 

API또한 지속적인 확장,관리가 필요할수있고

협업또한 필수라고 생각한다

때문에 API를 작성할때도 규칙성이 있어야 한다고 생각했다.

 

[ API 란? ]

"API는 응용 프로그램에서 사용할 수 있도록,운영 체제나 프로그래밍 언어가

제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다."

 

[ 응용 프로그램 이란? ]

"응용 소프트웨어 또는 에플리케이션은 운영 체제에서

실행되는 모든 소프트웨어를 뜻한다"

 

그러니까 나같은 경우에는

"사용자가 웹브라우저라는 응용 프로그램을 통해서

내가 만든 기능들을 제어할수 있게 만들어 주는것"

이 내가 API가 가지는 목적성이며

API설계는 이 목적을 유지한채

일관된 규칙성을 갖도록 하는것이다.

 

[ 일관된 규칙성은 어떻게 가질것인가? ]

API가 단순 인터페이스의 개념이지만

많은 사람들이 웹개발을 하며

웹 API 를 자주 만들어야 했을 것이고

그러다보니 자연스럽게 발전하고 자리잡은

형태의 API들이 존재한다. ex) REST API

 

자연스레 규칙이 정해져있는 API를 따르는 방법이 생겼다

하지만 아직은 규칙을 지키면서 만든다는

것이 무리가 있다고 생각이 되었다.

또 잘만들어진 것을 모방하는 것보다는

API라는 본질에 집중하여 그 느낌을 가져가 보고싶었다.

 

이러한 이유로 자주쓰이는

API 형식들은 뒤로미뤄두고

전문성은 떨어지더라도

내가 직접 나의 API를 통해

일관된 규칙성을 가지기로 하였다.

 

[ 규칙은 어떻게 만들 것인가? ]

데이터 처리할 것이 많지않고

복잡하지 않은편이라

우선 편한방식으로 데이터를 처리할 생각이며

그후 리팩토링 하는 느낌으로

데이터를 처리에 일관성을 부여하고

그러한 일관성들을 앞으로

이 프로젝트에 대한 API작성은

이러한 방식으로 한다라는 규칙으로 작성할 생각이다

 

[ 완성이 되면 파일 올릴 예정 ]