Protected Banch란? 어떤 브랜치를 어떤 행위에 대해서 보호하기 위한 조치이다. 예를 들어 우리의 소중한 마스터 브랜치는 언제나 잘 작동하는 올바른 코드가 올라가야 할 것이다. 이 원칙을 지키기 위해 마스터 브랜치에는 항상 올바른 커밋 혹은 머지가 되어야 할 것이다. 우리는 이러한 브랜치를 보호하기 위해서 브랜치들에 대해 protection rule들을 설정 해 줄 수 있다. pull을 받으려고 하는 경우 permission 에러 발생 처음 GitLab에서 프로젝트를 생성하면 master brach는 디폴트로 proteced 상태이다. 대개 프로젝트 생성후 초기에 브랜치 보호를 해제하지 않고 멤버가 master branch를 pull 또는 push 하려는 경우 발생한다. 에러 발생 원인 먼저 ..
Spring은 @Autowired 어노테이션을 이용한 다양한 의존성 주입(DI; Dependency Injection) 방법을 제공한다. 의존성 주입을 해야 하는 이유 Test가 용이해진다. 코드의 재사용성을 높여준다. 객체 간의 의존성(종속성)을 줄이거나 없앨 수 있다. 객체 간의 결합도를 낮추면서 유연한 코드를 작성할 수 있다. 의존성 주입의 3가지 방법 생성자 주입(Constructor Injection) 필드 주입(Field Injection) 수정자 주입(Setter Injection) Spring Framwork reference에서 권장하는 방법은 생성자를 통한 주입 이다. 생성자 주입을 권장하는 이유 순환 참조를 방지할 수 있다. 불변성(Immutability) 테스트에 용이하다. 참고자료..
branch 종류 5가지 Git branch 를 검색하면 가장 많이 보는 이미지 이다 해당 이미지의 branch 들이 기본적으로 git flow 에서 많이 사용 하는 branch 이다 branch 사용용도는 다음과 같다. Master Branch - 제품으로 출시될 수 있는 브랜치 배포(Release) 이력을 관리하기 위해 사용. 즉, 배포 가능한 상태만을 관리한다. Develop Branch - 다음 출시 버전을 개발하는 브랜치 기능 개발을 위한 브랜치들을 병합하기 위해 사용. 즉, 모든 기능이 추가되고 버그가 수정되어 배포 가능한 안정적인 상태라면 develop 브랜치를 ‘master’ 브랜치에 병합(merge)한다. 평소에는 이 브랜치를 기반으로 개발을 진행한다. Feature branch - 기능..
IoC(Inversion of Control) 제어의 역전 객체에 대한 제어권이 개발자로부터 컨테이너로 넘어간 것 객체의 생성부터 생명주기 관리까지 전부 컨테이너가 맡아서 하기 때문에 제어를 컨테이너가 갖고 있다. 스프링에서 제공하는 컨테이너를 IoC 컨테이너라고 하기도 한다. 컨테이너가 직접 빈을 생성/관리하기 때문에 개발자는 코드에 new 등으로 선언하지 않아도 되며 이는 각 클래스들의 의존도를 줄여준다. IoC (Inversion of Control) 용어 bean : 스프링에서 제어권을 가지고 직접 만들어 관계를 부여하는 오브젝트 bean factory : 스프링의 IoC를 담당하는 핵심 컨테이너 application context : bean factory를 확장한 IoC 컨테이너 configu..