일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- selenium
- 파이썬
- regression test
- RBT
- Testing
- Test Case
- test
- SQA
- 자동화
- 테스트 설계 기법에 따른 분류
- 애자일
- 테스트
- 셀레니움
- 품질
- QA
- csts
- 비기능테스트
- 위험 기반 테스트
- agile
- Python
- 테스트 케이스
- 유지보수성 테스트
- testcase
- Software life cycle model
- maintainability test
- ISTQB
- 테스트케이스
- testing method
- seleium
- risk-based testing
Archives
- Today
- Total
Study_Note
fan-in & fan-out 본문
728x90
반응형
"Fan-in"과 "Fan-out"은 시스템 설계와 네트워크, 소프트웨어 아키텍처에서 중요한 개념으로, 데이터 흐름과 의존성을 설명하는 데 사용됩니다. 예시를 통해 설명해드리겠습니다.
Fan-in
Fan-in은 여러 개의 입력이 하나의 프로세스로 통합되는 상황을 의미합니다. 주로 여러 개의 소스 또는 하위 시스템에서 들어온 데이터를 한 군데로 모아 처리하는 구조를 설명할 때 사용됩니다.
예시 1: 함수 호출
- 상황 : 한 함수가 여러 다른 함수들에 의해 호출되는 경우
- 설명: 예를 들어, 함수 `processData`가 프로그램의 여러 부분에서 호출된다면, 이 함수는 많은 입력(다양한 호출부)을 받게 되므로 **Fan-in**이 높다고 할 수 있습니다.
def processData(data):
# 데이터 처리 코드
pass
def moduleA():
processData(data_from_A)
def moduleB():
processData(data_from_B)
def moduleC():
processData(data_from_C)
여기서 `processData` 함수는 `moduleA`, `moduleB`, `moduleC`로부터 호출되므로 Fan-in 구조를 가진다고 할 수 있습니다.
예시 2: 중앙 집중형 서버
- 상황 : 여러 클라이언트가 중앙 서버로 연결되어 데이터를 전송
- 설명 : 여러 클라이언트가 중앙 서버에 데이터를 보내는 웹 애플리케이션에서, 서버는 여러 개의 클라이언트 요청을 받습니다. 이 경우 중앙 서버는 Fan-in을 가진다고 볼 수 있습니다.
Fan-out
Fan-out은 하나의 프로세스가 여러 개의 출력 또는 다른 프로세스로 데이터를 보내는 구조를 의미합니다. 주로 하나의 소스에서 여러 목적지로 데이터가 전달될 때 사용됩니다.
예시 1: 함수 호출
- 상황 : 하나의 함수가 여러 다른 함수들을 호출하는 경우
- 설명 : 예를 들어, 함수 `handleRequest`가 다양한 하위 모듈로 작업을 분배하기 위해 여러 함수를 호출한다면, 이는Fan-out이 높다고 할 수 있습니다.
def handleRequest():
authenticate()
authorize()
logRequest()
processRequest()
이 함수는 `authenticate`, `authorize`, `logRequest`, `processRequest` 등의 여러 함수로 분산되기 때문에 Fan-out 구조를 갖습니다.
예시 2: 메시지 브로커
- 상황 : 하나의 프로듀서가 여러 개의 소비자에게 메시지를 보내는 상황
- 설명 : 예를 들어, 하나의 메시지 브로커가 여러 구독자에게 메시지를 배포하는 경우를 생각해 볼 수 있습니다. 여기서 메시지 브로커는 하나의 소스에서 여러 소비자에게 메시지를 전달하므로 Fan-out 구조를 가집니다.
요약
- Fan-in : 여러 입력이 하나의 프로세스로 통합되는 구조. 예: 여러 함수가 한 함수를 호출하거나 여러 클라이언트가 한 서버에 요청.
- Fan-out : 하나의 프로세스가 여러 다른 프로세스로 분기되는 구조. 예: 하나의 함수가 여러 함수를 호출하거나 하나의 메시지 브로커가 여러 구독자에게 메시지를 전달.
'temp' 카테고리의 다른 글
RIAC(reliability information analysis center) (0) | 2024.08.26 |
---|---|
LCOM(lack of cohesion of methods) (0) | 2024.08.26 |
resolution (0) | 2024.08.21 |
ISO/IEC 25010 (0) | 2024.08.02 |
slicing technique, data flow analysis technique, change impact analysis (0) | 2024.08.01 |