[개발 일기] 2025.01.15 - B-Tree
·
개발 일기
개요 어젠 이진 탐색 트리에 대한 일기를 썼다.  오늘은 이진 탐색 트리의 단점을 보완한 자료구조인 B-Tree에 대해 정리해 보자.   B-Tree B-Tree는 데이터베이스 및 파일 시스템과 같은 대규모 데이터 구조에서 데이터를 효율적으로 관리하기 위해 설계된 트리형태의 자료구조이다.  B-Tree의 탄생 이유는 위에서 언급했었던 것처럼 이진 탐색 트리의 단점을 생각하면 된다.  이진 탐색 트리의 단점은 어제 일기에서 작성한 것을 조금 언급하자면 균형 잡힌 데이터가 삽입된다면 아래의 이미지처럼 트리가 한쪽으로 치우친 선형 구조(일종의 연결 리스트)로 변형된다. 하지만 이진트리의 경우 데이터의 삽입, 삭제 시 트리 구조를 재조정하여 항상 균형 잡힌 상태를 유지한다.  그 방법은 아래에서 더 자세히 설명..
[개발 일기] 2025.01.14 - 이진 탐색 트리 (BST)
·
개발 일기
개요 데이터베이스에 대한 기술 면접 준비를 하다가 B-Tree, B+Tree가 이진 탐색 트리의 단점을 보완하기 위해 개발되었다는 걸 봤다.  B-Tree, B+Tree를 이해하기 위해선 우선 이진 탐색 트리를 알고 있어야 더 쉽게 이해할 수 있을 것 같아서 정리하게 되었다.   이진 탐색 트리 이진 탐색 트리는 각 노드가 최대 두 개의 자식을 가지며, 왼쪽 자식에는 부모 노드보다 작은 값이, 오른쪽 자식에는 부모 노드보다 큰 값이 저장되는 트리 구조이다.  이러한 구조가 모든 노드에 적용되기 때문에 항상 정렬된 상태를 유지할 수 있다.  이렇게 정렬된 트리에서 찾고자 하는 노드를 탐색할 땐 Up-Down을 진행하며, 노드들의 수를 줄여가며 찾을 수 있다.  만약 이진 탐색 트리에 100개의 노드가 있다..
[개발 일기] 2025.01.13 - com, kr, co.kr 등등 이 나눠져있는 이유? (Feat : 최상위 도메인)
·
개발 일기
개요 보통 내가 주로 접속하는 대부분의 웹 사이트는. com으로 끝난다.  근데 오늘 노션을 정리하다가, 주소창을 쓰윽 봤는데, notion.so/~~ 였다.  나도 프로젝트를 하다가 도메인을 발급받을 때, 늘 .com 이었던 것은 아니었다.  xyz도 있었고, io도 있었고 다양했다.  그런데 오늘 갑자기 궁금해졌다.  왜 저런 식으로 나뉘어져 있고, 저렇게 나누면 좋은 점이 무엇인지!   도메인 역할 도메인이란 읽기 편하고, 쓰기도 편한 문자 형태로 쓰여있는 웹 사이트의 주소를 말한다.  개발자들은 모두 알 것이다. 특정 웹 사이트의 도메인을 입력하면 어떤 상황이 발생하는지..  주소창에 도메인을 입력하면 발생하는 상황주소창에 도메인을 입력한다.브라우저에 해당 도메인이 캐싱되었는지 확인한다. (캐싱의..
[개발 일기] 2025.01.12 - OSI 7계층 (응용 계층)
·
개발 일기
개요 OSI 7 계층 중 7 계층에 속한 응용 계층을 정리할 차례이다.  드디어 마지막 계층이다..   응용 계층의 역할 응용 계층은 사용자가 애플리케이션과 상호작용할 수 있는 인터페이스를 제공한다.  예를 들어, 사용자가 카카오톡을 통해 철수에게 메시지를 전송하고자 할 때, 응용 계층은 메시지 전송을 위한 네트워크 프로토콜(예: HTTP 또는 Web Socket 통신)을 활용하여 데이터를 전송하도록 요청을 준비한다.  이후 하위 계층의 도움을 받아 이 메시지가 네트워크를 통해 철수에게 전달되는 것이다.   응용 계층의 기능 응용 계층은 단순히 사용자와 애플리케이션 간의 상호작용을 위한 HTTP/HTTPS, 파일 전송을 위한 FTP, 이메일 송수신을 위한 SMTP 및 도메인 이름 변환을 위한 DNS와 같..
[개발 일기] 2025.01.11 - OSI 7계층 (표현 계층)
·
개발 일기
개요 오늘은 OSI 7 계층 중 6 계층에 속한 표현 계층을 정리할 차례이다.  레츠기릿   표현 계층의 역할 어제 세션 계층을 정리했을 때도 언급했지만, 5 계층 이후부턴 모두 애플리케이션에 해당하는 영역이다.  당연히 표현 계층도 애플리케이션과 관련있는 계층이다.  표현 계층은 이름처럼 표현을 위해 사용되는 계층이다.  만약 내가 서울에 있는 철수에게 ‘안녕 철수야’ 라는철수야’라는 카톡을 보내면, 이 ‘안녕 철수야’라는 텍스트가 있는 그대로 전송되진 않는다.  표현 계층에서 ‘안녕 철수야’라는 텍스트를 컴퓨터가 이해할 수 있는 형식(UTF-8같은 문자 인코딩 형식)으로 변환하는 하는 것이다.  물론 텍스트 뿐만 아니라 JPG 같은 이미지 파일도 아래와 같은 바이너리 형태로 변환되는 것이다.FF D8..
[개발 일기] 2025.01.10 - OSI 7계층 (세션 계층)
·
개발 일기
개요 오늘은 OSI 7 계층 중 5 계층에 속한 세션 계층을 정리할 차례이다.  레츠기릿  세션 계층의 역할 이전까지 정리했던 1~4계층(물리 계층부터 전송 계층까지)은 데이터의 전송을 담당한다.  예를 들어, 물리적으로 데이터를 전송하고, 오류를 처리하고, 데이터를 세그먼트로 나누어 목적지로 보내는 일을 한다.  반면 세션 계층인 5계층부터 애플리케이션 계층인 7 계층까지는 컴퓨터 내에서 실행되는 프로세스 간의 통신과 관련된 계층이다.   세션 계층의 예시 쉽게 말하면 ‘서울에 있는 철수에게 카톡 보내기’에서 전달은 물리 계층부터 전송 계층이 담당하고, 그 다음은 컴퓨터 내부에서 실행되는 카톡 애플리케이션에서 철수와의 채팅방을 어떻게 연결을 유지할지, 어떤 식으로 데이터를 시각화할지를 관리하는 계층은 ..