본문 바로가기
반응형

분류 전체보기155

디자인 패턴 - Factory Pattern Factory Pattern (조금 더 구체적인 용어로는 Factory Method Pattern) ㆍ팩토리 패턴은 생성 패턴(Creational Pattern) 중 하나. 생성 패턴은 인스턴스를 만드는 절차를 추상화하는 패턴. 생성 패턴에 속하는 패턴들은 객체를 생성, 합성하는 방법이나 객체의 표현 방법을 시스템과 분리해줌. 생성 패턴은 시스템이 상속(inheritance)보다 복합(composite) 방법을 사용하는 방향으로 진화되어 가면서 더 중요해지고 있음. 생성 패턴에서는 중요한 두가지 이슈가 있음. 1. 생성 패턴은 시스템이 어떤 Concrete Class를 사용하는지에 대한 정보를 캡슐화 함. 2. 생성 패턴은 이들 클래스의 인스턴스들이 어떻게 만들고 어떻게 결합하는지에 대한 부분을 완전히 .. 2022. 6. 25.
Algorithm - Network Flow, Edmonds-Karp Network Flow(네트워크 플로우)란? 특정한 지점에서 다른 지점으로 데이터가 얼마나 많이 흐르고 있는가를 측정하는 알고리즘. / 한 정점에서 다른 정점까지 흐를 수 있는 데이터의 최대 크기가 어느정도 인지를 확인하는 알고리즘. (얼마나 많은 유량(Flow)를 보낼 수 있는지를 계산/ 이러한 알고리즘은 교통 체증, 네트워크 전송, 전자 회로의 전류, 배수관을 흐르는 유체, 유량구하기 등의 다양한 분야에서 활용됨. / 유향 그래프에서 각 간선은 데이터가 흐를 수 있는 정해진 용량으로 제한되어 있으며 이를 최대한의 양으로 얼마나 흐르게 할 수 있는지를 확인함. -> 최대 유량 문제(Max Flow)로 정의하며 해결하기 위한 알고리즘으로 에드몬드 카프 알고리즘(Edmonds-Karp)를 적용함. - 유량.. 2022. 6. 22.
Algorithm - Topological Sort(위상 정렬) Topological Sort : 어떤 일을 하는 순서를 찾기 위한 알고리즘. / 방향 그래프에 존재하는 각 정점들의 선행 순서를 위배하지 않으면서 모든 정점을 나열하는 것. / '순서가 정해져 있는 작업'을 차례로 수행해야 할때, 그 순서를 결정해 주기 위해 사용하는 알고리즘. 위상 정렬은 여러 개의 답이 존재할 수 있음. 또한 위상 정렬은 DAG(Directed Acyclic Graph)에만 적용이 가능함. -> 사이클이 발생하지 않는 방향 그래프. 사이클이 발생하는 경우 위상 정렬은 수행 불가. Topological Sort 의 특징 : 하나의 방향 그래프에는 여러 위상 정렬이 가능. / 위상 정렬의 과정에서 선택되는 정점의 순서를 위상 순서(Topological Order)라 함. / 위상 정렬의.. 2022. 6. 12.
SuldenLion의 Web Game을 즐겨보세요 ▶ Tetris https://jwsite.cf/tetris/newtetris 테트리스 자잘한 오류랑 백업데이터 한번 날려먹는바람에 테트리쓰가 아니고 스트레쓰 받을뻔함.. -> 타일 좌표값 그림판으로 확인하면서 만듦.. 그래도 우여곡절끝에 html, javascript만으로 웹에서 돌아가 jwsite.cf ▶ Typing Game https://jwsite.cf/typinggame/newtyping Typing Game SuldenLion 남은 시간: 0초 획득 점수: 0점 게임을 불러오는중... Related Videos for You Nam tincidunt consectetur Nam tincidunt consectetur Do you want to get our latest updates? Ple.. 2022. 6. 7.
디자인 패턴 - Compound Pattern Compound Pattern이란? 컴파운드 패턴은 이름 그대로 여러 디자인 패턴이 혼합된 디자인 패턴을 말함. 일련의 패턴을 함께 사용하여 다양한 디자인 문제를 해결함. 반복적으로 생길수 있는 일반적인 문제를 해결하기 위한 용도로 사용됨. 패턴으로 이루어진 패턴. / 하지만 단순히 여러 패턴이 사용되었다고 해서 컴파운드 패턴인 것은 아님. 앞서 말했듯 여러 패턴이 사용되는 동시에 일반적인 문제를 해결하는데 반복적으로 사용될 수 있어야 함. Compound Pattern의 대표적인 예시는 그 유명한 MVC Pattern. MVC Pattern이란? MVC(Model-View-Controller) Pattern은 하나의 application, project를 구성할 때, 그 구성요소를 역할에 따라 모델-뷰.. 2022. 6. 1.
디자인 패턴 - Singleton Pattern Singleton Pattern : Program이 시작될 때 어떤 클래스가 최초 한번만 메모리를 static하게 할당하고 그 메모리에 instance를 만들어 사용하는 패턴. / 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나고 최초 생성 이후에 호출된 생성자는 이전에 생성했던 객체를 반환함. -> 자바에서는 생성자를 private으로 선언해서 생성 불가하게 하고 getInstance()로 받아서 쓰기도 함. / registry 같은 설정 파일의 경우 객체가 여러개 생성되면 설정 값이 변경될 위험이 생길 수 있다. Instance가 하나만 생성되는 특징을 가진 싱글턴 패턴을 이용하면, 하나의 instance를 메모리에 등록해서 여러 thread가 동시에 해당 instance를 공유하여 사용.. 2022. 5. 22.
반응형