이론 정리/인프라 15

API프로토콜(REST, gRPC, GraphQL)에 대해

API는 왜 중요할까? 추상과 구체를 분리하여 지금 당장 중요하지 않은 것들에 종속되지 않으면서 기능을 사용할 수 있다. REST API 특징 리소스 중심으로 API가 구성된다. HTTP Method를 통해 Action정의 JSON, XML등을 사용한다. 장점 학습과 사용이 쉽고, 자유도가 높아 원하는 대로 사용이 가능하다. 단점 API가 자주 바뀌게 된다. -> Type, field내용 등의 변경이 잦을 수 있음. 버저닝(Versioning) 명세 찾기가 어려움 죽은 문서 개발 종속성 인터페이스 정의 언어(Interface Description Language : IDL) 소프트웨어 컴포넌트의 인터페이스를 묘사하긴 위한 명세 언어 IDL은 어느 한 언어에 국한되지 않는 언어 중립적은 방법으로 인터페이스..

OSI7계층

1계층 물리 계층(Physical Layer) 먼저 두 대의 컴퓨터가 어떻게 통신하는지부터 생각해 보면 모든 파일과 프로그램은 0과 1의 나열이고, 결국 0과 1만 주고받을 수 있으면 통신이 가능하다는 것이다. 두 대의 컴퓨터 간 통신 두 대의 컴퓨터를 전선 하나로 연결한다 생각하면 1을 보낼 때는 +5V 0을 보낼 때는 -5V 이렇게 흘려보내면 0과 1의 전송이 가능해진다. 그래서 이제 0과 1을 주고받을수 있으므로 두 컴퓨터는 모든 데이터의 통신이 가능하다. 그런데 이게 실제로는 잘 동작하지 않았다. 이렇게 X축은 시간, Y축은 전압을 갖는 Sin함수가 있다고 생각해 보았을 때 그래서 이렇게 +5, -5의 전압을 갖는 애들을 주고받을 텐데... 1초동안 몇번의 주파수가 있는지 세어보면 총 4번 진동할..

TCP/UDP

Transport Layer Endpoint간 신뢰성있는 데이터 전송을 담당하는 계층이다. 말하자면 클라이언트 - 서버 간 원하는 포트 번호에 해당하는 프로세스에 데이터를 순차적으로, 안정적으로 전달하는 것을 담당한다. 만약 이 전송 계층이 없다면 어떤 일이 발생할까? 데이터 신뢰 불가능 송신자가 요청한 데이터와 수신한 데이터가 서로 다를 수 있다. (1,2,3 요청 -> 2,3,1 수신) 흐름 문제 송/수신자 간 데이터 처리 속도의 차이 때문에 수신자가 처리할 수 있는 데이터량을 초과하게 되는 문제가 발생할 수 있다. 만약 수신자가 처리할 수 있는 데이터를 초과해서 계속 요청이 온다면 문제가 발생할 것이다. 혼잡 문제 네트워크가 혼잡하거나 뭔가 문제가 있을 때에 송신자가 보냈는데 제대로 데이터가 들어가..

네트워크 인프라 기초 공부 및 정리

IT인프라, 왜 알아야 할까?? 어플리케이션을 동작시키기 위해서는 다양한 요소들에 대한 고민이 필요하다. 이 때 우리는 시스템을 크게 기능적 요구사항과 비기능적 요구사항으로 나누어 생각해볼 수 있는데, IT인프라 환경은 비기능적 요구사항에서 중요한 역할을 차지한다. 어플리케이션 개발에 있어서는 크게 기능적 요구사항 / 비기능적 요구사항 에의 고민이 필요하다. 기능적 요구사항 시스템이 무엇을 해야 하는지에 대한 정의 시스템이 수행해야 하는 기능 기술 세부정보 데이터 조작 및 처리 등등... 비기능적 요구사항 대체적으로 품질이나 속성에 대한 내용 인프라는 비기능적 요구사항과 밀접한 관련을 가지고 있다. 제품 요구사항 시스템이 얼마나 빨리 실행되고, 얼마나 많은 CPU나 메모리가 존재해야 하는지? 장애가 났을..

네트워크 입문 001

네트워크 시작하기 물리적 연결부터 네트워크 모든 것의 이론적 기반이 되는 OSI7계층, 그리고 패킷이 실제로 전송되는 인캡슐레이션(Encapsulation, 캡슐화) 과정까지 간단히 알아본다. 네트워크 구성도 살펴보기 네트워크는 크게 서비스를 받는 입장과 서비스를 제공하는 입장으로 나뉜다. 서비스를 제공하는 입장에서는 네트워크에 접속한 구성원 수, 필요한 네트워크 속도에 따라 여러 상황을 고려해야 한다. 홈 네트워크 홈 네트워크의 구성은 어떤 인터넷 회선을 연결하더라도 같다. 홈 네트워크를 구성하는 데는 모뎀, 공유기, 단말 간에 물리적 연결이 필요하다. 무선 연결은 무선 랜 카드와 무선 신호를 보낼 수 있는 매체(공기)가 필요하다. 유선 연결은 유선 랜 카드, 랜 케이블이 플요하다. 프로토콜 네트워크에..