학습 기록/데브코스 웹 풀스택 4기

포트폴리오 / 협업 환경 구성 (1)

romi__ 2024. 8. 12. 18:07

date 24.08.12. 

 

프로젝트 관리의 중요성

프로젝트? 하나의 프로그램을 만들기 위한 일련의 프로세스

  • 소스 구현 뿐 아니라 기획, 설계, 테스트, 배포 등을 전부 포함
  • 예시: 계산기 만들기, 노션 만들기 등

리드미 Readme

  • 완성된 프로그램의 설명서 - 프로그램 사용 방법, 레퍼런스 등을 설명
  • 구현중인 프로젝트의 현황 - 구현된 주요 기능, 구현 현황, 코드가 해결해야 하는 문제 등
  • 리드미는 프로젝트의 성공과 직결된다.

 

리드미 작성법(개념)

리드미는 특별한 파일이 아닙니다. 그냥 확장자만 .m(ark)d(own)일 뿐

그럼 마크다운은 무엇인가요?

  • txt → 단조롭게 글만 적을 수 있음
  • md → 글자 크기 굵기 등 설정 가능: 가독성 상승
  • 일반 사용자들도 웹에서 쉽고 예쁘게 글을 쓸 수 있게 제공하고 있는 하나의 기술
  • 즉, 텍스트를 웹 기술로 바꿔주는 하나의 도구인 셈
    • 주요 목적 딱 2개! 읽기 쉽게, 쓰기 쉽게!
  • 마크다운: 위키백과, 티스토리, 노션에서 사용 중 → 사용되는 곳이 생각보다 많다
    • 그 중에서도.. 깃헙 markdown: Github-Flavored Markdown

 

그렇다면 리드미를 작성해보자(실습)

 

마크다운 방식으로 적어서 발행하면

 

 

이렇게 생성된 리드미 파일을 볼 수 있다.

https://github.com/romiwaves/web-fullstack-4th/blob/main/README.md

위 링크에서 확인 가능

 

버전 관리

버전이란?

  • 유의미한 수정을 의미
    • 기존 (abc) → 수정 ( abc) ⇒ 유의미하지 않음!
    • 기능 추가, 기능 삭제 등
    • 1.0 > 1.1 > 1.2 > 1.21 > … > 2.0 → 전부 버전!
  • 서브 버전?
    • 메인 버전 사이의 족구만 버전

 

버전 관리의 중요성

  • 최종, 최종의 최종, 최종의 최종의 최종… 이런 것들 깔쌈하게 관리 가능
  • 넘 귀찮나요?
    • 그래서 우리는 버전 관리 시스템을 씁니다 = version control system
      • 버전 관리, 백업 복구, (선택적으로) 협업

 

버전 관리 시스템의 종류

  • 로컬 VCS
    • 사용하고 있는 기기 안에서만 일어나는 일. 버전관리 + 백업 + 복구
    • 따라서 협업은 불가능함 → 그냥 버전 관리를 깔끔하게 하려는 것!
  • 중앙집중식 VCS
    • 중심에 컴퓨터를 하나 두는 것 → 여기에 전부 저장을 할 거야!
      • 필요한 파일을 가져와서 작업하는 방식
    • 별 차이는 없는데 저장을 다른 컴퓨터에 하는 것뿐?
      • 버전관리 + 백업 + 복구 + 협업 가능
    • 대표적으로 SVN, CVS가 있음
  • 분산 VCS
    • 마찬가지로 내 컴퓨터에도, 다른 컴퓨터에도 저장함
      • 파일 하나만 가져오는 것이 아니라, 프로젝트를 통으로 가져옴
      • 수정 후 완료된 파일을 통으로 다시 가져다줌
        • 꼬일 일이 많지 않아서 굿: 관리 포인트가 줄어든다
    • 대표적으로 Git, Mecurial, Bazaar