전산학
-
분산 데이터베이스 투명성(Transparency): 위치 투명성(Location Transparency), 병행 투명성(Concurrency Transparency), 이름 투명성(Naming Transparency), 복제 투명성(Replication Transparency), 분할 투명성(Fragmentation Transparency), 실패 투명성(Failure Transparency)전산학/데이터베이스 2024. 8. 23. 22:57
분산 데이터베이스는 여러 위치에 분산되어 있는 데이터베이스 시스템을 말하며, 사용자에게는 하나의 일관된 데이터베이스처럼 보이도록 설계되었습니다. 분산 데이터베이스의 중요한 특징 중 하나는 투명성(Transparency)입니다. 투명성은 사용자가 시스템의 분산된 특성을 인식하지 못하도록 하는 능력을 말하며, 여러 종류가 있습니다. 각 종류의 투명성을 쉽게 이해하고 기억할 수 있도록 설명하겠습니다.1. 위치 투명성(Location Transparency)설명: 사용자가 데이터가 실제로 어디에 저장되어 있는지 알 필요 없이 데이터에 접근할 수 있게 합니다. 즉, 데이터의 위치를 명시하지 않고도 데이터를 조회하거나 조작할 수 있습니다.기억법: "데이터를 찾을 때 지도가 필요 없다."2. 이름 투명성(Naming..
-
3-way Handshaking전산학/데이터통신 2024. 8. 23. 22:06
3-way handshaking은 TCP/IP 네트워크 프로토콜에서 연결을 시작할 때 사용되는 과정입니다. 이 과정은 클라이언트와 서버 간의 신뢰할 수 있는 세션을 시작하기 위해 필요하며, 데이터 전송 전에 양쪽이 서로 연결 준비가 되었음을 확인하고, 세션을 안정적으로 시작할 수 있는 매개변수를 교환합니다. 3-way Handshaking 과정SYN(Synchronize Sequence Numbers)단계 설명: 클라이언트가 서버에 연결을 요청하며, SYN 패킷을 보냅니다. 이 패킷은 세션을 시작하겠다는 의미로, 클라이언트는 임의의 시퀀스 번호(A)를 선택하여 서버에 전송합니다.목적: 클라이언트가 서버와 연결을 시작하고자 함을 알리며, 시퀀스 번호를 사용하여 패킷의 순서를 제어합니다.SYN-ACK(Syn..
-
네트워크 장비 역할: 리피터 (Repeater), 브릿지 (Bridge), 라우터 (Router), L2 스위치 (Layer 2 Switch), L3 스위치 (Layer 3 Switch)전산학/데이터통신 2024. 8. 23. 22:05
브릿지, 라우터, 리피터, L2 스위치, L3 스위치는 모두 네트워크 장비로, 네트워크의 성능을 향상시키고 데이터의 효율적인 전송을 지원합니다. 각각의 장비는 네트워크에서 다른 역할을 수행하며, 데이터 전송 및 처리 방식에 차이가 있습니다.1. 리피터 (Repeater)기능: 리피터는 신호를 증폭하여 전송 거리를 연장하는 기본적인 네트워크 장비입니다. 전기적 신호를 받아 그대로 증폭하고 재전송하여, 신호의 감쇠 문제를 해결하고 더 멀리까지 전달할 수 있게 합니다.용도: 케이블 길이 제한으로 인한 신호 약화 문제를 해결하기 위해 사용됩니다.2. 브릿지 (Bridge)기능: 브릿지는 두 개 이상의 네트워크 세그먼트를 연결하는 장치로, 데이터 링크 계층(계층 2)에서 작동합니다. 브릿지는 수신된 프레임의 MA..
-
B-트리 (B-Tree)와 B+트리 (B+ Tree) 비교하기전산학/자료구조 2024. 8. 23. 20:10
B-트리와 B+트리는 데이터베이스와 파일 시스템에서 널리 사용되는 데이터 구조로, 효율적인 검색, 삽입, 삭제를 위해 설계되었습니다. 이 두 구조는 비슷해 보이지만, 특정 용도에 따라 다른 특징과 이점을 제공합니다. 여기서 각 트리의 기본 개념과 차이점을 예시와 함께 살펴보겠습니다.B-트리 (B-Tree)B-트리는 균형 유지 이진 탐색 트리의 한 형태로, 모든 리프 노드가 같은 레벨에 위치하는 자가 균형 트리입니다. B-트리는 각 노드가 여러 개의 키를 저장할 수 있으며, 노드 내 키는 정렬된 상태를 유지합니다. 각 노드의 키 사이에는 자식 포인터가 있어서, 키 값에 따라 탐색 경로가 결정됩니다.예시: [17 | 30] / | \[5 | 12] [18 | 25] [31 | ..
-
크루스칼 알고리즘(Kruskal's Algorithm)전산학/자료구조 2024. 8. 23. 19:18
크루스칼 알고리즘(Kruskal's Algorithm)은 그래프의 모든 노드를 최소 비용으로 연결하는 최소 비용 신장 트리(Minimum Spanning Tree, MST)를 찾는 알고리즘 중 하나입니다. 최소 비용 신장 트리는 그래프의 모든 노드가 연결되어 있으면서 사용된 간선들의 가중치의 합이 최소가 되는 트리 구조를 말합니다. 크루스칼 알고리즘은 그리디(Greedy) 알고리즘의 일종으로, 각 단계에서 로컬 최적해를 선택함으로써 최종적으로 글로벌 최적해를 구하는 방식을 사용합니다.크루스칼 알고리즘의 작동 원리간선 리스트 준비: 그래프의 모든 간선을 가중치에 따라 오름차순으로 정렬합니다.초기화: 최소 비용 신장 트리를 구성할 빈 집합을 준비합니다.간선 선택: 정렬된 간선 리스트에서 가장 가중치가 낮은 ..
-
빅오(Big-O) 표기법과 시간 복잡도전산학/자료구조 2024. 8. 23. 18:07
빅-오(Big-O) 표기법은 알고리즘의 시간 복잡도나 공간 복잡도를 표현하는 데 사용되는 수학적 표기 방법입니다. 이 표기법은 최악의 경우의 성능을 나타내며, 알고리즘이 입력 크기(n)에 따라 얼마나 늘어나는지를 간략하게 표현합니다. 빅-오 표기법은 알고리즘의 효율성을 이해하고 비교하는 데 중요한 도구입니다. 여기에서는 몇 가지 일반적인 시간 복잡도와 그에 해당하는 빅-오 표현을 설명하겠습니다.1. O(1) - 상수 시간(Constant Time)설명: 알고리즘이 입력 크기에 상관없이 항상 일정한 시간이 걸립니다.예시: 배열에서 특정 인덱스의 요소에 접근하기, 변수에 값 할당하기 등.2. O(log n) - 로그 시간(Logarithmic Time)설명: 알고리즘의 실행 시간이 입력 크기의 로그에 비례하..
-
데이터베이스 이상(Anomaly): 삽입 이상 (Insertion Anomaly), 갱신 이상 (Update Anomaly), 삭제 이상 (Deletion Anomaly)전산학/데이터베이스 2024. 8. 23. 16:34
데이터베이스에서의 이상 현상(Anomalies)은 데이터를 부적절하게 구조화했을 때 발생하는 일련의 문제들을 말합니다. 이러한 이상 현상들은 데이터의 중복, 불필요한 데이터 의존성, 불일치 등을 초래하여 데이터베이스의 무결성을 해칠 수 있습니다. 주로 세 가지 유형의 이상 현상이 존재하며, 이는 데이터베이스 설계, 특히 정규화 과정에서 중요한 고려사항입니다.1. 삽입 이상 (Insertion Anomaly)설명: 새로운 데이터를 추가할 때, 필요 이상의 정보를 제공해야 하거나 원하지 않는 정보까지 입력해야 하는 경우 발생합니다.예시: 학생 데이터베이스에서 학생이 속한 강좌 정보도 함께 저장해야 하는데, 아직 강좌에 등록하지 않은 학생 정보를 추가하려면 강좌 관련 필드에 무엇을 입력해야 할지 문제가 발생할..
-
동료검토(Peer Review), 워크스루(Walk Through), 인스펙션(Inspection) 쉽게 구분하기전산학/소프트웨어공학 2024. 8. 23. 03:27
동료검토, 워크스루, 인스펙션은 소프트웨어 개발 과정에서 코드나 문서를 검토하는 세 가지 방법입니다. 각각의 방법은 목적과 절차가 다르며, 쉽게 구분할 수 있도록 기준을 정리해 보겠습니다.1. 동료검토 (Peer Review)정의: 동료들 간의 비공식적인 코드나 문서 리뷰 과정입니다.특징:비공식적: 일반적으로 형식적 절차 없이 진행됩니다.소규모 그룹: 주로 2~3명 정도의 동료 개발자가 참여합니다.주관성: 코드 작성자가 참여하며, 자유롭게 의견을 나누는 방식입니다.목적: 버그를 찾거나, 코드 품질을 개선하기 위해 서로 피드백을 주고받습니다.구분 포인트: 비공식적이며, 동료 간의 자유로운 의견 교환이 핵심입니다.쉽게 기억하는 법: 동료와 가볍게 의견을 나누는 모습(비공식적, 자유로운 피드백).2. 워크스루..