본 내용은 내일배움캠프 커리어톤에서 활동한 내용을 기록한 글입니다.
API는 Application Programming Interface의 줄임말로 API는 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻함
간단하게 말하면, 다른 소프트웨어나 어플리케이션 간을 연결해주는 매개체이자 약속라고 할 수 있음
서로 다른 시스템 간의 통신을 할 수 있게 해주는 중개자의 역할을 담당함
웹훅(Webhook)은 특정 이벤트가 발생했을 때 다른 시스템에 자동으로 HTTP POST 요청을 보내는 방법
이를 통해 실시간으로 데이터나 알림을 전달할 수 있음
예를 들어, 결제가 완료될 때 결제 서비스 정보를 서버로 전송하는 등의 다양한 시스템 간의 효율적인 실시간 통신을 가능하게 함
웹훅의 이점에 대해 atlassian에서 잘 정리해놓아서 가지고 왔음
Advantages of webhooks
Without webhooks, if you want to detect when events occur in Bitbucket Cloud, you need to poll the API. However, polling the API is inconvenient, inefficient, and error-prone. Consider how SMS messages work on mobile phones. You don't have to check your messages every 5 minutes to see if you have a text because your phone sends you a notification. In the same way, webhooks work like the notification so that the API does not have to check for the same activity every minute.
즉, 우리의 휴대폰에서 5분마다 메시지가 왔는지 확인하는 것은 매우 비효율적임
그래서 우리는 메시지가 올 때만 알람을 듣고 확인함
5분마다 폰을 켜서 메시지가 왔는지 확인하는 것을 API
메시지가 왔을 때 알람을 주는 것을 Webhook
내일은 AWS Elastic Beanstalk로 CI/CD 파이프라인 구축할 예정
오늘 간단한 조사를 마쳤으니 내일은 실제로 프로젝트에 적용해서 제대로 CI/CD 되는지 확인할 예정
오늘은 면접 대비반에서 진행하는 기술 면접 예상 질문 답변 작성 미션을 진행함
예상 질문 중 웹훅(Webhook)에 대한 내용이 있어서 구글링을 통해서 내용을 찾음
처음 웹훅에 대한 내용을 봤을 때는 그냥 API와 비슷한 것 같아서 그 둘의 차이를 찾아봄
결과적으로 요청하는 데이터를 주는 것은 같지만 언제(When) 주냐에 따라서 웹훅인지 API인지 결정된다고 함