마이크로서비스 아키텍처(MSA)에서 모듈 간 통신 방법
·
면접
마이크로서비스 아키텍처(MSA)는 각각의 독립적인 서비스들이 서로 협력하여 전체 시스템을 구성하는 구조입니다. 이러한 서비스들 간의 통신은 MSA의 핵심 요소 중 하나이며, 이를 효율적으로 설계하는 것이 중요합니다. 이번 블로그 글에서는 MSA에서 각 모듈 간 통신 방법에 대해 자세히 설명하겠습니다.1. 동기 통신 (Synchronous Communication)1.1 HTTP/REST가장 일반적인 통신 방법으로, RESTful API를 사용하여 서비스 간 HTTP 요청과 응답을 주고받습니다. 장점: 간단하고 이해하기 쉬움, 웹 표준 사용단점: 높은 레이턴시, 네트워크 장애 시 서비스 중단 가능성 HTTP/REST는 대부분의 웹 애플리케이션에서 사용되는 방식으로, 서비스 간의 데이터를 주고받는 데 있어 ..
서버로 파일을 전송하는 여러가지 방법
·
면접
파일 전송은 서버와 클라이언트 간의 중요한 기능 중 하나입니다. 다양한 방식으로 파일을 전송할 수 있으며, 각각의 방식은 특정한 요구 사항과 상황에 맞게 선택될 수 있습니다. 아래에서는 여러 가지 파일 전송 방법에 대해 자세히 설명합니다.HTTP 파일 업로드HTML Form과 multipart/form-data를 이용한 전송HTML 폼을 사용하여 파일을 업로드하는 가장 일반적인 방법입니다. 이 방식은 multipart/form-data 인코딩 타입을 사용하여 파일을 전송합니다. 클라이언트는 파일을 포함한 폼 데이터를 서버로 전송하고, 서버는 이를 받아 처리합니다. REST API와 파일 업로드 라이브러리 사용REST API를 통해 파일을 업로드하는 방법입니다. 서버에서는 파일 업로드를 처리하기 위해 Mu..
버블 정렬, 선택 정렬, 삽입 정렬 비교
·
Algorithm/Theory
정렬 알고리즘의 Big O알고리즘시간 복잡도 (Best)시간 복잡도 (Average)시간 복잡도 (Worst)공간 복잡도버블 정렬O(n)O(n^2)O(n^2)O(1)삽입 정렬O(n)O(n^2)O(n^2)O(1)선택 정렬O(n^2)O(n^2)O(n^2)O(1) 보통 이 세 가지 정렬 알고리즘은 2차 정렬 알고리즘이라고 불립니다. 이는 시간 복잡도가 O(n^2) 이기 때문입니다. 버블 정렬, 삽입 정렬의 경우 정렬이 거의 다 되어있으면 시간 복잡도가 O(N) 입니다. (Best)하지만 선택 정렬의 경우 최솟값을 찾기위해 끝까지 다 보기 때문에 모든 경우에서 O(n^2) 입니다. (Best) 요약정렬은 기본입니다.버블 정렬, 선택 정렬, 삽입 정렬은 모두 대략 비슷합니다.모두 평균 시간 복잡도가 이차적입니다...
삽입 정렬 (Insertion Sort)
·
Algorithm/Theory
삽입 정렬(Insertion Sort) 소개삽입 정렬은 비교적 간단하고 직관적인 정렬 알고리즘입니다. 작은 데이터를 정렬할 때는 매우 효율적이지만, 데이터의 양이 많아지면 비효율적이 될 수 있습니다. 삽입 정렬의 기본 아이디어는 이미 정렬된 부분 배열을 확장해 나가면서 새로운 요소를 올바른 위치에 삽입하는 것입니다. 삽입 정렬의 의사 코드배열에서 두 번째 요소를 선택하여 시작합니다.두 번째 요소를 이전 요소와 비교하고 필요한 경우 스왑합니다.다음 요소로 계속 진행하고, 잘못된 순서일 경우 정렬된 부분(즉, 왼쪽)을 반복하여 요소를 올바른 위치에 배치합니다.배열이 정렬될 때까지 이 과정을 반복합니다. 삽입 정렬 구현다음은 삽입 정렬을 JavaScript의 ES6 문법으로 구현한 예제입니다:const ins..
얼은펭귄
'분류 전체보기' 카테고리의 글 목록 (3 Page)