데이터포맷, API, 클라우드(핵심내용)

jaegeunsong97·2023년 1월 11일
0

데이터포맷

  • JSON
    • 순수한 데이터 포맷 -> key-value로만 구성
    • method 담을 수 없음
    • 장점
      • 서로 다른 시스템간에 객체를 교환하기 좋음(가볍기 때문에)
  • XML
    • 열린태그, 닫힌태그로 이루어진 구조의 데이터 의미
    • 무거움 -> JavaScrpit Object로 변환하려면 복잡
    • sitemal.xml

API

  • 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자
  • 컴퓨터 사이에 있는 중계 계층을 의미
  • 장점
    • 제공자가 서비스의 중요한 부분을 드러내지 않아도 됨
    • 드러내고 싶은 부분만 드러낼 수 있음
    • 사용자는 서비스가 어떻게 구현되는지 앞 필요 없음 -> 필요한 정보만 받을 수 있음
    • OPEN API 사용하면 앱 개발 프로세스 단순화 -> 시간, 비용 절약
    • 사용자에게 영향없이 수정 및 변경 가능
    • 데이터를 한 곳에 모으기
    • 종류
      • private -> 내부적인 사용(서버-서버 통신)
      • public -> 요청수 제한, 모든사람 사용가능

클라우드, SaaS, IaaS, PaaS

  • 클라우드 -> '인터넷'을 통해 접근할 수 있는 [서버 + 소프트웨어 + 데이터베이스 + 등]
    • on premise -> 기업, 개인이 자체 시설 보유. 직접 유지관리
    • off premise -> 데이터 센터(공유사용)
  • SaaS(Software as a Service)
    • 인터넷을 통해 소프트웨어를 제공하는 방법(완제품 이라고 생각)
      • 구글 Docs
  • IaaS(Infrastructure as a Service)
    • 인프라를 제공(서버와 저장소) -> 빈방 주는 것과 비슷
    • 하나하나 전부 설치 해줘야함 -> 이식성 좋음 -> cost 상승
  • Paas(Platform as a Service)
    • 플랫폼을 제공 -> 빌트인 되어있는 방 -> 이식성 낮음 -> cost 낮음
    • IaaS보다는 제한적, 플랫폼에 종속
    • 1개 설치 후 다른 곳에 설치 해야함

도커, 컨테이너

  • Iaas + Paas 장점을 갖춘 것 -> 도커를 이용한 클라우드
  • 전통적 배포
    • 컴퓨터 1대에 하나의 OS설치 후 여러 프로그램 설치 -> App들이 서로 영향 줌
  • 가상화 배포
    • Hypervisor라는 하나의 시스템에서 가상 컴퓨터를 구동하게 하는 중간 계층
    • 컴퓨터 1대로 여러 App 가능
    • 단점
      • OS공유 안됨 -> 일일히 OS 설치 -> cost 증가
  • 컨테이너 배포
    • 코드와 모든 종속성을 패키징하는 소프트웨어의 표쥰 단위
    • 가상화 배포 X 5 의 App 실행 가능
    • 단점
      • OS공유 -> OS에 문제 에러 -> 구동중인 컨테이너 전부 에러
  • 도커
    • 컨테이너라는 경량 단위로 App을 실행하는 기능을 제공하는 '플랫폼'
    • 도커가 컨테이너를 만드는 과정
      • 도커파일 빌드 -> 도커이미지 생성 및 실행 -> 도커컨테이너 실행

정적 타입시스템의 필요성

  • 서비스의 안정성을 추구하기 위해서
  • 타입시스템 -> 언어의 기본 타입 또는 개발자가 정의한 타입을 기반으로 해당 타입의 언어와 연관시키는 매커니즘
    • 동적 타입 -> PHP, JS, PYTHON
    • 정적 타입 -> C, C++, JAVA
  • 정적 타입의 필요성
    • 명시적으로 파악
    • 예측이 불가능한 환경에서 막아줌(미리 대처)
    • 잔실수 막아줌
profile
블로그 이전 : https://medium.com/@jaegeunsong97

0개의 댓글