반응형
Git 와 Git-flow
Git
- 분산 소스코드 관리 방식
- 소스코드 주고받기가 필요 없음
- 병렬 개발 가능
- 버전 관리 용이
- < 용어 설명 >
- 저장소 : 로컬 저장소, 원격 저장
- 체크아웃 : 특정 시점이나 브랜치의 소스코드로 이동
- 스테이지 : 작업한 내용이 올라가는 임시 저장 영역
- 커밋 : 작업한 내용을 로컬 저장소에 저장하는 과정
- 태그 : 커밋의 임의 위치에 쉽게 찾아갈 수 있도록 붙여놓은 이정표
- 푸쉬 : 로컬 저장소의 내용 중 원격 저장소에 반영되지 않은 커밋을 보내는 과정
- 풀 : 원격 저장소에 있는 내용중 로컬 저장소에 반영되지 않은 내용을 가져오는 과정
- 브랜치 : 커밋을 단위로 구분된 소스코드 타임라인에서 분기해서 새로운 커밋을 쌓을 수 있는 가지를 만드는 것
- 병합 : 하나의 브랜치는 다른 브랜치와 합치는 과정
Git-flow
- 소프트웨어의 소스코드를 관리하고 출시하기 위한 '브런치 관리 전략'
- 꽤 오래전에 나온 전략 -> 단점 보완 : github-flow, gitlab-flow
- 주요 브랜치
- 배포(Master) 브랜치
- 배포 했거나 배포 준비된 코드는 'origin/master' 에 두고 관리
- master 브랜치에 병합 == 새버전 배포
- master 브랜치에서 커밋 될 때 git hook 스크립트를 걸어서 자동으로 빌드하여 운영서버로 배포
- 개발(Develop) 브랜치
- 배포하기 위해 관리하는 코드는 'origin/develop' 에 두고 관리
- 프로젝트를 진행하는 개발자들이 함께 보며 업무를 진행하는 브랜치
- develop 브랜치의 코드가 안정화되고 배포할 준비가 되면 master 브랜치로 병합하고 배포버전으로 태그
- 배포(Master) 브랜치
- 보조 브랜치
- 기능(Feature) 브랜치
- 배포하려고 하는 기능을 개발하는 브랜치
- 시작 브랜치 : develop / 병합 브랜치 : develop /
브랜치 이름 규칙 : master, release, hotfix 를 제외한 것
- 출시(Release) 브랜치
- 실제 배포할 상태가 된 경우에 생성하는 브랜치
- master 브랜치를 통해 배포하기로 함 -> master 브랜치에 병합
- 배포된 기능에 반영될 수 있어야 함 -> develop 브랜치에 병합
- 시작 브랜치 : develop / 병합 브랜치 : develop, master /
브랜치 이름 규칙 : release-*
- 긴급수정(Hotfix) 브랜치
- 미리 계획되지 않은 배포를 위한 브랜치
- master 브랜치에 생성해둔 태로부터 긴급 수정 브랜치 생성
- 시작 브랜치 : master / 병합 브랜치 : develop, master /
브랜치 이름 규칙 : hotfix-*
- 기능(Feature) 브랜치
OOP
- = Object Oriented Programming, 객체 지향 프로그래밍
- 기본 구성 요소
- 클래스(Class) = 객체 지향 프로그램의 기본적인 사용자 정의 데이터형
- 객체(Object) = 클래스의 인스턴스(실제 메모리상에 할당된 것)
- 메서드(Method) = 객체에 명령을 내리는 메시지
- 특징
- 자료 추상화
- 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는 것
- 상속(다중 상속)
- 클래스가 2개 이상의 클래스로부터 상속 받을 수 있게 하는 기능 ( NO JAVA )
- 다형 개념
- 어떤 한 요소에 여러 개념을 넣어 놓는 것 ( = 오버라이딩, 오버로딩 )
- 프로그램 안의 객체 간의 관계를 조직적으로 나타낼 수 있다.
- 동적 바인딩
- 실행 시간 중에 일어나거나 실행 과정에서 변경될 수 있는 바인딩
- 프로그램의 한 개체나 기호를 실행 과정에서 여러 속성이나 연산에 바인딩함으로써 다형 개념을 실현한다.
- 자료 추상화
- 장점
- 강한 응집력 : 클래스에 하나의 문제 해결을 위한 데이터를 모아 놓은 데이터형을 사용함
- 약한 결합력 : 클래스 간에 독립적으로 디자인함으로써 결합력을 약하게 할 수 있다.
반응형
'Android Developer' 카테고리의 다른 글
[Android] ListView, Navigation Drawer (0) | 2019.03.24 |
---|---|
[Android] Fragment (0) | 2019.03.13 |
[Android] Naming (0) | 2019.03.01 |
[Android] 정의, 버전 및 특징, 액티비티 (0) | 2019.02.23 |
[BCSD] 2. DataStructure - 2019.01.28 (0) | 2019.01.28 |