Spanning Tree - 신장 트리 노드의 갯수가 N개일때 모든 노드가 연결되어 있고 간선의 갯수가 N-1개인 트리를 Spanning Tree라고 한다. N개의 모든 노드가 연결되어있고 최소 갯수의 간선(N-1)을 가지기 때문에 Spanning Tree는 트리내에 사이클이 존재하지 않는다. MST (Minimum Spanning Tree) - 최소 신장 트리 MST는 Spanning Tree에서 사용된 간선의 가중치 합이 가장 작은 트리를 의미한다. 모든 노드를 최소한의 간선과 최소한의 비용으로 연결하는것을 말한다. 참고자료 [알고리즘] 최소 신장 트리(MST, Minimum Spanning Tree)란 - Heee's Development Blog Step by step goes a long way..
Install MongoDB Community Edition on macOS — MongoDB Manual Docs Home → MongoDB Manual MongoDB AtlasMongoDB Atlas is a hosted MongoDB service option in the cloud which requires no installation overhead and offers a free tier to get started.Use this tutorial to install MongoDB 7.0 Community Edition on macOS using www.mongodb.com Getting Started :: Spring Data MongoDB First, you need to set up a r..
Union-Find Union-Find 알고리즘은 서로소인 부분집합(그래프)을 표현하기 위한 알고리즘이다. union(x, y), find(x) 연산으로 이루어져 있으며 union(x, y)는 노드 x와 노드 y를 루트노드로 가지는 각 집합을 합하는 연산을 의미하고 find(x)는 x가 속한 집합의 루트노드를 확인하는 연산을 의미한다. Union-Find 알고리즘을 구현하기 위해서 필요한 자료구조는 각 노드의 부모노드를 저장하기 위한 배열이 필요하다. Union-Find 코드 public class Main { private static int[] parent; public static void main(String[] args) { parent = new int[N+1]; //union-find에 사용..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 기존코드 class Solution { //시작 좌표 private int sx, sy; //이동 변화값 배열 private int[][] dir = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; //노드 방문 기록 배열 private boolean[][] vis; //최소 시간 기록 변수 private int answer = Integer.MAX_VALUE; public void init(String[] maps) { for(int i=0; i
개요 프로젝트 통합테스트로 상품 구매에 대한 테스트를 진행하던 중 멀티스레드 환경에서 상품 구매 기능에 접근할 시 레이스 컨디션이 발생하는 문제를 인지할 수 있었다. 이러한 이유로 상품 구매 기능에 동시성 제어가 필요할 것이라고 생각했고 동시성 제어에 필요한 기술의 의사결정, 기술 적용, 테스트 코드 작성 및 회고를 진행하고자 한다. 동시성 처리가 필요한 이유 동시성 처리가 필요한 이유는 레이스 컨디션 발생에 있다. 레이스 컨디션이란 같은 자원(레지스터, 메서드)에 다수의 스레드가 동시에 접근해 값을 조작할때, 조작 순서가 보장되지 않아 잘못된 값이 저장되는 문제를 말한다. 레이스 컨디션의 가장 많이 알려진 예는 아래 코드라고 생각한다. 두 스레드가 동시에 count의 값을 증가시키려고 접근할때 coun..
상품 검색 API Version 1 (성능 개선 이전) 상품 검색 API Version 2 (성능 개선 이후) Test 1 t2.medium: amazon linux 2023 ami / 2vCPU / 4 GiB memory 10 users 30m duration Test 2 t2.medium: amazon linux 2023 ami / 2vCPU / 4 GiB memory 99 users 30m duration Test 3 t2.medium: amazon linux 2023 ami / 2vCPU / 4 GiB memory 1000 users 30m duration
EC2 내부의 자원 사용률을 보려면 직접 쉘스크립트를 작성해서 log를 찍어볼 수도 있지만, EC2에서 제공하는 CloudWatch를 사용하면 편하다. CloudWatch는 CPU Utilization의 경우 기본적으로 제공하지만 Memory 사용률을 측정하고싶다면 EC2 내부에 CloudWatch Agent를 설치하고 역할을 부여해주면 된다. 비용이 발생하긴 하지만 직접 쉘스크립트를 작성하는것보다 이 방법이 나은 것 같다. [ 참고자료 ] EC2에 CloudWatch Agent 사용하기 EC2에서 CloudWatch Agent를 설치하여 모니터링하는 것을 테스트해보겠습니다. medium.com