책으로 공부하기

비전공자를 위한 이해할 수 있는 IT지식 [정보요약편2]

차근차근 디지털 2023. 3. 10. 09:00

키워드 : API, JSON, 애플리케이션, 웹, 프레임워크 등 

 

- API : 이미지 파일을 줘, 로그인 시켜줘 등 "요청"을 구분할 수 있는 체계. 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계. 소프트웨어가 다른 소프트웨어의 기능을 쓰기 위해 중간에 필요한 체계, 기능을 사용하기 위해 주소로 요청을 보내면 응답을 해주는 소프트웨어끼리의 체계

- 서버 개발자가 서버 주소도 정의하고, 잘되었는지, 오류가 났는지 알려주는 기능도 만든다. 즉 API는 서버 개발자가 개발하고 클라이언트 개발자는 그 API를 사용한다.

- 주소 : '서버주소(IP)/기능' 형태로 되어 있는데 기능으로는 통상 CRUD : Create(POST) Read(GET) Update(PUT전체/PATCH일부) Delete(Delete) 이렇게 쓰이고, 동일해서 쓰는 것은 사회 운동 일환으로 RESTful API 체계적인 API라는 뜻이다.

- 응답이 잘됐으면 200번대 코드, 클라이언트의 요청에서 문제가 있는 경우 400번 대 코드, 서버에 문제가 있는 경우 500번대 코드로 표현

- SDK : API를 제공해주는 다른 소프트웨어, 소프트웨어를 개발할 때 도움을 주는 '다른 소프트웨어'. 예를 들어 구글 지도는 구글에서 만든 소프트웨어인데, 지도 SDK를 설치하면 자신의 소프트웨어에 구글 지도 기능을 넣을 수 있다. 이 SDK에서 제공해주는 API들을 통해 구글 지도에 요청을 보낼 수 있다.

- 클라와 서버는 요청과 응답을 주고받고, 그 떄 필요한 데이터들을 JSON 형식으로 주고받는다.

- 앱 마켓의 서로 다른 생태계 : 애플은 사전 심사를 깐깐하게 하기 때문에 앱스토어의 앱은 플레이 스토어보다 적지만 앱들이 상대적으로 정상 동작하고 깔끔하다. 반면 구글 플레이 스토어는 사전 심사가 느슨해 앱스토어보다 더 많은 앱이 있지만, 이상하거나 동작하지 않는 앱도 있다.

- 웹과 앱은 각각 장단점이 있는데, 웹은 수정이 용이하다. 원본만 수정하면 유저가 업데이트하지 않아도 새로고침하면 반영된다. 하지만 앱은 오래걸린다(앱은 다시 다운을 받아야함). 하지만 웹의 장점이자 단점인 새로고침하면 바로 바뀐다는 말 즉슨 매번 HTML, CSS, JavaScript를 다운받아야하고 네트워크가 빠른 환경이면 괜찮지만 사람이 많거나 불안정한 환경 등 웹은 네트워크의 영향을 많이 받는다.

- "그 데이터는 로컬에 있어요","내부 DB에 저장하고 있어요","네이티브에서 가져온건데?" 모두 클라이언트에 데이터가 있다는 표현. 로컬, 내부DB, 네이티브, 클라/클라이언트, 프론트/프론트엔드

-"API로 가져온 거예요","DB에 저장해두고 쓰면 안되나요?" 는 서버에서 데이터를 가져왔다는 의미. 서버, API, DB, 백/백 엔드

- 프레임워크 : 코드나 기능으로 이미 만들어진 사전 페이지 같은 것, 각종 라이브러리와 코드들이 모여 프레임워크가 됨. 한 프로젝트에서 프레임워크는 하나만 쓸 수 있음.

- 각 언어별로 유명한 프레임워크들이 있음. 자바는 스프링, 파이썬은 장고, 루비는 레일스

 

참조 : 비전공자를 위한 이해할 수 있는 IT지식

저자 최원영님의 IT 지식 강의 : https://gipp.co.kr/