본문 바로가기

3

[자료구조] Stack과 Queue? (특징, 사용 사례, 예시) Stack(스택)스택(Stack)은 컴퓨터 과학에서 너리 사용되는 기본적인 자료구조 중 하나입니다. 스택은 데이터를 일시적으로 저장하기 위한 선형 구조로, 가장 마지막에 들어온 데이터가 가장 먼저 나가는 '후입선출'(LIFO, Last In First Out)의 특성을 가지고 있습니다. 이러한 특성 때문에 스택은 데이터의 역순 저장, 실행 취소 기능 등에 유용하게 사용됩니다.   특징후입선출(LIFO) 특성: 스택에 데이터를 추가하거나 제거할 때, 항상 스택의 맨 위에서만 작업이 이루어집니다. 이는 책을 쌓아 올린 후 가장 위에 있는 책을 먼저 꺼내는 것과 유사합니다.용도: 스택은 프로그램에서 함수 호출과 반환 주소를 관리하는 데 사용되며, 괄호 검사, 역순 문자열 생성, 웹 브라우저의 뒤로 가기 기능 .. 2024. 4. 30.
[MQTT] MQTT란? (개념, 특징, 장단점, 사용 사례) MQTT (Message Queuing Telemetry Transport)는 경량의 메시징 프로토콜로, IoT(Internet of Things) 기기 간의 효율적이고 간단한 메시지 교환을 목적으로 설계되었습니다. 199년 IBM에 의해 개발되었으며, 네트워크 대역폭이 제한적이거나, 하드웨어 자원이 부족한 환경에서도 높은 성능을 제공하기 위해 만들어졌습니다.  핵심 개념퍼블리시/서브스크라이브 모델(Publish/Subscribe): MQTT는 중앙 서버(브로커)를 통해 메시지를 교환합니다. 메시지 발행자(Publisher)가 특정 주제(Topic)에 메시지를 발생(Publish)하면, 해당 주제를 구독(Subscribe)한 모든 수신자(Subscriber)에게 메시지가 전달됩니다. 이 모델은 일대일, .. 2024. 4. 17.
[아파치 카프카] Kafka란? (개념, 특징, 장단점, 면접 대비) Kafka는 LinkedIn에서 개발되어 현재는 Apache Software Foundation이 관리하는 오픈 소스 스트림 처리 플랫폼입니다. 대량의 데이터를 실시간으로 처리하고, 저장하며, 이동시키는 데 사용되는 분산 메시징 시스템입니다. 카프카는 고성능, 확장성, 내구성, 신뢰성을 제공하며, 여러 소스에서 대량의 데이터를 수집하고 여러 시스템으로 데이터를 전달하는 역할을 합니다.   주요 개념프로듀서(Producer): 데이터를 생성하고 카프카 시스템에 전송하는 역할을 합니다.컨슈머(Consumer): 카프카로부터 데이터를 읽어가는 역할을 합니다.브로커(Broker): 카프카 서버의 노드를 의미하며, 프로듀서로부터 메시지를 받아 저장하고 컨슈머에게 메시지를 전달합니다.토픽(Topic): 메시지의 분.. 2024. 3. 29.