지금은 디자인 공부를 하고 있지만, 예전에는 개발을 조금 했었다.
개발자로서 프로젝트를 할 때 개발에 대해 아예 모르는 다른 디자이너나 기획자랑 협업할 때마다 조금은 답답한 면이 있었다. 그래서 항상 개발에 대한 이해가 어느 정도 있는 팀원들을 만나고 싶어 했고, 실제로 그런 팀원들과 함께할 때 커뮤니케이션이 훨씬 잘 됐다.
지금은 디자인을 하고 있으니 다시 개발에 대해 이해할 필요가 있을 것 같아서 이 책을 읽게 되었다.
프로젝트도 진행해봤고 요즘도 가끔씩 개발 공부를 하기 때문에 처음 보는 내용을 배운 것은 아니지만,
평소 희미하게 알고 있던 것들이나 개발자들이 소통하는 것을 보고 이건 이런거구나 유추했던 것들을 자세한 예시들과 함께 자세하게 이해할 수 있었다. 쉽게 이해할 수 있게 예시를 들면서 설명되어있어서 어렵지 않게 후루룩 읽었다.
읽으면서 평소에 헷갈렸던 내용을 간단히 정리해봤다. 책의 맥락 속에서 가져온 내용들이라 자세한 내용은 책을 직접 읽어보는 것이 정확할 것이다.
API
클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 있게 만든 체계
(Open API - 공개된 API)
메소트(Method)
함수
파라미터(Parameter)
함수에서의 x
(로그인 요청에서 필요한 ID와 비밀번호를 ‘로그인 요청에 필요한 요청 변수’ 혹은 ‘파라미터’라고 표현)
SDK(Software Development Kit)
소프트웨어를 개발하기 위한 도구 어떠한 소프트웨어를 개발할 때 도움을 주는(API를 제공해주는) 다른 소프트웨어
EX ) 어떤 소프트웨어에 구글 지도 SDK를 설치하면 그 소프트웨어에서 구글 지도 기능을 넣을 수 있음.
SDK에서 제공해주는 API들을 통해 구글 지도에 요청을 보낼 수 있음
JSON
API에서 클라이언트→서버로 보내는 ‘요청’과 서버
→ 클라이언트로 보내는 ‘응답’에서 요청과 응답을 할 때 담기는 데이터를 넣을 수 있는 ‘기능’이 있는데 이 기능의 ‘형식’중 가장 유명한 형식
퍼블리싱
HTML + CSS 작업 → 퍼블리싱
HTML(Hyper Text Markup Language) 작업 → 마크업
반응형 웹
브라우저의 가로넓이에 반응하여 구성 요소가 변하는 기술
하이브리드 애플리케이션
애플리케이션(네이티브) + 웹(브라우저)
MS SQL, Oracle DB, MySQL, MariaDB → 관계형 데이터베이스 관리 시스템
프레임워크(Framework)
개발에 필요한 요소들을 코드로 미리 만들어둔 것 (Apple - Cocoa, Google - Android Framework)
웹은 특정회사 소유가 아니기 때문에 웹 프레임워크 및 라이브러리는 여러 사람이 만듦 (Angular.js, React, Vue.js)
서버 또한 동일하며 각 언어별로 유명한 프레임워크들이 있음 (Ruby - Rails, Java - Spring, Python - django)
프레임워크는 한 프로젝트에서 하나만 사용 가능
라이브러리
다른 사람이 만들어놓은 코드를 이용한다는 측면에서 프레임워크와 비슷하지만, 프레임워크가 더 큰 개념 각종 라이브러리와 코드들이 모여 프레임워크가 됨.