개요 이번 포스팅에서는 AWS Lambda(이하 람다)에서 AWS SQS에 생산한 메시지를 보내고, SQS에서 받은 메시지를 다른 람다에서 소비하는 과정을 기록하겠습니다. 람다와 SQS에 대한 기본 설명은 생략합니다. 1. AWS SQS 대기열 생성하기 먼저 실습을 위해 메시지를 주고 받을 SQS 대기열을 생성합니다. 다른 설정은 모두 기본 셋팅값으로 하여도 무방합니다. 액세스 정책 또한 람다에서 호출하기 때문에 별다른 설정이 필요 없습니다. 2. 메시지 Producer AWS Lambda(람다) 생성하기 실습을 위해 사용할 람다 함수를 선언합니다. 람다 함수의 이름과 런타임을 지정해줍니다. (이 포스팅에서는 Node.js 12.x로 진행하였습니다.) 함수가 생성되면 다음과 같은 코드를 실행하여서, 람다..
그래프와 DFS BFS에 대한 설명은 이전 포스팅을 참고 ☞ 그래프(Graph)와 BFS, DFS 그래프(Graph) 구현하기 그래프를 구현하는 방법은 크게 2가지가 있습니다. 인접 행렬(adjacency matrix)로 구현하는 방법과 인접 리스트(adjacency list)로 구현하는 방법이 있습니다. (간선(edge)이 많은 경우 인접 행렬(adjecency matrix)로 구현하는 것이 좋고, 아닌 경우 인접리스트로 구현하는 것이 유리하다 라고 알고 있습니다만 간선이 '많다'의 기준을 저는 잘 모르겠습니다. 공부해야 할 영역입니다.) 이 포스팅에서는 인접 리스트로 구현해 보도록 하겠습니다. 인접 리스트(adjacency list)로 그래프 구현하기 노드(정점)들의 연결 관계를 어떤 식으로 저장해 ..
그래프(Graph) 그래프란 여러 객체들과 그 객체들 간의 연결된 관계를 표현하는 방법 입니다. 친숙한 예제로 지하철 노선도를 생각해보시면 됩니다. 여러 지하철역들과 그 역들 간의 연결된 관계를 표시 해줍니다. 그래프에서 각 객체ㅁ들을 정점(vertex) 혹은 노드(node)라고 많이 부르고, 이들을 연결하는 선들을 간선(edge-엣지) 라고 부릅니다.이미지 출처 : https://www.geeksforgeeks.org/graph-data-structure-and-algorithms/ BFS(Breadth First Search)그래프의 모든 노드들을 한번 씩 탐색하기 위한 방법 중에 하나입니다. 말그대로 너비(Breadth)를 우선(First)으로 탐색(Search)하는 방법입니다. 시작점이 되는 노드..