YAML YAML(YAML Ain't Markup Language)은 인간이 쉽게 읽고 작성할 수 있는 데이터 직렬화 양식입니다. YAML은 주로 설정 파일, 데이터 전송 및 구성 관리 등에 사용되며, 파일로 작성 시 확장자는 .yaml 혹은 .yml 확장자를 가집니다. 다른 마크업 언어와는 달리 YAML은 데이터를 계층 구조로 표현할 수 있으며, 들여쓰기를 통해 계층을 구분합니다. JSON 파일과 비슷하게 YAML 파일은 key-value 형태로 작성된 파일이지만, "" 와 {}없이 문자열 작성이 가능하고, 주석을 작성할 수 있습니다. 그리고 YAML은 JSON의 상위 호환 격이므로, 기존 json문서를 그대로 yaml파일로 사용하거나 원하는 부분만 손볼 수 있습니다. 반대로 yaml을 json으로 변..

CI/CD CI/CD는 지속적인 통합(Continuous Integration)을 의미하는 CI와 지속적인 배포(Continuous Deployment)을 의미하는 CD로 구성된 소프트웨어 개발 방법론입니다. CI/CD를 사용하면 개발자들은 새로운 코드 변경 사항을 개별적으로 통합하고, 자동화된 빌드 및 배포 프로세스를 통해 테스트와 프로덕션 환경으로 지속적으로 전달할 수 있습니다. 이러한 방법론을 사용하면 개발자는 더 빠르게 소프트웨어를 개발하고, 버그를 더 빠르게 찾아내며, 안정적인 애플리케이션 배포를 달성할 수 있습니다. CI/CD의 단계 CI/CD는 위와 같은 순서로 진행되며, Code,Build,Test 부분은 CI이고 Release - Deploy - Operate은 CD입니다. CI는 개발자..

그래프 그래프는 여러 개의 점이 서로 복잡하게 연결된 관계를 표현한 자료구조입니다. 그래프는 정점(Vertex)과 간선(Edge)으로 구성되며, 이를 통해 객체들 간의 연결 관계를 나타냅니다. 그래프에서는 두 정점을 바로 이어주는 간선이 있다면 이 두 정점은 인접하다고 이야기합니다. 인접 행렬은 서로 다른 정점들이 인접한 상태인지를 표시한 행렬로 2차원 배열의 형태로 나타냅니다. 행과 열은 각각 그래프의 정점을 나타내고, 행렬의 값은 정점이 이어져 있다면 1(true), 이어져 있지 않다면 0(false)으로 표시한 일종의 표입니다 A -- B | | C -- D 이런 그래프가 존재한다면, 2차원 배열로 나타낼수 있다. A B C D A 0 1 1 0 B 1 0 0 1 C 1 0 0 1 D 0 1 1 0..

트리 트리는 데이터가 바로 아래에 있는 하나 이상의 데이터에 한 개의 경로와 하나의 방향으로만 연결된 계층적인 구조를 갖는 비선형 자료구조입니다. 마치 나무를 거꾸로 뒤집어 놓은 듯한 모습을 가지고 있기에 트리라고 불립니다. 트리 구조는 루트(Root)라는 하나의 꼭짓점 데이터를 시작으로 여러 개의 데이터를 간선(edge)으로 연결합니다. 각 데이터를 노드(Node)라고 하며, 두 개의 노드가 상하 계층으로 연결되면 부모/자식 관계를 맺습니다. 트리 구조에서 같은 깊이를 가지고 있는 노드를 묶어서 레벨(level)로 표현할 수 있으며, 같은 레벨의 노드를 형제 노드(Sibling Node)라고 합니다. 각 노드는 자식 노드를 가질 수 있으며, 자식 노드 역시 다시 자식 노드를 가질 수 있는 재귀적인 특성..