티스토리 뷰

책 내용 요약 - 신입 개발자에게도 추천하고 싶은 책, 실무에 유용한 내용, 적절한 비유를 통한 개념 설명

 

  • 기본적으로 클라/서버, 프론트/백, API/JSON/SDK 와 같은 기본적인 개념을 알아야 개발자의 대화를 이해할 수 있다.
  • API 문서가 제일 중요하다. 이걸 볼 수 있어야 개발자와 협업이 가능하다. (문서 작성 서비스는 gitbook 추천)
  • 앱 출시를 하려면 마켓과 심사가 무엇인지, 웹/앱이 무엇인지, 앱의 종류에는 무엇이 있는지는 알아야 한다.
  • 기존에 모든 산업들은 IT 산업으로 대체되고 있다. 어떤 일을 하든 IT 지식을 알아두는게 유용하다.

 


 

클라이언트와 서버

식당 고객 = 클라이언트 = 무언가를 달라고 하는 컴퓨터, 스마트폰 (서비스를 사용하는 사용자의 컴퓨터)

종업원 = 서버 = 무언가를 주는 24시간 동작하는 컴퓨터

 

- 클라이언트는 서버에게 계속 무언가(파일)를 달라고 한다. '일을 맡긴 사람'을 뜻한다

- 개발자의 세상에서 클라이언트는 대부분 컴퓨터이다. 즉, 서비스를 사용하는 사용자들이 소유한 컴퓨터, 스마트폰이다

 

고객의 바로 앞에 있는 이 컴퓨터를 다른 말로 '프론트 엔드'라고 표현한다.

반면, 서버는 고객이 볼 수 없는 곳(뒤)에 있다. 그래서 서버를 다른 말로 '백 엔드' 라고 부른다.

 

- '클라이언트', '클라', '프론트 엔드', '프론트' 모두 같은 말로 고객의 컴퓨터를 뜻 함

- '서버', '백 엔드', '백' 이 또한 모두 주는 컴퓨터라는 뜻으로 쓰임

 

 

API 와 JSON

- API : 소프트웨어가 다른 소프트웨어를 쓰기 위한 체계

- JSON : 클라이언트가 서버 API 를 요청하고 응답을 주고받을 때 사용하는 데이터 형식

- SDK(Software Development Kit) : API를 제공해주는 다른 소프트웨어(도구)

- API 문서를 볼 수 있어야 개발자와 커뮤니케이션이 가능함. API 문서 작성 서비스는 GItBook 을 추천

 

 

어플리케이션과 웹

  어플리케이션(앱)
사용자 설치 방법 서버에서 설치 파일을 받아서 설치 설치 필요 없음 (브라우저만 필요)
사용자 업데이트 방법 1) 새로 코딩한 앱을 마켓 업로드 (심사 필요)
2) 사용자들이 각각 버전 업데이트
원본 파일을 수정된 파일로 서버에서 교체
인터넷 필요 여부 필요 없거나 부분적으로 필요 필수
동작하는 환경 운영체제 (OS)
- PC : 윈도우, macOS, 리눅스
- 모바일 : 안드로이드, iOS
브라우저
- IE, 크롬, 파이어폭스, 사파리

- 반응협웹 : 모바일 크기에 맞는 웹 페이지를 따로 만드는 불편함을 해결하기 위해 등장한 기술로 브라우저의 가로 넓이에 '반응'하여 화면 구성 요소가 변하는 기술 (CSS, bootstrap)

 

애플리케이션의 종류

- 네이티브 애플리케이션 : 운영체제가 원래 정해놓은 언어들을 사용해 개발 된 애플리케이션 (카카오톡)

- 모바일 웹 앱 : 애플리케이션의 특정 부분에 '브라우저'를 올리는 방식으로 실제 웹을 보여줌 (은행앱)

- 하이브리드 애플리케이션 : 네이티브와 브라우저가 혼합된 애플리케이션 (네이버)

 

 

데이터베이스와 이미지 처리

데이터베이스

- 데이터란 쇼핑몰의 회원명, 아이디, 상품명, 가격 등을 의미함

- 데이터가 조금 망가지는게 무슨 문제가 될까? 1,000,000명 중 한명의 돈이 없어지는 은행은 존재할 수 없음

- 이런 속성을 데이터의 '무결성' 이라고 하며 데이터는 1%의 결점도 없어야 하기 때문에 데이터를 다루는 건 까다롭고 어려운 일

- 그래서 등장한게 관계형 데이터베이스 관리 시스템(RDBMS)으로 가장 많이 사용됨 (MS SQL, Oracle DB, MySql 등)

 

이미지는 클라가 들고 있다?

- 클라이언트도 자체적인 데이터베이스를 가지고 있어 데이터를 저장할 수 있음

- 이미지를 교체하는 방법

  - 앱 로컬에 있는 이미지 : 이미지가 변경된 앱을 마켓에 업로드 (그 데이터는 로컬/내부 DB/네이티브에 있어요)

  - 서버에서 실시간으로 받아오는 이미지 : 서버의 이미지를 교체

- 이런 구분은 API 문서를 보면 알 수 있음

 

 

프레임워크와 라이브러리

프레임워크는 던킨도너츠이다

- 도넛 가게를 직접 창업하는 것보다 프렌차이즈로 들어가는 것이 훨씬 빠름

- 도넛은 물론 포스 단말기, 디자인, 브랜드, 가구 등을 모두 제공받을 수 있음

- 즉, 프레임워크를 사용하면 프로젝트를 쉽고 빠르게 개발할 수 있음

- 애플은 앱스토어에 좋은 앱들이 올라오길 바라기 때문에 프레임워크를 제공함 (좋은 앱들이 많으면 이를 사용하기 위해 아이폰을 구매할테니)

 

프레임워크와 라이브러리

- 다른 사람들이 만들어놓은 코드를 이용한다는 측면에서 프레임워크와 같음

- 프레임워크가 더 큰 개념으로 각종 라이브러리와 코드들이 모여 프레임워크가 됨

- 한 프로젝트에서 프레임워크는 하나만 쓸 수 있음 (한 자동차를 운전하면서 동시에 다른 자동차를 운전할 수 없는 것과 같음)

- 라이브러리는 더 작은 개념으로 망치나 가위 같은 도구들이기 때문에 한 프로젝트에서 함께 사용이 가능함

 

 

아웃트로 (어디서 일을 해도 IT 지식은 필요합니다)

유선전화는 휴대폰으로 시작해서 컬러폰에서 스마트폰까지 등장했고 카메라 화소가 좋아지더니 디지털 카메라, 심지어 캠코더 시장까지 잠식하기 시작했습니다. 이후 게임기, 계산기, 알람시계 등 다양한 영역을 흡수해 나갑니다. 이제 스마트폰으로 못할 일이 없습니다. 이것이 20년만에 생긴 변화입니다. 

IT는 상어 같습니다. 다른 산업군을 가만히 두지 않습니다. 과거에 시계는 시계 회사들의 전유물이었습니다. 허나 이제는 삼성과 애플, 샤오미에서 시계가 나옵니다. 또한 택시 업계로 금융과 유통 업계로 계속 뻗어나가고 있습니다. 앞으로는 무슨 변화가 있을까요? 어떤 혁신이 있을까요? 누군가는 드론이라고 얘기하고, 누군가는 블록체인, 누군가는 AR이나 VR, 누군가는 AI 라고 얘기합니다. 어떤 기술일지는 모르지만 그 모든 기술은 기존 산업들을 가만히 두지 않을 것이라는 점은 분명합니다.

 

 

 

http://www.yes24.com/Product/Goods/91165789
댓글