본문 바로가기

728x90
반응형

CS

(9)
메시징 시스템 메시징 시스템(Message System)이란 서로 다른 Application 끼리 정보 교환하기 위해 메시지의 생성, 전송, 전달 및 저장을 가능하게 하는 시스템을 말한다. 이러한 시스템은 주로 하나의 어플리케이션이 여러 외부 어플리케이션이나 하나 이상의 데이터 소스로부터 데이터를 받는 어플리케이션에 의해 처리된 데이터를 전달받고 싶을 때 사용한다. 여기서 메시지란 하나의 entity에서 다른 하나의 entity로 정보를 전송하는 데 사용되는 통신 아티팩트이다. 대표적인 메시징 시스템으로는 Kafka, RabbitMQ, Active MQ, AWS SQS, Java JMS 등이 있다. 메시징 시스템은 고전적인 분산 컴퓨팅 모델에 비해 여러 장점들을 제공한다. 1. 메시지 생산자(Message Produc..
[컨테이너] 개요 컨테이너란? 소프트웨어를 실행하기 위한 표준화된 방법으로, 애플리케이션과 해당 애플리케이션을 실행하는 환경을 포함하는 격리된 공간이다. 이를 통해 애플리케이션은 호스트 시스템과 독립적으로 실행되고, 호스트 시스템의 운영체제와 하드웨어를 공유할 수 있다. 특징 가볍고 빠른 생성 및 실행 필요따른 쉬운 확장 격리된 환경이 제공되어 한 컨테이너의 애플리케이션이 다른 컨테이너에 영향을 미치지 않게 보장 가상화 가상화 기술을 사용하여 여러 애플리케이션과 프로세스를 동일한 호스트 시스템에서 동작하도록 격리한다. 이를 통해 애플리케이션과 필요한 종속성, 라이브러리, 설정 등을 하나의 컨테이너로 패키징 할 수 있다. 이러한 패키지는 이식성이 뛰어나고, 다른 환경에서도 동일한 방식으로 실행 될 수 있다. 컨테이너 이미지..
[알고리즘] BFS, DFS 그래프(Graph) 그래프는 노드(Node)와 간선(Edge)으로 이루어진 자료구조로, 객체 간의 관계를 표현하는 데 사용된다. 그래프는 다양한 형태로 표현될 수 있으며, 일반적으로 인접 행렬(Adjacency Matrix)과 인접 리스트(Adjacency List)로 구현된다. 인접 행렬(Adjacency Matrix) 인접 행렬은 2차원 배열로 그래프를 표현하는 방식이다. 그래프의 노드 수를 N이라고 할 때, N x N 크기의 행렬을 생성하고, 각 행렬 요소에 노드 간의 연결 여부를 저장한다. 인접 행렬은 노드 간의 연결 여부를 상수 시간(O(1))에 확인할 수 있어서 빠른 검색이 필요한 경우 유용하다. 하지만 그래프의 크기가 크면 공간 효율성이 떨어질 수 있다. 인접 리스트(Adjacency Lis..
[자료구조] 트리 트리란? 트리는 계층적인 구조를 가지며, 여러 개의 노드(node)로 이루어진 비선형 자료 구조이다. 노드(Node) 트리의 기본 요소로서 데이터와 다른 노드와의 관계 정보를 가지고 있다. 각 노드는 하나의 데이터를 포함하고 있으며, 노드 간에는 부모(parent)와 자식(children) 관계가 있다. 루트(Root) 트리의 가장 상위에 위치한 노드로, 모든 다른 노드는 루트로부터의 경로를 통해 접근할 수 있다. 부모와 자식(Parent and Children) 트리에서 부모 노드는 자식 노드를 가리키는 관계를 가지고 있다. 부모 노드는 자식 노드보다 상위에 있으며, 자식 노드는 부모 노드에 의해 직접적으로 연결된다. 가지(Branch) 부모 노드와 자식 노드 사이의 연결을 나타내는 선이다. 각 노드는..
[자료구조] 리스트 리스트(List) 데이터 요소들을 순서대로 저장하는 자료구조이다. 배열 또는 동적 배열로 구현될 수 있다. 인덱스를 사용하여 각 요소에 접근할 수 있다. # 리스트 from typing import Any class List: def __init__(self,size:int)->None: self.size = size print(f"{self.size} 크기의 리스트 생성!") self.__container = [None] * self.size def getter(self,index:int)->Any: return self.__container[index] def setter(self,item:Any,index:int)->None : self.__container[index] = item def add(..

728x90
반응형