목록전체 글 (181)
초보개발자 긍.응.성
SVNSVN은 SubVersion의 단어의 줄임말로 중앙집중관리식 형상관리 소스 툴이다.현재는 형상관리를 위해 대부분 Git을 사용하지만, Git 이전에 사용되었던 툴이 SVN이다.소스 코드를 관리하는 방식이나 히스토리를 관리하는 방법은 다르겠지만, 오래된 소프트웨어의 경우 아직까지 SVN만이 지원되고 있어 간단한 사용 방법에 대해 정리하려한다.사용 방법SVN Client 설치mac의 경우 homebrew를 이용하여 subversion을 설치하자. brew install subversionwindow의 경우 TortoiseSVN 를 설치한다.checkout: SVN 저장소 다운로드svn 저장소의 내용을 로컬 파일시스템으로 가져오기위해 checkout 명령을 사용한다.checkout을 통해 저장소의 특정 ..
이 글은 헤드퍼스트 디자인패턴과 GoF 디자인패턴을 읽고 정리한 글입니다.1. 반복자 패턴(Iterator Pattern)컬렉션의 구현 방법을 노출하지 않으면서 집합체(aggregate object) 내의 모든 항목에 접근하는 방법을 제공하는 패턴1.1. 구성 요소Iterator항목에 접근하며 탐색할 수 있는 인터페이스를 정의합니다.ConcreteIteratorIterator 인터페이스를 구현합니다.집합체 항목에서 현재 탐색중인 위치를 관리합니다.Aggregate집합체 클래스로 Iterator 객체를 생성하는 인터페이스를 정의합니다.ConcreteAggregateAggregate 클래스를 상속하며 Iterator 를 생성하는 메서드를 구현합니다. 자신의 집합체에 대하여 알맞게 탐색할 수 있는 적절한 It..
이 글은 헤드퍼스트 디자인패턴과 GoF 디자인패턴을 읽고 정리한 글입니다.1. 템플릿 메서드 패턴(Template Method Pattern)템플릿 메서드 패턴은 알고리즘의 골격(skeleton)을 정의합니다. 템플릿 메서드를 이용하면 알고리즘의 일부 단계를 서브클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수도 있습니다.1.1. 구성 요소AbstractClass추상 메서드(primitiveOperation)를 정의합니다. 이는 서브클래스가 구현하게 됩니다.템플릿 메서드의 알고리즘의 골격을 정의합니다. 내부적으로 템플릿 메서드는 추상 메서드를 호출합니다.ConcreteClass추상 메서드(primitiveOperation)을 구현합니다.C..
이 글은 헤드퍼스트 디자인패턴과 GoF 디자인패턴을 읽고 정리한 글입니다.1. 퍼사드 패턴(Facade Pattern)퍼사드 패턴은 서브시스템에 있는 일련의 인터페이스를 통합 인터페이스로 묶어줍니다. 또한 고수준 인터페이스를 정의하여 서브시스템을 더 편리하게 사용할 수 있습니다.1.1. 구성 요소Facade요청에 대하여 어떤 subsystem이 적절히 처리할 수 있는지에 대해 알고 있습니다.클라이언트의 요청에 대한 처리를 적절한 subsystem 객체에 위임합니다.subsystem classes실제로 시스템에서 처리할 기능이 구현된 컴포넌트입니다.Facade 에 의하여 작업을 할당받습니다, 하지만 Facade 에 대하여서는 알고있지 않습니다(참조가 없음).1.2. 적용 방법복잡하고 여러 컴포넌트를 통해 ..
이 글은 헤드퍼스트 디자인패턴과 GoF 디자인패턴을 읽고 정리한 글입니다.1. 어댑터 패턴(Adapter Pattern)특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환합니다. 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있습니다.다중상속을 이용한 클래스 어댑터 (자바에서는 다중상속의 미지원으로 사용 불가능)구성을 이용한 오브젝트 어댑터1.1. 구성 요소TargetClient 가 사용할 인터페이스입니다.Client클라이언트로 Target 인터페이스를 따르는 객체를 사용합니다.Adaptee적응(adapting)이 필요한 인터페이스입니다.AdaptorAdaptee 를 Target 인터페이스로 적응시킨 객체입니다.Target 인터페이스를 따르기에 클라이언트가 사용할 ..
이 글은 헤드퍼스트 디자인패턴과 GoF 디자인패턴을 읽고 정리한 글입니다.1. 커맨드 패턴(Command Pattern)커맨드 패턴은 요청 내역을 객체(Command)로 캡슐화하여 객체를 서로 다른 요청 내역에 따라 매개변수화 할 수 있도록 합니다. 요청을 큐에 저장하거나 로그로 기록하거나 작업 취소 기능을 사용할 수 있습니다.1.1. 구성 요소Command작업 수행을 위한 인터페이스입니다.모든 커맨드 구상 클래스는 이 인터페이스를 구현합니다.ConcreteCommand특정 작업과 Recevier를 연결해줍니다.execute() 호출 시 Receiver 객체의 메서드를 호출하여 작업을 처리합니다.ClientConcreteCommand를 생성하고 Receiver를 설정합니다.Invoker커맨드 객체를 갖습..