프로젝트
: 다수의 인원이 하나의 목표(서비스)를 이루기 위해 만들어 내는 프로세스
- 기획 > 디자인 > DB/클래스 설계 > 개발 > …
- 개발 협업
- 코드 리뷰
- 회의
- 컨벤션: 000 컨벤션
- Github 컨벤션
- 코드 컨벤션
- 등등
팀 프로젝트
📍 내세울 수 있는 포인트
- 소통(협업)을 기반으로 역할을 나타냄(= 기술 스택)
개인 프로젝트
📍 내세울 수 있는 포인트
- 기술 스택으로 프로젝트 전반적 관리
버전
: “프로젝트 유의미한 수정” 프로그램 기능 구분, 오류 수정, 업그레이드
cf. 정수로만 표현?
- 정수 → 메인 버전(기능이 크게 바꼈을 때)
- 소수점 → 서브 버전
버전 관리 시스템(VCS)
- 버전 관리 ⇒ 백업 가능
1. 로컬식
: 내 컴퓨터 안에서만, 협업 X
- ex) Git
- Git만 사용하면 본인용
- Github와 같이 사용해야 협업용
2. 중앙 집중식
: 중간에 있는 컴퓨터 한 대가 버전 관리를 해줌
- 단점
- 백업이 중간에만 되어있음
- 중앙 컴퓨터가 날아가면 끝
- ex) SVN
- 많은 기업들이 사용 중
- 기업 자체 원격 저장소
- Github는 MS 소유
3. 분산식
: 모든 컴퓨터가 버전 관리 + 프로젝트 단위로 비교
- ex)
- Git + Github(소통 지원)
- Bazaar
- Mercurial
- 등등
서버
: 데이터/연산 요청하는 컴퓨터
cf. 내 컴퓨터도 ‘서버’가 될 수 있다
깃과 깃허브의 관계
Git
: 로컬/분산식 버전 관리 시스템
: 컴퓨터에 설치해두는 “버전 관리 프로그램”
cf. 운영체제 # 스냅샷 # 메모리
Github
: 서버 버전 관리
- 소스 코드 용 구글 드라이브
- 충돌(감지) → 해결
CLI vs GUI
GUI(그래픽 유저 인터페이스)
- 사용자가 화면으로 (뒤에 뭐가 있는지 몰라도, 어떤 기능 쓰려면 어떤 명령어를 쳐야 하는지 몰라도) 그림만 클릭할 줄 알면 사용할 수 있음
- ex) 윈도우, 대부분의 프로그램 등
CLI(커맨드 라인 인터페이스)
- 명령어를 직접 침
- ex) 윈도우 커맨드(cmd), 맥 터미널, 리눅스 커널 등
cf. 리눅스 쉘 shell, git b a sh
자주 쓰이는 명령어
- git init: 초기화, 시작할 수 있는 상태로 만드는 것
- 해당 프로젝트 폴더 지금부터 관리 해줘
- git 폴더를 만들 때 사용
- git status: 현재 상태, 상황
- git log: 이력
- 공부 줄줄 X, 키워드 O
- → 공부하고 머릿 속에 남은 것을 뱉어내고 부족한 부분 추가
- 프로젝트(기술 - 이슈, 해결 / 공부)
- cf. (we)b + log “생각, 노력”
- git add: 폴더 안에 특정 파일 버전 관리 추가
- 파일이 아직 버전 관리 전이면, git 버전 관리 요청
- 파일이 버전 관리 중이면, 이미 커밋한 적이 있어서 수정 내용이 커밋 내용에 아직 들어가지 못한 경우 임시 공간에 모음
- git commit: 변경 사항 저장, 버전 업데이트/생성
- git rebase로 커밋 메시지 지울 수 있음
cf. 목적: 협업
- git rebase
- git merge/force ← 코드 합칠 때
Github - Readme.md
: 텍스트, 마크다운(깃허브 제공), 그림 등을 활용한 프로젝트를 설명하는 파일
📍 마크다운
: 웹 서비스 기반으로 돌아가는 글자 꾸며주는 기능
📍 작성 법
- 포인트 설계
- 이슈(문제, 구현 방법 3~4개), 해결(선택)
728x90
반응형
'패스트캠퍼스 FE 프로젝트십' 카테고리의 다른 글
[학습 블로깅] Javascript & Typescript (1) | 2024.04.21 |
---|---|
[학습 블로깅] 실무 CSS (0) | 2024.04.21 |
[학습 블로깅] VS Code (0) | 2024.04.11 |
[학습 블로깅] 프론트엔드 개발 (0) | 2024.04.11 |