공부40 apache kafka 개념 정리 kafka는 아마 가장 유명한 스트리밍 플랫폼 중 하나 일 것입니다. 여러모로 사용은 해봤지만 아직 개념적으로 부족한 부분이 많은 듯하여 처음부터 다시 정리해봅니다. 1. Apache Kafka의 간단한 정리 kafka는 분산 스트리밍 플랫폼이라고 합니다. 여기서 분산은 위의 그림처럼 여러 서버 혹은 데이터 센터에 클러스터로 설치 가능하다는 것을 말하며 스트리밍 플랫폼은 데이터 레코드 스트림을 처리할 수 있는 플랫폼이라는 것을 뜻합니다. 쉽게 말하자면 실시간으로 생기는 스트리밍 데이터를 분배할 수 있는 플랫폼 이라고도 할 수 있습니다. 이러한 특성 때문에 대체적으로 실시간 데이터 파이프라인 등 스트리밍 데이터 위주로 사용됩니다. 또한 3가지 특징을 가지고 있습니다. 높은 확장성(scalability)과 .. 2021. 6. 3. [네트워크] TCP/UDP 간단 정리 TCP와 UDP 많이 들어보는데 잘 모르겠어서 공부 겸 정리합니다. 일단 TCP와 UDP는 통신을 위한 프로토콜의 종류입니다. 동일한 두 개의 노드가 통신을 한다고 했을 때 같은 데이터를 보내는 방식만 다른 것입니다. 바로 차이점부터 보겠습니다. TCP UDP 연결형 프로토콜 - 연결 설정 후 통신 가능 비연결형 프로토콜 - 연결 설정 없이 통신 가능 신뢰성 있는 데이터 전송 - 전송 실패 시 재전송 신뢰성 없는 데이터 전송 - 전송 실패 알 수 없음 일대일 통신 일대일 통신 및 일대다 통신 데이터 경계를 구분하지 않는 Byte-Stream 서비스 데이터 경계를 구분하는 Datagram 서비스 1. 연결형과 비연결형 연결형 : 두개의 노드가 연결된 것이 확인되지 않는 이상 데이터를 전송하지 않습니다. 비.. 2021. 5. 30. RESTful API 개념 정리 일단 API 라는 단어는 많이 들어보셨겠지만 간단하게 정의만 집고 넘어가겠습니다. API 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트로, 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)를 나타냅니다. API를 사용하면 구현 방식을 알지 못해도 제품 또는 서비스가 서로 커뮤니케이션할 수 있으며 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있습니다. 출처 : https://www.redhat.com/ko/topics/api/what-are-application-programming-interfaces API는 알겠는데 그럼 RESTful 은 뭘까요? REST는 Representational State Transfer 의 줄.. 2021. 5. 29. [알고리즘 공부] 5. Quick Sort (퀵 정렬) Quick Sort(퀵 정렬)은 특정 원소를 Pivot으로 잡습니다. 그 후 Pivot을 기준으로 작은 원소는 왼쪽으로 큰 원소는 오른쪽으로 보낸 뒤 Pivot을 이동 시킵니다. 다만 제가 이리저리 검색하면서 공부해본 결과 퀵 정렬의 기본은 딱 여기까지이고 이후 Pivot 설정문제나 이후 정렬 방식 등에 따라 많은 버전이 존재합니다. 이 말은 곧 Pivot을 어떻게 잡아주느냐에 따라서 알고리즘의 효율이 결정된다는 말이기도 합니다. 일반적으로 퀵 정렬은 시간 복잡도 O(n log n)을 가지고 있으나 최악의 경우 O(n^2)을 가지기도 합니다. 이 글에서는 가장 간단한 퀵 정렬 방식 중 하나인 로무토 파티션 버전을 기준으로 설명 및 코드를 짜겠습니다. 위의 방식을 재귀적으로 반복하면 정렬이 되겠죠? 하지만.. 2021. 5. 26. 이전 1 2 3 4 5 6 7 8 ··· 10 다음