반응형
SMALL
반응형
LIST
파이프-필터 패턴파이프-필터 패턴은 데이터 스트림 절차의 각 단계를 필터로 캡슐화하여 파이프를 통해 전송하는 패턴이다. 마치 음식 제조 공정에서 재료가 각 단계를 거치며 가공되듯, 데이터도 파이프를 통해 각 필터(처리 단계)를 거친다.앞 시스템의 처리 결과물을 파이프를 통해 전달받아 처리한 후 그 결과물을 다시 파이프를 통해 다음 시스템으로 넘겨주는 패턴을 반복한다.데이터 변환, 버퍼링, 동기화 등에 주로 사용되며, 대표적인 예로 UNIX의 쉘(SHELL)이 있다. 이처럼 각 단계에서 데이터를 처리하고, 처리된 데이터를 다음 단계로 넘기는 과정이 핵심이다.마스터-슬레이브 패턴마스터-슬레이브 패턴은 마스터가 작업을 슬레이브에게 할당하고, 슬레이브가 처리한 결과물을 다시 마스터로 돌려주는 방식이다. 이는 팀..
소프트웨어 아키텍처소프트웨어 아키텍처는 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체임.애플리케이션의 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정함.소프트웨어 아키텍처 설계의 기본 원리에는 모듈화, 추상화, 단계적 분해, 정보은닉이 있음.모듈화모듈화는 소프트웨어의 성능 향상, 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 나누는 것을 의미한다.모듈화는 모듈 간 결합도(COUPLING)의 최소화와 모듈 내 요소들의 응집도(COHESION)를 최대화 하는 것이 목표이다.추상화추상화는 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화시켜 나가는 것이다.추상화의 유형과정 추상화 자세한 수행 과정을..
연계 서버데이터를 전송 형식에 맞게 변환하고 송,수신 을 수행하는 등 송,수신과 관련된 모든 처리 수행예시: 웹 서버에서 고객 주문 데이터를 ERP 시스템으로 연계하는 서버.송신 시스템인터페이스 테이블 또는 파일의 데이터를 전송 형식에 맞도록 변환 및 송신을 수행하는 시스템CRM 시스템에서 고객 정보를 파일로 변환하여 서버에 송신하는 시스템.수신 시스템수신 데이터를 인터페이스 테이블이나 파일로 생성하는 시스템고객 주문 정보를 받는 ERP 시스템이 해당 데이터를 데이터베이스에 저장하는 과정.XMLXML(eXtensible Markup Language)은 특수한 목적을 갖는 마크업 언어를 만드는데 사용되는 다목적 마크업 언어이다.웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기..
삽입 정렬 (Insertion Sort)정의: 이미 정렬된 부분에 새로운 값을 순서에 맞게 삽입하여 정렬하는 방식.시간 복잡도: 평균 및 최악 모두 O(n²).예시: 8, 5, 6, 2, 4초기 상태: 8, 5, 6, 2, 41회전: 8, 5 → 5, 8두 번째 값 5를 첫 번째 값 8과 비교하여 5가 더 작으므로 교체.2회전: 5, 8, 6 → 5, 6, 8세 번째 값 6을 두 번째 값 8과 비교하여 6이 더 작으므로 교체.3회전: 5, 6, 8, 2 → 2, 5, 6, 8네 번째 값 2를 첫 번째부터 비교하여 맨 앞에 삽입.4회전: 2, 5, 6, 8, 4 → 2, 4, 5, 6, 8다섯 번째 값 4를 두 번째 값 5와 비교하여 5 앞에 삽입.선택 정렬 (Selection Sort)정의: 배열에서 가..
A / \ B C / \ / \ D E F G / \ H IPREORDERpreorder 운행법은 이진 트리를 ROOT→ LEFT→ RIGHT 순으로 운행하여 노드들을 찾아가는 방법이다.서브 트리를 하나의 노드로 생각할 수 있도록 서브 트리 단위별로 묶어 생각하면 된다. 다른 운행법 모두 공통으로 사용한다.PREORDER는 ROOT→LEFT→RIGTH이므로 A,B,C순이 된다.B는 B→D→E이므로 ABDEC순이 된다.D는 D→H→I이므로 ABDHIEC순이 된다.C는 C→F→G이므로 ABDHIECFG순이 된다.A→B→D→H→I→E→C→F→G 💡INORDERINORDER 운행법은 이진 트리를 LEFT→ROOT→RIGHT 순으로 운행하며 노드들을 찾아가는 ..
자료 구조의 분류선형 구조 (Linear Structures)배열 (Array)동일한 데이터 타입의 요소들이 연속된 메모리 공간에 저장된 자료구조.예시: int arr[5] = {1, 2, 3, 4, 5};선형 리스트 (Linear List)연속 리스트 (Sequential List): 배열과 유사하지만, 크기를 동적으로 변경할 수 없음. 예시: int list[5] = {10, 20, 30, 40, 50};연결 리스트 (Linked List): 각 노드가 데이터와 다음 노드를 가리키는 포인터를 포함한 자료구조. 예시: 10 -> 20 -> 30 -> NULL스택 (Stack)LIFO (Last In, First Out) 방식으로, 나중에 들어간 데이터가 먼저 나오는 구조. 예시: 웹 브라우저의 뒤로 가..