본문 바로가기

카테고리 없음

readme.md 가 무엇인지,사용법 / 버젼관리

readme 가 무엇인지 ?

먼저 readme 가 뭔지에대해 알아야할 필요가 있을거 같다. 

오늘 배운 내용으로는 내가 이해하기에 어떤 프로젝트를 실행하기에 앞서 프로젝트 소개, 개발기간, 환경, 기능 등 소개하는 문서라고 배웠다. 맞는지는 모르겠지만 설명서같은 느낌이라고 이해하였다.

 

readme.md 뒤에 붙는  md는 뭐의 약자인가 ?

확장자명의 약자는  markdown의 약자라고 한다. 이것은 경량마크업 언어로, 텍스트 기반 문서에서 간단한 구문을 사용하여 서식을 지정할 수 있게 해준다고한다. 하여 확장자는 .md 또는 .MarkDown으로 저장이 된다.

 

MarkDown (경량마크업언어) 를 왜 사용하는가 ?

사용하는 이유는 간단하다. 사용자의 가독성이 좋아지며, HTML로 변환이 쉽고, 쉬운 문법으로 텍스트의 강조를 바꿀수 있기 때문인것 같다.

readme.md 의 주요문법은 무엇인가 ?

 

  • 제목: # 기호로 제목을 작성합니다. (예: # 제목1, ## 제목2)
  • 굵은 글씨: **텍스트** 또는 __텍스트__로 표시합니다.
  • 기울임꼴: *텍스트* 또는 _텍스트_로 나타냅니다.
  • 리스트: -, *, 또는 번호를 사용하여 목록을 만듭니다.
  • 코드 블록: 백틱(```)을 사용하여 코드 블록을 만듭니다.
  • 링크: [텍스트](URL) 형식으로 링크를 삽입합니다. 

* 버젼관리 *

버젼관리의 필요성.

먼저 버젼관리가 왜 필요한지에 대해 배웠다. 

여러가지 이유가 있었지만 그 중 두가지만 꼽으면 내가 생각하기에 첫번째는 변경이력관리의 필요성 때문인것같다.

대학시절 과제를 할때 예를 들어 밑에 사진을 보면

 

이런 경험이 한번쯤 있을것이다. 이거를 방지하기 위한 이유가 있으며, 변경을 추적하고 이전 버전을 복구하기위함이다.

 

두번째로는 협업지원인거같다.

소형프로젝트든 대형프로젝트든 여러사람과 같이 작업하는 것들은 버전관리 시스템을 이용하여 서로 다른작업이 충동하지 않도록 병합하여 관리하는 기능을 제공한다.

또한, 분산작업이 가능하기때문이다. 분산작업이란 팀원들이 각자의 브랜치에서 독립적으로 작업할 수 있어 작업이 분리되고, 나중에 통합할 수 있다.

 

요약하여 얘기하면

버전 관리는 프로젝트의 변경 사항을 효율적으로 관리하고, 협업을 원활하게 하며, 코드 품질을 유지하고 문제 발생 시 복구할 수 있는 중요한 도구이다. 이를 통해 개발 생산성과 코드의 안정성을 크게 향상시킬 수 있다.

이 정도인것 같다. 

 

버젼관리의 종류

로컬 VCS

서버 없이 로컬 컴퓨터 내에서 버전을 관리한다. 간단한 데이터베이스만으로도 구현이 가능하므로 단순하고 개인적인 프로젝트에 적합하다.

단, 협업에서 쓰기에는 힘들고, 컴퓨터가 고장나는 등 내부 정보가 통째로 날아가버리면 복구할 방법이 없다.

중앙집중식 VCS

서버에 최종본 한 벌이 있으며, 사용자들은 이 중 수정을 원하는 파일만 로컬에 받아 수정한 후 서버에 올리게 된다.

간단한 방법으로 협업이 가능하고 관리자가 누가 어떤 일을 하고 있는지 알기 쉬운 장점이 있다. 단, 중앙 서버가 다운될 경우 그동안은 업무가 마비되는 단점이 있다. 그리고 서버의 정보가 날아갈 경우 모든 히스토리가 날아가게 된다. 협업의 규모가 커지면 수정 충돌 문제 등이 발생할 수 있다.

비유하자면 나무위키의 문서 편집 시스템이 간단한 중앙집중식 버전 관리에 속한다. 대표적으로 Subversion이 있다.

분산 버전 관리 시스템 VCS

파일을 저장하는 서버가 있는 것은 위와 동일하지만 수정을 위해 프로젝트 전체를 로컬 컴퓨터에 다운 받은 뒤 수정한다.

중앙 서버가 다운되더라도 개별 사용자는 각자 작업이 가능하고 서버가 날아가도 다운 받은 내용은 남아있기 때문에 가장 안정적이다. 수정 시에도 현재 코드는 나 혼자 수정하고 있기 때문에 충돌의 염려 없이 수정할 수 있으며, 최종적으로 서버에 반영할 때에만 신경써서 머지(Merge)해주면 된다.

대표적으로 Git이 있다.