[데브코스][1-1] 프로젝트란?

·2024년 4월 9일
0

데브코스

목록 보기
1/20

1. 프로젝트 관리의 중요성

프로젝트란?

일정 목적을 달성하기 위한 모든 일련의 프로세스

엄청 방대하고 거대한 곳 아님

마무리 되어야만 하는 것 아님

프로젝트는 우리가 범위를 설정하기 나름

기획, 설계 등 모든 단계가 필요함

프로젝트 예시

계산기

노션

카톡

네이버

네이버라는 것도 거대한 프로젝트이지만,

네이버 안의 계산기를 만드는 것도 프로젝트임

협업

협업은 공유하는 것

개인 프로젝트와 팀 프로젝트의 차이는 많이 사라졌지만, 회사 현업에서는 대부분 협업 진행

따라서 협업하는 것 중요

협업을 위해서는 협업 툴 사용 및 공유하는 것이 중요함

코드 공유, 문서 공유, 진행 척도 등등 공유의 중요성

리드미

리드미 역할

  1. 완성된 프로그램의 설명서
    1. 프로그램 사용법
    2. 레퍼런스
  2. 구현 중인 프로젝트의 현황
    1. 구현된 주요 기능
    2. 구현 현황
    3. 코드가 해결해야하는 문제 등

2. 리드미 작성법(개념)

리드미는 확장자가 마크다운인 파일 (markdown → md)

일반 .txt는 말 그대로 텍스트일 뿐

전혀 특별한 꾸밈이 없음

글의 가독성을 위해서는 단조로운 형식의 텍스트보다는 글자 크기, 형태, 색 등을 변경할 수 있는 것이 중요함

다양한 환경과 사이트에서 제공

일반인들에게는 네이버 블로그 글쓰기 도구 같이 GUI 제공

3. 리드미 작성법(실습)

웹개발자들의 언어

리드미 상의 인용문 - 강조의 의미

마크다운 - 디스코드, 깃허브 등에서 모두 사용

특정 기술 학습하면, 문법 달달 외우지 말고 써보면서 익숙해지면서 체화해나가는 게 중요

4. 버전관리

버전이란?

유의미한 수정(추가되고, 풍성해진 코드)

기능 삭제, 기능 추가 등

버전 네이밍

1.0 > 1.1 > 2.0

1.0, 2.0이 메인 수정

1.1같은 건 좀 더 마이너한 수정

관리란?

버전이 잘 인덱싱이 되고 있나

다운그레이드, 업그레이드 등등

각 버전이 잘 정리되어있고 어떤 걸 의미하는지

원할 때 사용 가능하다면 관리가 잘 된 것

5. 버전 관리의 중요성

처음부터 완벽한 코드 작성 불가능

짜놓은 코드를 고도화해서 다음 버전 만들고, 반복

모든 버전들은 나름대로 그 버전에서의 완성본

버전 1은 버전 1에서는 완성본인 것

버전 관리 시스템

버전 관리를 하기 위해서는 version control system 활용

  • 버전 관리
  • 백업 복구
  • 협업(선택)

6. 버전 관리 시스템의 종류

로컬 VCS

단순하게 말 그대로 로컬에서 버전 관리

버전관리, 백업 복구 가능, but 협업 불가

다른 사람과 협업하기 위해 컴퓨터 연결한다든가하는 것 없음

여전히 혼자 수행

중앙집중식 VCS

버전관리, 백업 복구, 협업 가능

중앙 서버에 버전 파일 모두 저장

로컬에서 중앙 서버에 저장된 파일 일부 가져와서 작업

네트워크, 서로 연결만 되어있고 소통만 가능하다면 중앙 서버를 통해 다른 컴퓨터와도 소통, 협업 가능

분산 VCS

대표적인 시스템이 , mercurial, bazaar

버전 1의 시스템을 작업하고 싶다면 중앙집중식에서는 필요한 시스템만 가져와서 작업 진행

분산에서는 프로젝트 통째로 그대로 들고와서 작업함

파일 하나만 가져오면 시스템 꼬일 수 있는데 폴더 통째로 작업한다면, 꼬이기 쉽지 않고 꼬이더라도 수정이 용이함

꼬인다는 것?

A, B 컴퓨터 동시에 같은 파일을 가지고 작업

A 컴퓨터가 파일 작업 후 저장, B 컴퓨터가 이후 작업하려고 할 때, 복잡함

파일이 1개가 아니라 몇십개씩 된다면, 너무 복잡함

단위가 좀 더 크게 폴더, 프로젝트 단위로 관리 포인트를 줄어들 수 있게 관리

0개의 댓글