()은 ()을 구현하는데 널리 이용되고 있습니다.

()은 그 다음 단계의 결과가 실행할때마다 다르게 나올 수 있는 알고리즘을 의미합니다. 참고로 ()은 결과가 유니크(Unique)합니다. 즉, 특정 값으로 떨어집니다.

()의 예는 "오늘 날씨 어떻지?"라는 함수를 호출했을때, 아침에는 "맑음"이었는데, 같은 함수를 오후에 호출하면 "흐림"으로 나오는 것이 그 예라고 할 수 있습니다.

은 크게 3개의 컴포넌트로 이루어져 있습니다.

모든 컴포넌트는 를 통해 제어되며, 각각의 컴포넌트들은 백보드의 데이터 객체(data object)로 생성되어, 각각의 패턴에 맞는 로부터 패턴이 일치하게 되면 정해진 프로세스를 수행하게 됩니다.

Blackboard pattern은 오늘날 NLU(Natural Language Understanding)이나 차량인식 등에 응용되는 아키텍쳐

()은 (), (), , () 등에 응용되고 있습니다.

마지막으로 ()의 장단점을 언급하면, 새로운 애플리케이션을 쉽게 추가할 수 있다는 장점이 있습니다만, 데이터 공간의 구조를 변경은 모든 애플리케이션이 영향을 받기 때문에 하기가 어렵다는 단점이 있어 동기화 및 접근 제어가 필요할 수 있습니다.



facebook posting twit

  • 넷플릭스 서비스 오토스케일링 아키텍쳐
  • 플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 – InnoDB는 인메모리 캐싱을 하는 고성능 솔루션
  • 아틀라시안 뱀부(Atlassian Bamboo)를 활용한 CI(Continuous Integration) 환경 구축
  • 아키텍쳐 패턴이란 – 소프트웨어 디자인 패턴
  • Interpreter pattern은 SQL 또는 통신프로토콜을 기술하는 언어 구현시 주로 이용되는 아키텍쳐
  • MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐
  • Event-bus pattern은 Push Notification Service, 안드로이드 앱 개발에 주로 응용되는 아키텍쳐
  • Peer-to-peer pattern은 BitTorrent와 같이 파일공유 솔루션이나 P2PTV, PDTP와 같은 멀티미디어 프로토콜에 주로 이용
  • Broker pattern은 Apache ActiveMQ, Apache Kafka, RabbitMQ 등 메시지 미들웨어 같은 아키텍쳐에 주로 이용
  • Pipe-filter pattern은 컴파일러와 같이 통해 연속되는 필터링 기법을 통한 분석을 하는 아키텍쳐에 주로 이용
  • Leave a Reply