반응형
TIL (Today I LeTIL (Today I Learned)
2022.05.02
오늘 읽은 범위
1부 API 디자인 기초
책에서 기억하고 싶은 내용
- 책에서 말하는 API는 웹 API다. 소프트웨어를 위한 웹 인터페이스다.
- API는 소프트웨어를 레고처럼 만들어준다. 이 의미는 API를 사용해 더 거대하고 새롭고 다양한 것을 만들 수 있다는 의미다.
- 다양한 컨슈머가 사용하는 것은 퍼블릭 API고, 정해진 컨슈머들만 사용할 수 있는 API는 프라이빗 API다. (내부망, 인터넷으로 결정되지 않는다)
- API는 구현, 처리 과정을 숨기고 원하는 응답만 컨슈머에게 전해준다.
- 언젠가 API를 노출하면 해당 API 소프트웨어 개발 과정에 전혀 관련 없었던 사람들이 API를 사용한다. 그렇기 때문에 API를 사용하는 코드를 작성할 때는 새로운 개발자가 이해할 수 있도록 단순하고 깔끔하게 작성해야 한다.
- 형편없이 디자인된 API는 잘 쓰이지 않거나, 잘못 쓰이거나 전혀 사용되지 않을 수 있으며, 더욱이 안전하지도 않다.
- 좋은 API를 디자인하기 위해서는 인터페이스 뿐만 아닌 모든 컨텍스트를 고려해야 한다.
컨텍스트란 어떤 제약이 있는지, 어떻게 API가 누구에 의해 쓰일 것인지, 어떻게 API가 만들어질 것이며, 어떤 식으로 성장할 것인지 등을 말한다. - API의 모든 생명주기에 관여해야 한다. 개발, 문서화, 지속적인 개선과 수명을 다하는 과정을 생명주기라고 한다.
떠오르는 생각
- 최근에 대외활동에서 ERD 다이어그램과 API를 스스로 설계하는 과제 형식이 많았다. ERD 설계에서도 많은 부족함을 느끼고 API 디자인도 최근에서야 뭔가 윤곽을 잡을 수 있었다. 특히 API 디자인 과정에서 부족함을 많이 느끼고 API 관련 서적을 찾아보다가, 개발자 커뮤니티에서 '일상 속 사물이 알려주는 웹 API 디자인'이라는 책을 추천해주셨다.
- 이제 시험도 끝나고 곧 본격적으로 프로젝트를 진행할 것 같아서 이 책을 읽어보려고 한다.
- 단순히 예제 API만 보다가 프로젝트를 진행하면서 많은 어려움을 느꼈는데, 이 문제로 고민을 해결하고, 더 깊은 인사이트를 얻을 수 있으면 좋겠다.
- 요즘 부족한게 정말 많다고 느낀다. Git, API, 알고리즘, Spring, JAVA 등.
- 차근차근 공부하려고 하는데, 우선 방학 때 앱 런칭 프로젝트를 위해 Spring Boot, Git, SQL, API를 집중적으로 공부하려고 한다.
- API 공부도 시작했는데 파이팅!!!!
반응형
댓글