brunch

기획을 위한 최소한의 개발 지식 (4)

스크래핑, API, JSON

by Innobanker

목차


✅ 컴퓨터의 구성 요소와 운영체제

프로그래밍 언어

✅ 네트워크, 클라이언트, 서버

✅ 스크래핑, API, JSON ⬅︎

✅ App 과 Web

✅ 네이티브, 리액티브, 웹앱, 하이브리드

✅ 데이터베이스

✅ 프레임워크, 라이브러리

✅ 개발팀 협업 방법

✅ 클라우드


몇 년 전까지만 해도 스크래핑이 혁신적인 기술이었는데, 이 방식이 고객의 인증 정보를 온전히 저장하는 보안상의 이슈가 있어 최근에는 마이데이터 시행이 되면서 특히 금융 서비스에 대해 스크래핑이 일부 금지되고 API 가 점차 표준화 되고 있다. 하지만 모든 스크래핑 방식이 API 로 교체되는 것은 아니며 웹 크롤링 등에 광범위하게 적용되는 기술이다. 앱을 설치할 때 앱스토어에 있는 설치파일을 스마트폰에 다운로드 할 때처럼 서버와 클라이언트가 약속된 체계를 통해 데이터 요청과 응답을 주고받으며 프로그램이 동작하게 된다. 기획자가 데이터 송수신 체계를 알아야 어떤 방식을 쓰는 것이 적절한지 그리고 기능 별로 어떤 기획 요소와 개발 작업이 필요한지 더 잘 판단할 수 있다.


☑️ API : 서버와 클라이언트 처럼 서로 다른 프로그램에서 요청과 응답을 주고받을 수 있게 만든 체계이다. 어떤 프로그램을 구축할 때 서버와 클라이언트는 '대상 서버주소 + 대상 기능'의 조합에 따라 각각 어떤 응답을 보낼 지 미리 약속을 한다. API 는 서버가 개발하고 클라이언트는 그걸 사용한다.


☑️ CRUD : Create, Read, Update, Delete 의 약자로 서버에 하는 요청을 이 4가지로 분류할 수 있다. 기획자는 이 4가지 관점에서 데이터를 요청할 수 있도록 기획해야 하며 그 중 특정 기능이 없이 기획한다면 분명한 이유가 있는 게 좋다.


☑️ RESTful API : Representational State Transfer 한 API. 주소 개수가 많아지고 복잡해지면 기능이 겹치는 등의 문제가 발생하는데, RESFful API 에서는 CRUD를 하나의 주소로 관리하며 요청을 보낼 때 데이터(리소스) 경로 + HTTP Method(POST, GET, PUT, PATCH, DELETE) 의 체계로 보낸다. 리소스 URL (경로) 는 '엔드포인트'라고 부르고 실무에서 자주 쓴다. '메소드'는 x 입력값에 따라 y라는 결과값이 나오는 '함수'와 같은 의미로 쓰이고 x는 변수 즉 '파라미터'라고 불린다. 예를 들어 로그인 요청에 필요한 변수는 ID 와 비밀번호가 있다. 결과값은 HTTP 상태 코드라고 해서 익숙한 404 에러 처럼 번호로 표현한다.


☑️ SDK (Software Development Kit) : 서버와 클라이언트 외에도 소프트웨어 간에 정보를 교환할 필요가 있다. 서버에서 API 를 만드는 것처럼, 특정 기능을 제공하는 소프트웨서 쪽에서 API를 제공해야만 받는 쪽에서 활용할 수 있다. 다른 소프트웨어에 API 를 제공해 주는 소프트웨어가 SDK 이다.


☑️ JSON : API로 데이터를 주고받을 때 사용하는 형식으로, 대괄호와 콜론으로 여러 정보를 구분해서 주고받을 수 있다.


☑️ OPEN API : 일상에서 자주 사용하는 네이버 로그인이나 카카오 로그인 처럼 타 서비스에서 자사 서비스를 더 많이 활용하도록 API 를 구축해 공개하는 것이다.


생각해 보면 회의 때 CRUD가 뭐냐고 개발자분한테 그냥 막 물어봤었는데 갑자기 부끄러워진다. 이정도는 좀 알아서 찾아보고 일했어도 좋았을 것 같다. 심지어는 API 문서도 일부러 가져와서 시연(?) 해 보여준 개발자분도 있었는데 그 순간들이 참 고맙고 소중한 시간이었다 싶다. 이렇게 어렴풋이 이해하고 있던 개념들도 확실하게 정리하니 옷장을 정리한 것처럼 머릿속이 질서정연해 진다.


참고 자료


<비전공자를 위한 이해할 수 있는 IT 지식>, 최원영, 2021.02.01., T.W.I.G.

<지금 핀테크는 ‘스크래핑’ 바람>, 김은영 객원기자, 2018.04.13., https://www.sciencetimes.co.kr/news/%ec%a7%80%ea%b8%88-%ed%95%80%ed%85%8c%ed%81%ac%eb%8a%94-%ec%8a%a4%ed%81%ac%eb%9e%98%ed%95%91-%eb%b0%94%eb%9e%8c/

<스크래핑>, IT위키, https://itwiki.kr/w/%EC%8A%A4%ED%81%AC%EB%9E%98%ED%95%91

<REST API 제대로 알고 사용하기>, NHN 김동범, 2016.07.25., https://meetup.toast.com/posts/92

<API란? 기업이 API를 제공하는이유>, dbal9357, 2021.6.11., https://velog.io/@dbal9357/API%EB%9E%80-%EA%B8%B0%EC%97%85%EC%9D%B4-API%EB%A5%BC-%EC%A0%9C%EA%B3%B5%ED%95%98%EB%8A%94%EC%9D%B4%EC%9C%A0%EC%9D%B8%EA%B0%95%EB%93%A3%EA%B3%A0-%EB%B3%B4%EC%B6%A9


keyword
작가의 이전글여기까지 왔다는 건