Architecture(40)
-
Aho–Corasick string matching algorithm란?
Aho–Corasick string matching algorithm패턴 집합에 대한 매칭 알고리즘타 알고리즘 시간 복잡도 : - ( : 모든 패턴들의 길이 합, : 패턴 수, : text 크기) Aho–Corasick 알고리즘 시간 복잡도 : (k : 텍스트 내에 패턴의 발생 수) Aho-Corasick 알고리즘을 구현하기 위하여 Keyword Tree, Failure link, Output link 자료구조를 사용하여야 한다. 음..대충 이런 알고리즘이라는 것을 알게 되었다.좋은 오픈 되어진 소스를 발견!https://github.com/robert-bor/aho-corasick 디펜던시를 넣고 개발을 하면 되겠다! 메이븐 org.ahocorasick ahocorasick 0.3.0 그래들 compi..
2016.03.30 -
SOLID (object-oriented design)
객체지향적으로 개발 할 때 OOD를 따져서 설계하고 개발한다면 더욱 더 좋은 소스가 될 수 있다. 한번 알아보도록 하자! 출처 : http://en.wikipedia.org/wiki/Solid_(object-oriented_design) 추억의 솔리드..ㅋㅋㅋㅋㅋ 이밤에 끝을 잡고~ Initial Stands for (acronym) Concept S SRP Single responsibility principle - 단일 책임의 원칙 a class should have only a single responsibility. 하나의 클래스에 오직 하나의 책임이어야 한다는 원칙. 예를 들어 MVC 패턴이 나오기까지...jsp에 모든 것을 다 때려 넣었던 그런 시절이 있었다...단일 페이지에 모든 것을......
2014.02.26 -
[DesignPattern] Decorator Pattern
Decorator Pattern 개요 클래스 다이어그램 예제(Java) 같이보기 참고 사항 > Decorator Pattern 이란? 데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. (출처 : 위키피디아 - http://ko.wikipedia.org/wiki/%EB%8D%B0%EC%BD%94%EB%A0%88%EC%9D%B4%ED%84%B0_%ED%8C%A8%ED%84%B4) 의도 객체에 동적으로 새로운 서비스를 추가 기능 추가를 위해 서브클래스를 생성 하는 것 보다 융통성이 있음. 아래의 로봇 사진 출처 : http://blog.naver.com/Pos..
2014.01.27 -
[DesignPattern] Chain of responsibility pattern
Chain of responsibility Pattern 개요 예제(Java) 같이보기 참고 사항 >Chain of responsibility Pattern 이란? (참고 사이트 : 위키피디아 - http://ko.wikipedia.org/wiki/Chain_of_responsibility_%ED%8C%A8%ED%84%B4)객체 지향 디자인에서 chain-of-responsibility pattern은 명령 오브젝트와 일련의 프로세스 오브젝트를 포함하는 디자인 패턴이다. 각각의 프로세스 오브젝트는 명령 오브젝트를 핸들할 수 있는 연산의 집합으로 이루어지고, 체인안의 프로세스 오브젝트가 핸들할 수 없는 행해진다. 이 작동방식은 새로운 프로세스 오브젝트에서 체인의 끝까지에도 포함된다.표준 chain-of-r..
2014.01.20 -
[DesignPattern] Visitor pattern
Visitor Pattern 개요 예제(Java) 같이보기 참고 사항 >Visitor Pattern - 구조안을 돌아다니면서 일을 한다. 네이버 어학사전(software, design, ) A behavioural design pattern that separats an algorithm from an object structure on which it operates. - 행위 디자인 패턴이고 객체 구조로부터 분리하는 하나의 방법이다. 이런 분리는 존재하고 있는 객체 구조에 그 구조를 수정하지 않고 새로운 동작을 추가 할 수 있도록 해준다. 이것은 open-closed principle에 따르는 하나의 방법이다. 또한, 오퍼레이션!! 동작이라고 생각하자.비지터 패턴은 객체의 요소에 대해 수행하는 오퍼레..
2014.01.11 -
[DesignPattern] Iterator pattern
Iterator Pattern 개요 예제(Java) 같이보기 참고 사항 > Iterator Pattern - 하나씩 열거하면서 처리 한다. > 1. 결과 실용주의 프로그래머 애자일 프로젝트 파워 스피치 왜 일하는가? 2. 테스트 코드 package kr.pe.acet.iterator; public class AggregateTest { @org.junit.Test public void testIterator() throws Exception { BookShelf bookShelf = new BookShelf(4); bookShelf.appendBook(new Book("실용주의 프로그래머")); bookShelf.appendBook(new Book("애자일 프로젝트")); bookShelf.appendB..
2014.01.06