[7] 육군 정보보호병 일기 (전역)
·
일상/CERT병
2025. 03. 17 ~ 2026. 09. 16수고했어. 장병장CERT병 임무수행을 마치고드디어 집으로 돌아가게 되었습니다.저는 20대 청춘을 즐길 나이에 눈 앞에 닥친 18개월이라는 시간 속에 갇혀야 하는 현실이그때 당시에 저에게 크나큰 절망으로 다가왔었습니다.그러나 이런 비관적인 생각만 하던 과거의 나에게 한마디 해줄 수 있다면저는 이렇게 말할 거 같습니다.18개월이라는 시간은 우리가 앞으로 살아가는 인생 속에서 찰나의 불과하다고.피하지 못할 상황 속에서부정적인 생각에 사로잡히며 자신을 바로 잡지 못하는 사람은짧다면 짧은, 길다면 긴 사간동안힘들게 쌓아왔던 자신의 가치를 의미없이 버리는 것과 같다고 생각합니다."물이 흐르듯 살라. 가장 부드러운 것이 가장 강한 것을 이긴다."어려운 자격중을 취득한다..
화성학 (코드구성음 및 모드스케일)
·
일상/베이스기타
1. 화성학을 왜 배우는가?화성학을 알면 곡의 구조를 예측할 수 있음처음 듣는 곡도 코드나 악보를 보면 사용할 수 있는 음을 어느 정도 예상할 수 있음결과적으로 타브악보를 그대로 따라 치는 의존도를 줄이고, 귀로 듣고 바로 연주하는 능력을 키울 수 있음 2. 장(Major)와 단(Minor)의 차이C → E = 4반음 → 장3도 (Major)C → E♭ = 3반음 → 단3도 (MInor)즉 메이저는 마이너보다 3음이 반음 낮음메이저마이너C - E - GC - E♭ - G밝음어두움장3도 (3-4, 7-8)단3도 (2-3, 6-7) 3. 코드 구성음C (Major)C E G1 3 5Cm (Minor)C Eb G1 ♭3 5C7C E G Bb1 3 5 ♭7Cmaj7 (Seventh Major)C E G B1 3..
위상 정렬(Topological Sort)
·
IT Dictionary/Data Structure
1. 개요순서가 정해져 있는 작업을 차례대로 나열하는 알고리즘위상 정렬은 반드시 방향성이 있고 사이클이 없는 그래프인 DAG(Directed Acyclic Graph)에서만 수행 가능방향성(Directed): 작업의 선후 관계(화살표)가 명확해야 함비순환성(Acyclic): 사이클(순환)이 없어야 함 2. 작동 원리 (진입차수 기준)위상 정렬을 구현할 때는 진입차수(Indegree)라는 개념을 사용진입차수란 나에게 들어오는 화살표의 개수(즉, 내가 시작하기 전에 먼저 끝내야 하는 선행 작업의 개수)를 의미알고리즘 단계그래프의 모든 정점의 진입차수를 계산진입차수가 0인 정점(선행 작업이 없어 바로 시작할 수 있는 정점)을 큐(Queue)에 모두 넣음큐가 빌 때까지 다음 과정을 반복큐에서 정점을 꺼내 정렬 ..
최소 신장 트리(Minimum Spanning Tree, MST)
·
IT Dictionary/Data Structure
1. 개요가중치 그래프에서 모든 정점을 포함하면서, 간선들의 가중치 합이 최소가 되는 트리 형태의 서브그래프를 의미사이클 미존재: 트리 구조이므로 정점이 V개일 때 간선의 수는 반드시 V - 1개가 되며 순환하는 경로 존재하지 않음연결성: 그래프의 모든 정점이 어떻게든 서로 연결되어 있어야 함최소 비용: 가능한 다양한 신장 트리(Spanning Tree) 중에서 간선 가중치의 총합이 가장 작음 2. 대표적인 알고리즘MST를 구하는 알고리즘은 크게 두 가지가 있으며, 둘 다 그리디(Greedy, 탐욕) 알고리즘을 기반으로 작동크루스칼 알고리즘 (Kruskal's Algorithm)간선(Edge)을 중심으로 MST를 찾아나가는 방식.모든 간선을 가중치 기준으로 오름차순 정렬가중치가 가장 낮은 간선부터 하나씩..
KD 트리(K-Dimensional Tree, K-차원 트리)
·
IT Dictionary/Data Structure
1. KD 트리의 핵심 원리2차원, 3차원, 혹은 그 이상의 다차원 공간에 있는 포인트들을 효율적으로 분할하고 탐색하기 위해 설계된 이진 탐색 트리KD 트리는 각 레벨마다 번갈아가며 다른 축(Dimension)을 기준으로 데이터를 분할예를 들어, 2차원 좌표 (x, y$ 데이터들을 KD 트리에 삽입한다고 가정하면루트 노드 (레벨 0): x축을 기준으로 정렬한 뒤, 중간값(Median)을 기준으로 공간을 왼쪽, 오른쪽으로 반으로 나눔자식 노드 (레벨 1): 이번에는 y축을 기준으로 정렬한 뒤, 중간값을 기준으로 위, 아래로 반을 나눔손자 노드 (레벨 2): 다시 x축을 기준으로 나눔이 과정을 데이터가 하나씩 남을 때까지 번갈아가며 반복데이터 셋: A(2,3), B(5,4), C(9,6), D(4,7), E..
B-트리
·
IT Dictionary/Data Structure
1. 개요데이터베이스와 파일 시스템에서 가장 널리 사용되는 대표적인 균형 트리(Balanced Tree) 자료구조방대한 양의 데이터를 효율적으로 저장하고 검색하기 위해 설계일반적인 이진 트리(Binary Tree)는 하나의 노드에 하나의 데이터만 가질 수 있고, 자식 노드를 최대 2개까지만 가질 수 있음데이터가 많아지면 트리의 깊이(Height)가 너무 깊어져서 데이터를 찾을 때 내려가야 하는 단계가 많아짐데이터베이스처럼 데이터가 외장 메모리에 저장되어 있는 경우, 디스크에서 데이터를 읽어오는 속도는 RAM보다 훨씬 느림즉, 핵심은 트리의 높이를 최대한 낮추기 위해 자식 노드의 수도 여러 개로 늘리는 방식 2. B 트리의 주요 특징다원 트리 (Multi-way Tree): 자식 노드의 개수가 2개 이상이..