inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

API #1. 개념 ★★★

강의 내용중 API 관련 질문이 있습니다

446

작성자 없음

작성한 질문수 0

0

안녕하세요 먼저 좋은 강의 감사합니다

강의 수강중 궁금한 부분이 생겼는데 검색해도 잘 안나와서 질문 드립니다

API 장점 중

내부 프로세스가 수정되었을 때 API를 매번 수정하는 것이 아닌 API가 수정이 안되게 만들 수 있습니다. 이를 통해 내부 DB, 서버의 로직이 변경되어도 매번 사용자가 앱을 업데이트 하는 일은 줄어들 수 있습니다. 라는 내용이 있는데

내부 프로세스는 수정되지만 API를 수정이 안되게 만들어서 업데이트를 하지 않아도 되게 만든다는 말 같은데 결국 내부 프로세스는 수정이 된 것 아닌가요?

로직은 바뀌었는데 API가 수정이 안되게 만들 수 있다는 말이 잘 이해가 되지 않습니다 ..

면접 운영체제 기술면접

답변 1

0

큰돌

안녕하세요 능이 개발자님 ㅎㅎ

 

내부 프로세스는 수정되지만 API를 수정이 안되게 만들어서 업데이트를 하지 않아도 되게 만든다는 말 같은데 결국 내부 프로세스는 수정이 된 것 아닌가요?

로직은 바뀌었는데 API가 수정이 안되게 만들 수 있다는 말이 잘 이해가 되지 않습니다 ..

>>

자, 우리가 어떤 내부 코드를 업데이트했습니다. 그렇다고 해서 무조건 앱을 업데이트하게 만들어야 할까요?

서비스가 실제 사용자들에게 보여지기 까지 간단하게 이 3가지의 과정을 거쳐서 배포가 됩니다. (테스트 등등의 과정은 생략하겠습니다. )

개발 > 릴리스 > 배포

여기서 릴리스란 프로덕션 레벨의 코드로 머지를 한것(코드수정한 것을 합친 것)이라고 이해하시면 됩니다.

릴리스를 했다고 무조건 배포를 하지는 않습니다.

즉 수정과 배포는 다른 것입니다.

다시말해 내부코드가 수정되었다고 해서 무조건 해당 반영된 값을 바로 배포하지는 않습니다.

업데이트가 되면 앱을 실행했을 때 이런식으로 사용자가 "귀찮게" 업데이트를 해야 하는 상황으로 갈 수 있기 때문이죠.

image

API도 이와 동일하게 생각하시면 됩니다.

API라는 중간 단계가 있기 때문에 업데이트가 바로 반영되지 않습니다.

만약 내부 로직이 수정되었다고 해서 바로 서비스가 바뀔 수도 있겠죠?

근데 여기서 API라는 인터페이스 계층을 하나 둠으로써

내부로직이 수정이 되어도 API는 그대로인채 내버려 둘 수 있습니다.

예를 들어

API v1을 쓰고 있는 사람이 있습니다. API 내부 로직이 변경되었다고 해서

갑자기 api/hongchul 이라고 요청해야 하는 것을 api/chul 이런식으로 요청하라고 하면 해당 사람이 만든 서비스 등의 로직을 수정해야겠죠?

그러나 수정을 해도 해당 API는 수정안되게 만들면 그러한 상황을 피할 수 있습니다.

제가 그림을 그려봤는데요. 위에 부분은 만약 API가 없을 때 입니다. 수정된 것이 바로 반영되지만, 아랫부분은 API라는 계층이 있기 때문에 코드 수정부분이 바로 사용자에게 반영되지 않게 만들 수 있습니다.

image

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

REST API (Self-descriptive messages)

0

28

1

시스템 엔지니어 관련 질문입니다.

0

53

2

오버라이딩 관련하여 질문드립니다.

0

62

2

교착상태의 4가지 필요조건이 필요충분조건이 아닌 이유

0

91

1

렌더 트리, 렌더 레이어와 그래픽 레이어

0

57

2

로컬스토리지, 세션스토리지, 쿠키의 공통점

0

68

1

IPv4가 IPv6보다 빠른 경우

0

103

2

UDP가 전송계층의 역할을 못하는 건 아닌지

0

59

1

Path MTU 발견하였음에도 패킷 분할이 필요한 이유?

0

65

2

교재의 LFU 알고리즘에서 6번이 왜 히트인가요?

0

64

2

페이지 교체 알고리즘? 프레임 교체 알고리즘?

0

83

2

Static 키워드가 메모리에 올라가는 시점

0

78

2

헤더 압축부분 질문드립니다

0

73

2

공유 캐시 관련 질문 드립니다.

0

56

2

컨텍스트는 context와 contextual information으로 나눠진다는게 무슨뜻인가요?

0

201

1

회선과 대역폭의 관계

0

63

2

44강 질문

0

95

2

버스 토폴로지 질문 있씁니다

0

55

1

자바스크립트, xml 문법 관련

0

67

2

전략패턴과 의존성주입 질문

0

69

2

Model이 비즈니스 로직을 담당하나요?

0

108

2

CS 공부 하는 법

0

181

2

큰돌님 블로그에 개념정리해서 올려도될까요!

0

137

2

FIN 세그먼트 질문

0

72

2