프로젝트의 사진적 의미는 다음과 같다.
일정한 기간 안에 일정한 목적을 달성하기 위해 수행하는 업무의 묶음,
하나의 프로젝트는 정해진 기간, 배정된 금액, 투입인력 등 일정한 제약조건 하에 각종 요구사항을 수행하는 방식으로 진행된다.
즉, 하나의 프로그램을 만들기 위한 일련의 프로세스라고 할 수 있다.
그리고 프로젝트는 범위에 따라 큰 프로젝트 안에서 많은 작은 프로젝트가 진행되기도 한다.
ex) 계산기, 노션, 카카오톡, 게임 등등
취업을 위해서는 개인프로젝트와 팀프로젝트는 기술인 부분을 증명하는데에는 똑같이 적용될 수 있다.
하지만 회사는 한명의 사람이 모든걸 만들지 않고 많은 사람들이 함께 개발을 하게된다.
그렇기에 팀 프로젝트를 진행하고 관련 협업튤들을 사용해본 경험을 무조건적으로 물어보게된다.
개발자는 기본적으로 코드로 소통을 하게된다.
하지만 개발을 위해서는 다른 많은 사람들의 도움이 필요하므로 우리는 여러방식으로 다른사람들과 공유를 해야한다.
그중 README.md를 통해 공유하는 방법이 있다.
readme의 역할은 크게 2가지가 있다.
1️⃣ 완성된 프로그램의 설명서
- 프로그램의 사용 방법
- 레퍼런스
2️⃣ 구현중인 프로젝트의 현황
- 구현된 주요 기능
- 구현 현황
- 코드가 해결해야하는 문제
README.md의 .md는 m(ark)d(own)를 의미한다.
즉, 마크다운 문법을 사용한 파일이라는 말이다.
마크다운 사용법
MarkDownd이란
일반 텍스트 문서의 양식을 편집하는 문법이다. 마크다운을 이용해 작성된 문서는 쉽게 HTML 등 다른 문서형태로 변환이 가능하다.
그러므로 일반 사용자들도 웹에서 쉽고 예쁘게 글을 쓸 수 있게 제공하는 하나의 기술이다.
단순한 텍스트 문서에서 가독성 높은 글로 표현할 수 있게된다.
대표적으로 GitHub에서 사용하는 Github-Flavired Markdown이 있다.
사전적인 의미로는 다음과 같다.
효율적으로 상품을 관리하기 위한 목적으로 소프트웨어, 하드웨어 상품의 개발 단계 또는 순서를 번호로 표시한 것이다.
버전에 따라 내용과 기능에 차이가 있으므로 명확히 표시하는것이 좋다.
버전은 어플이나 게임을 했던 사람이라면 보통 1.0 , 10.0.12, 이런식의 숫자가 시작화면 오른쪽 밑에 표기되는 것을 볼 수 있을것이다.
보는것과 같이 1.0 > 1.1 > 1.2 > 2.0 등등 으로 표기하여 해당 프로그램이 상위 버전이라는 것을 알 수 있다.
버전의 표기는 코드의 수정을 전제로 이를 구분하기 위해 꼭 필요한 것이다.
졸업논문 최종 완성본.hwp
졸업논문 최종 완성본1.hwp
졸업논문 최종 완성본2.hwp
졸업논문 진짜 최종 완성본.hwp
졸업논문 진짜진짜 최종 완성본.hwp
.
.
.
다음과 같은 일이 생겼을 때, 제목만 봐서는 어떤게 달라졌는지 우리는 알 수 없다.
그래서 개발자들은 버전에 따른 리드미를 작성하는 식으로 해당 버전마다 어떤것이 달라졌는지를 기록하여야 한다.
하지만 최근에는 Version Control System(VCS)를 통해 버전을 관리할 수 있게 된다.
VCS란?
특정 문서 또는 소프트웨어 등의 버전을 안전하게 관리(기록, 유지, 갱신)하는 시스템이다.
버전관리 시스템은 크게 3가지가 있다.
1. 로컬 VCS
2. 중앙집중식 VCS
3. 분산 VCS
가 있다.
로컬 즉, 내 컴퓨터 안에서만 사용할 수 있는 VCS이다.
버전관리만을 사용할 수 있으며, 백업 복구와 협업에는 사용하는데 어려움이 있다.
대표적으로 RCS, SCCS가 있다.
중앙 집중 즉, 서버에서 버전을 관리하는 것이다.
버전관리 뿐만아니라 백업 복구와 협업이 가능하다.
만, 팀원은 가장 최신 버전만을 사용할 수 있으며, 서버에 문제가 생겼을때 작업을 할 수 없게된다.
로컬 VCS와 같이 만약 서버에 문제가 생긴다면 백업 복구에 어려움이 생기게된다.
해당 방식에도 2가지 방법이 더 있다.
분산은 중앙 집중과 같이 서버를 가지고 있지만, 팀원이 서버에서 파일을 가져올때, 모든 문서를 가져와 기존의 방식들의 제일 큰 단점인 백업 복구를 용이하게 만들었다.
대표적으로 Git이 있으며, 현재는 Git이 지배적으로 사용되고 있다.
Git이란?
대표적인 분산 VCS중 하나로 여러명의 개발자들 간에 버전관리를 용이하게 해주는 튤이다.
Git은 협업에서 빛을 발휘하기 때문인데, 대표적으로 3가지 장점이 잇다.