목록웹프로그래밍/이론 (11)

수학과의 좌충우돌 프로그래밍

[WEB] google이 만든 RPC, gRPC란

gRPC란 gRPC는 구글에서 개발한 어디서나 실행할 수 있는 오픈소스 고성능 RPC 프레임워크입니다. RPC는 Remote Procedure Call의 줄임말로 원격 프로시저 호출이라고 합니다. 이는 별도의 원격제어를 위한 코딩없이 다른 주소공간에서 함수나 프로시저를 실행할 수 있게 해주는 프로세스간 통신 기술입니다. 특히 MSA 구조에서 각각의 서버가 다른 언어와 프레임워크로 개발되었을 경우에도 RPC는 문제 없이 서버간의 통신이 가능해집니다. 또한 기존의 REST 방식의 경우에는, 표준이 없어 파라미터의 응답이 명시적이지 않았을 뿐 아니라 JSON 형태의 데이터를 Serialization하는 비용이 발생한다는 단점이 있었습니다. RPC는 이러한 문제점까지 해결하며 사용이 많아지고 있습니다. Stub..

웹프로그래밍/이론 2021. 6. 15. 01:28
[WEB] REST API 란

REST란 REST는 Representational State Transfer의 약자로 자원을 정의하고 자원에 대한 주소를 지정하는 방법 중 하나입니다. URI를 통해 자원을 명시하고 HTTP method를 통해서 동작을 정의합니다. 자세한 설계 방법은 아래에서 살펴봅시다. REST의 특징 동일한 인터페이스 HTTP 표준만 따른다면, 언어와 플랫폼에 종속되지 않습니다. 안드로이드, IOS, 웹에 종속되지 않습니다. Stateless 서버에서 상태정보를 따로 저장하고 관리하지 않습니다. 이로 인해 서버의 구현이 단순해집니다. Cacheable HTTP의 인프라를 그대로 사용할 수 있기 때문에 HTTP가 가진 캐시 기능을 사용할 수 있습니다. Self-descriptiveness (자체 표현 구조) REST..

웹프로그래밍/이론 2021. 6. 14. 18:40
[WEB] GraphQL, REST API의 대체?

GraphQL이란 GraphQL 는 Graph Query Language로 facebook에서 개발한 쿼리 언어입니다. GraphQL 은 기존의 REST API의 단점들을 보안하기 위해 나온 통신 규약으로 REST API와 많이 비교됩니다. REST API의 어떠한 문제점들을 보안하는지 알아봅시다. REST API의 한계 REST API는 간단한 서비스에는 문제가 없지만 서비스와 복잡해질수록 Over-Fetching 과 Under-Fetching 문제가 발생할 수 있습니다. 또한 여러 환경에 맞춰 API를 제공해야하는 것도 쉽지 않은 일입니다. 따라서 각 환경에 맞추다보니 비슷한 역할을 하지만 Endpoint가 다른 API가 많이 개발됩니다. Over-Fetching Over-Fetching은 클라이언트..

웹프로그래밍/이론 2021. 5. 31. 22:49
[WEB] URI vs URL vs URN 비교 분석

블로그를 포스팅하면서 URI와 URL이라는 단어를 사용할 일이 많았습니다. 하지만 그 때마다 적절하게 잘 선택을 하였는지, 그리고 정확하게 각각의 차이가 무엇인지 혼동되어 이를 정리해보고자 합니다. URI vs URL vs URN 각각에 대해서 알아봅시다. URI URI는 Uniform Resource Identifier의 약자로 해석하자면, 통합 자원 식별자라고 합니다. 인터넷의 우편물 주소 같은 것으로, 자원을 고유하게 식별하고 위치를 지정할 수 있습니다. URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닙니다. 다음과 같이 제 블로그의 URI도 앞에 http 프로토콜이 존재하죠. https://ssungkang.tistory.com/images/MSA.jepg 해당 ..

웹프로그래밍/이론 2020. 10. 19. 21:28