본문 바로가기

DEV

(51)
GitLab - protected master branch 해제하기 도움이 되셨다면 공감(♡) 부탁드립니다. 감사합니다. ■ Symptoms pull을 받으려고 하는 경우 permission 에러 발생 처음 GitLab에서 프로젝트를 생성하면 master brach는 디폴트로 proteced 상태이다. 대개 프로젝트 생성후 초기에 브랜치 보호를 해제하지 않고 멤버가 master branch를 pull 또는 push 하려는 경우 발생한다. ■ Solutions 1. 해당 프로젝트로 이동 2. Settings > Repository 이동 3. Protected branches 항목에서 [Expand] 클릭 - 해당 브랜치에서 [Unprotect] 클릭 상세 항목들이 나타나는데, merge와 push를 role에 따라 설정할 수도 있다. (지금 이 부분이 중요한 것은 아니다)..
GitLab - 프로젝트 삭제 GitLab - Delete project 도움이 되셨다면 공감(♡) 부탁드립니다. 감사합니다. 1. Your Project > 삭제할 프로젝트 클릭 2. Settings > General 클릭 3. 맨 아래쪽 Advanced 항목에서 ‘expand’ 클릭 4. 다시 맨 아래쪽으로 내리면 Delete project 항목이 있음 ‘Delete project’ 클릭 팝업 화면에서 나오는 프로젝트 경로를 확인하고 그대로 복사해서 입력후 (맞으면 삭제버튼이 활성화됨) 프로젝트 삭제 클릭
Design Patterns - 4. Adapter Pattern 기존 코드를 재사용하기 위해 외부 인터페이스를 변환하는 작업이 많은데, 어댑터 패턴은 기존의 코드를 재사용하기 위해 내적, 외적 구조를 변환할 때 사용한다. 어댑터 패턴을 적용하면 클라이언트의 입장에서는 변화된 것 없이 기존 방식과 동일하게 코드를 작성해서 사용할 수 있다. Adapter 패턴은 한 클래스의 프로그래밍 인터페이스를 다른 클래스의 프로그래밍 인터페이스로 변환할 때 사용된다. 하나의 프로그램에서 서로 연관 관계가 없는 클래스들을 서로 연결하려 할 때 이 패턴을 사용할 수 있다. 이것을 구현하는 경우, 상속(Inheritance)을 이용하거나 객체 컴포지션(Object Composition)을 사용하는 두 가지 방법이 있다. 첫째, 상속을 이용하는 방법은 상이한 인터페이스를 가진 클래스로부터 ..
Design Patterns - 3. Singleton Pattern 하나의 클래스 당 하나의 인스턴스만을 생성하도록 하고, 그 인스턴스에 접근하는 단 하나의 static 메서드를 제공한다. 생성자가 여러번 호출되더라도 생성되는 객체는 하나이고 최초 생성 이후에는 생성한 객체를 리턴한다. 즉, 단 하나의 객체만 생성하고 생성된 객체를 공유해서 사용할 때 사용하는 패턴이다. Windows에서 작업 관리자, 프린트 스풀러 같은 것이 예. Spring에서 bean은 Singleton 객체이며 beanfactory 레지스트리에서 관리된다. 로그 프레임워크들에서 로그 객체들도 Singleton 이며 레지스트리에서 관리된다. ■ UML Class Diagram public static MakeACaptain getCaptain() // 클래스를 제어하는 단 하나의 공용 메서드 ■ C..
Design Patterns - 2. Factory Method Pattern 예제는 『Java Design Patterns A Tour of 23 Gang of Four Design Patterns in Java』 (Apress, 2016) 에서 가지고 옴 추상클래스가 객체 생성을 정의하지만, 객체 생성은 하위 서브클래스가 결정하는 구조. JDK에서 사용된 예 - SocketFactory https://docs.oracle.com/javase/8/docs/api/index.html?javax/net/SocketFactory.html ■ UML Class Diagram IAnimalFactory : Animal 생성을 정의한 추상 클래스 ConcreteFactory : 객체 생성 담당, IAnimalFactory의 구현(하위) 클래스, AnimalType을 인자로 받아서 객체를 생..
Design Patterns - 1. 디자인 패턴이란 최근에 디자인 패턴에 대해 다시 보고 있는 내용들을 블로그에 정리하여 본다. ■ GoF 먼저 GoF(Gang of Four)에 대해 얘기가 필요할 것 같다. 『Design Patterns: Elements of Reusable Object-Oriented Software』 제목의 책이 Addison-Wesley를 통해 1994년에 출판되었다. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides가 같이 썼으며 이 책의 저자 4명을 GoF라 얘기한다. 객체지향 설계 이론과 실천에 있어 중요한 원천이 되는 책이며 이후 프로그래밍 언어 디자인에 대해 막대한 영향을 끼쳤다. GoF의 디자인 패턴중 많이 알려지고 사용되는 패턴들을 정리해보고자 한다. ■ Design..
Scouter - 설치 도움이 되셨다면 공감(♡) 부탁드립니다. 감사합니다. ◈ Scouter 란? Scouter는 오픈 소스 APM (Application Performance Management) tool ◈ Scouter Architecture Server, Agent, Client 3개 모듈로 구성 Server(Collector) : Agent가 보내오는 데이터를 수집 처리 Agent : 성능 데이터를 데이터 수집하여 Server로 데이터를 보낸다 agent.host - CPU, 메모리, 디스크 등 서버의 성능 데이터 수집 agent.java - Java 프로그램의 성능 데이터 수집 Client(Viewer) : Server에 수집된 데이터를 확인하는 Client 프로그램 ◈ 설치 정보 및 설치 파일 다운로드 Serve..
GitLab - 프로젝트에 멤버 추가하기 도움이 되셨다면 공감(♡) 부탁드립니다. 감사합니다. ● 추가할 프로젝트 클릭 > 프로젝트 홈으로 이동 ● Project information > Members 클릭 ● Invite member 탭 > GitLab member or Email address 초대할 멤버가 GitLab 회원가입되어 있으면 GitLab 계정 입력, 가입되어 있지 않으면 메일 주소로 invite 메일 발송됨 ● role 선택 Guest, Reporter, Developer, Maintainer ※ permission에 따른 action 표 https://docs.gitlab.com/ee/user/permissions.html ● Access expiration date 지정 지정하지 않으면 기간 제한 설정 없음 ● invite..