CS 3

미들웨어와 요청 생명주기 (Middleware & Request Lifecycle)

Middleware란 무엇인가?미들웨어는 서로 다른 애플리케이션이 서로 통신하는 데 사용되는 소프트웨어다.미들웨어는 더욱 빠르게 혁신할 수 있도록 애플리케이션을 지능적이고 효율적으로 연결하는 기능을 제공한다.단일 시스템에 원활하게 통합할 수 있도록 다양한 기술, 도구, 데이터베이스 간에 다리 역할을 한다. 예를 들어 Windows 프론트엔드 애플리케이션은 Linux 백엔드 서버에서 데이터를 송수신하지만, 애플리케이션 사용자는 그 차이를 인식하지 못한다. 출처: aws Middleware가 중요한 이유는?미들웨어는 새 애플리케이션과 레거시 시스템 사이를 잇는 다리 역할로 시작했다가 1980년대에 인기를 얻게 되었다. 개발자는 처음에 미들웨어를 사용하여 초기 코드를 다시 쓰지 않고도 새 프로그램을 초기 시스..

CS 2026.01.19

Kruskal 알고리즘 이해하기

가중치 그래프(MCST)간선에 가중치가 부여된 그래프를 가중치 그래프라고 한다.최소 비용 신장 트리신장 트리 비용은 신장 트리를 구성하는 간선들의 가중치를 합한 것을 말하고, 이 비용이 최소가 되는 신장 트리를 "최소 비용 신장 트리"라고 한다. 최소 비용 신장 트리 알고리즘에는 대표적으로 Kruskal Algorithm이 있다. Kruskal Algorithm (크루스칼 알고리즘)방법한 번에 하나나의 간선을 선택하되 비용이 가장 작은 간선을 택하여 최소 비용 신장 트리 T에 추가한다.(n개의 정점을 가진 그래프 G의 간선의 집합 E(G)로부터 n-1개의 간선을 선정하는 것임)비용이 가장 작은 간선을 선정하되, 이미 T에 포함된 간선들과 사이클이 만들어지는 것은 제외시킨다.비용이 같은 간선들은 임의의 ..

트리와 이진 트리

트리(tree)의 기본 개념트리는 계층형 자료구조(hierarchical data structure)이다.하나의 노드는 그 자체로 트리이며 이 노드 또한 이 트리의 루트(root)이다. 만일 n이 노드이고 T1, T2, T3, ..., Tk가 트리로서 n1, n2, n3, ..., nk를 각각 루트 노드로 가지고 있다고 할 때 n을 부모로 n1, n2, n3 ..., nk를 연결하면 새로운 트리가 만들어진다.여기서 n은 루트(root)이고, T1, T2, T3, ..., Tk는 루트 n의 서브 트리(subtree), 노드 n1, n2, n3, ..., nk는 노드 n의 자식들(children)이다. 용어 및 개념 정리노드(node) : 데이터 필드 + 링크 필드노드의 차수(degree)한 노드가 가지고 ..