◆ XML (Extensible Markup Language)

  • 계층 구조로 구성된 데이터를 표현하기 위한 형식입니다.
  • XML은 태그를 사용하여 데이터 요소를 정의하고, 각 요소는 중첩되거나 속성을 가질 수 있습니다.
  • 또한 XML은 사용자가 직접 요소를 정의할 수 있는 확장성을 가지고 있습니다.
  • 예를 들어, HTML은 XML의 일종으로, 웹 페이지를 작성할 때 사용됩니다.

장점

  • 매우 유연하고 다양한 데이터 유형을 처리할 수 있습니다.
  • 데이터를 문서 형태로 표현할 수 있어 가독성이 좋습니다.

단점

  • XML은 태그가 많아지면 불필요한 코드가 많아질 수 있습니다.
  • 처리 속도가 느릴 수 있습니다.

◆ JSON (JavaScript Object Notation)

  • 데이터를 표현하기 위한 경량 형식입니다. - JSON은 객체, 배열, 문자열, 숫자, 불리언, null 값을 포함할 수 있습니다.
  • JSON은 객체를 중첩할 수 있으며, 키-값 쌍의 형태로 데이터를 표현합니다.
  • JSON은 웹 애플리케이션에서 데이터를 교환하기 위해 주로 사용됩니다.

장점

  • 매우 간단하고 처리 속도가 빠릅니다.
  • JavaScript에서 데이터를 쉽게 다룰 수 있으므로, 웹 애플리케이션에서 많이 사용됩니다.

단점

  • 데이터 유형이 제한적입니다.
  • 데이터를 문서 형태로 표현할 수 없어 가독성이 좋지 않습니다.

* 데이터/XML(태그기반)/JSON(자바스크립트 객체) 차이 11시 01분 이전
2) XML은 자료형이 문자열만 가지고 있다.
장점 : 태그(선택자 사용 가능)
단점 : 태그(용량과다, 자료형 불분명)

3) JSON

  • {} : 객체 표시
  • [] : 배열 표시
    이름도 문자열로 표시해야 한다.
    자료형은 문자열, 숫자, 논리형을 사용 가능하다.
    장점 : 경량, 자료형 인식
    단점 : 복잡하면 오히려 어렵다.

마이크로서비스
: 간단하게 여러 개 만드는 것
모놀식
: 복잡하게 여러 개 만드는 것

◆ 소프트웨어 아키텍처 디자인 패턴

  1. SOA (Service Oriented Architecture)
  • 서비스 지향 설계
  • 주소를 설계할 때 서비스를 알 수 있도록 설계
  • 소프트웨어 시스템을 작은 단위의 독립적인 서비스들로 나누어 각각의 서비스들이 상호작용하도록 설계합니다.

장점

  • 시스템 전체의 유연성과 재사용성이 향상됩니다.
  • 시스템을 더욱 쉽게 확장하고 유지보수할 수 있게 됩니다.

단점

  • 서비스들 간의 결합도가 높아질 수 있고, 복잡성이 증가할 수 있습니다.
  1. ROA (Resource Oriented Architecture)
  • 자원 지향 설계
  • AJAX를 위한 백엔드 설계
  • 어떤 자원에 무슨 작업을 하는지를 알 수 있도록 설계
  • 소프트웨어 시스템을 RESTful 웹 서비스로 설계합니다.
  • 자원(resource)을 중심으로 구성되며, 각 자원들은 고유한 URI를 가지고 있습니다. 이러한 자원들은 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 조작됩니다.

장점

  • 시스템의 자원들을 표준화된 방법으로 공개하고, 시스템의 상태 전달이나 세션 관리 등의 복잡한 문제를 해결할 수 있습니다.
  • ROA는 단순한 URI와 HTTP 메서드로 이루어져 있어, SOA보다 더욱 단순하고 직관적인 설계가 가능합니다.

단점

  • 대규모 시스템에서 관리하기 어렵습니다.

◆ REST API 컨트롤러

  • 주소는 같을 경우 전송 방식으로 구분할 수 있다.

  • 전송 방식 종류
    get(조회)
    post (등록)
    delete(삭제)
    put(수정)

  • 등록/수정/삭제를 비동기로 할 경우에 목록을 비동기로 작성한다.

  • 비동기는 데이터를 긁어갈 수 없고,
    동기 통신은 데이터를 긁어갈 수 있다.

profile
Backend Developer

0개의 댓글