분류 전체보기97 아틸러리를 활용한 스트레스 테스트 msa 프로젝트를 하며 배웠던 개념인데 복습을 하고자 아틸러리 공식 문서에서 제공해주는 예제를 참고해 다시 정리해보도록 하겠다. 따라서 재밌는 시도 한 번 해보시길~ (내 컴퓨터 내에서 일어나는 요청에 대한 테스트이므로 완벽히 신뢰할 수 있는 결과를 얻을 수는 없다. 이것을 감안하고 진행해야 한다 ㅜ.) 아틸러리를 사용하는 이유?? 논리적 문제가 없는데 하드웨어 제약으로 서비스가 중단된다면 좀 당황스러울 것 같다. 서버마다 cpu가 다르기 때문에 수용할 수 있는 인원의 수에 차이가 발생할 수 있고 미리 스트레스 테스트를 해서 예측할 수 있는 툴이 아틸러리이다. 이렇게 미리 부하 테스트를 하면 서버가 얼마큼의 트래픽을 수용할 수 있는지, 더 수용하려면 어떻게 로드밸런싱을 하면 좋을 지, 사양을 업그레이드할.. 2024. 2. 28. [깊이 우선 탐색 DFS] 백준 11724 [깊이 우선 탐색 DFS]은 그래프 완전 탐색 기법 중 하나로 그래프의 시작 노드에서 출발해 탐색할 한 쪽 분기를 정해 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동해 다시 탐색하는 알고리즘이다. 깊이 우선 탐색은 실제 구현 시 재귀 함수를 이용하므로 스택 오버플로를 유의해야 한다! 깊이 우선 탐색은 단절점 찾기, 사이클 찾기, 위상 정렬 등에 응용하여 문제를 풀 수 있다. 깊이 우선 탐색의 핵심 이론 DFS는 한 번 방문한 노드를 다시 방문하면 안 되므로 노드 방문 여부를 체크할 배열이 필요하며, 그래프는 인접 리스트로 표현하겠다. 그리고 DFS의 탐색 방식은 후입선출 특성을 가지므로 스택을 사용하여 설명하겠다. 1.DFS를 시작할 노드를 정한 후 사용할 자료구조 초기화하기 원본 그래프를 인접리스.. 2024. 2. 27. [삽입 정렬] & [퀵 정렬] & [병합 정렬] & [기수 정렬] 삽입 정렬이란? 이미 정렬된 데이터 범위에서 정렬되지 않은 데이터를 적절한 위치에 삽입시켜 정렬하는 방식이다. 시간복잡도도 O(㎡)로 느린 편이지만 구현하기 쉽다! 선택 데이터는 현재 정렬된 데이터 범위내에서 정확한 위치에 삽입하는 것이 중요하다. 퀵 정렬이란? 기준값(피벗)을 선정해 해당 값보다는 작은 데이터와 큰 데이터로 분류하는 것을 반족해 정렬하는 방식이다. 기준값에 따라 시간 복잡도에 많은 영향을 미치고 평균 시간 복잡도(O(nlogn))이며 최악의 경우에는 시간 복잡도가 O(㎡)! -> 시간복잡도가 불규칙하며 운이 따르는 알고리즘임 ㅜ.ㅜ 따라서 피벗을 설정하는 것이 가장 중요하며 투 포인터(start, end)를 설정하여 피벗과 비교하며 정렬한다. 더보기 오름차순으로 정렬 42 32 24 6.. 2024. 2. 27. [선택 정렬] 백준 1427 선택 정렬이란? 대상 데이터에서 최대나 최솟값을 갖는 데이터를 선택하는 정렬이다. 선택 정렬은 구현 방법이 복잡하고, 시간 복잡도가 O(㎡)으로 효율적이지 않아 많이 사용하지는 않는다. 구현 방법은 최솟값 또는 최댓값을 찾고 남은 정렬에서 가장 앞에 있는 데이터와 swap하는 것을 반복하는 것이다. 예를 들어 최솟값을 기준으로 정렬할 때, 더보기 1 3 2 5 4 -> 1과 5 비교 -> 1이 더 작음 -> 그대로 둠 : 남은 정렬 3 2 5 4 1 3 2 5 4 -> 3과 2비교 -> 2가 더 작음 -> swap : 남은 정렬 3 5 4 1 2 3 5 4 -> 3과 5비교 -> 3이 더 작음 -> 그대로 둠 : 남은 정렬 5 4 1 2 3 5 4 -> 5와 4 비교 -> 4가 더 작음 -> swap 1.. 2024. 2. 27. 이전 1 2 3 4 5 6 7 8 ··· 25 다음