Git 명령어 몇 줄 치면 끝나긴 하는데, 이게 내부적으로는 어떤 객체가 만들어지고 어떤 포인터가 움직이는 걸까요? 이번 포스팅에서는 Git이 데이터를 어떻게 저장하는지, 커밋은 어떤 구조로 이루어져 있는지, 그리고 효율적인 협업을 위한 브랜치 전략까지 Git 활용법을 다룹니다. 🧱 Git은 데이터를 어떻게 저장할까?Git은 단순히 파일 스냅샷을 저장하는 도구가 아닙니다. 내부적으로는 SHA-1 해시 기반의 객체 저장소를 구성하며, 모든 커밋, 파일, 폴더는 특정한 객체 타입으로 관리됩니다. [Git의 세 가지 객체]- Blob: 실제 파일의 내용- Tree: 디렉토리 구조 및 파일 목록 (즉, 스냅샷)- Commit: 하나의 버전 스냅샷을 나타내는 객체로, 부모 커밋과 트리 객체, 메타 데이터를 포함..
프로젝트를 진행할 때, 주로 몇 명이서 작업을 하나요? 혼자만의 프로젝트를 진행할 수도 있겠지만, 대부분은 본인을 포함한 두 명이상으로 인원이 구성될 것입니다. 그리고 여러 명이 개발로 협업을 해야 할 경우, 대부분은 git을 사용하여 진행합니다. 브랜치를 통한 효율적인 협업을 진행할 수 있다는 것이 git을 사용하는 큰 이유입니다. 저도 이전 회사에서는 commit, push, pull 등의 아주 기본적인 명령어들 밖에 사용하지 않았지만, 이직을 한 뒤에는 초면인 git 명령어들을 많이 만나게 되었고 지금은 친해지려고 노력 중에 있습니다. 그들과 절친이 될 수 있게, 이번 포스팅에서는 협업할 때 쓰이는 여러 가지 Git 명령어들에 대해 알아보겠습니다. [stash & apply] commit을 사용하지..
※ 틀린 정보가 있을 수 있으니 양해 바랍니다. 새로운 프로젝트를 시작하다 보면, 어떤 DBMS를 사용해야 할지 선택하는 순간이 옵니다. 본인에게 가장 익숙하고 쉬운 DBMS를 선택하는 것도 방법 중에 하나지만, 시작하는 프로젝트의 특징을 알고 그거에 맞는 DBMS를 선택하는 것이 프로젝트 진행에 있어서 효율적인 방법일 것입니다. 이번 포스트에서는 DBMS(Database Management System)의 종류와 특징을 알아봅시다. DBMS 분류 DBMS는 크게 RDBMS와 NoSQL로 나뉘어져 있습니다. RDBMS NoSQL 테이블 간 관계를 정의 Key-Value, Document, Wide Column, Graph 명확한 데이터 구조 보장 자유로운 데이터 구조를 가짐 정해진 스키마로 인해 데이터가..