본문 바로가기

분류 전체보기

(91)
MQTT Borker 선정 고려사항 MQTT Broker를 선정시 고려할 사항을 정리합니다. MQTT는 서비스 품질(QoS)에 대해서 3가지 레벨의 신뢰성을 제공합니다. 일반적으로는 QoS 0를 선택하고, Application Level에서 처리하고 있습니다. QoS Level 0 (최대 한번): 기본 전송 모드, 가장 빠른 모드 QoS Level 1 (최소 한번): 중복 메시지가 전달 될 수 있음 QoS Level 2 (정확히 한번): 가장 느린 모드 MQTT 보안에는 크게 Authentication, Authorization 부분과 Network 그리고 Payload 검증 부분으로 나눠집니다. 위의 3가지 요소중에 Clustering 방식을 가장 선호하며 MQTT Cluster를 구성하는 목적은 아래와 같습니다. MQTT Broker를..
P-Value (유의확률) P-value에 대해서 알기전에 귀무가설(Null Hypothesis: H0)과 대립가설(Alternative Hypothesis: H1)에 대해서 이해를 해야 합니다. 우리가 어떤 가설을 만들었을 때, 가설 검정 절차에서 선행되어야 할 부분이 귀무가설과 대립가설의 설정이고, 두 개의 가설이 정반대로 설정되어야 합니다. 귀무가설은 기존에 일반적으로 받아들여지고 있는 내용이며,아래와 같이 세 가지 유형이 있습니다. ~와 같다. (=), ~ 이상이다. (>=), ~ 이하이다. (= 0.05 로 설정합니다. 귀무가설은 대립가설과 정반대이므로 아래처럼 설정합니다. H0: p
CORS server flow chart
Maven과 Ant 현재 진행중인 프로젝트는 폐쇄적이다. 다시말하면 폐쇄망 환경이다. Maven의 Central Repository는 꿈도 꾸지 못하는 환경이다. 내부 Nexus를 통해서 3rd party library를 지원해야 한다. 이런 환경에서 굳이 Maven을 사용해야 하는지에 대해서 의구심을 가지는 사람들이 있다. Ant와 Maven중 어느 것이 더 나은가?는 논쟁거리이지만, 본 글에서는 몇 가지의 차이점을 명확히 하고자 한다. Ant는 고전이다. 빌드 프로세스로서는 훌륭하다. Ant는 빌드 프로세스만 정의한다. Ant는 생명주기를 가지지 않는다. 목표에 대한 의존 관계를 정의해야 하며, 각 목표에 대한 작업을 추가해야 한다. Ant는 절차적이다. 진행 과정을 정확하게 정의해야 한다. 프로젝트가 대형화되면 Ant..
Apache Storm 테스트 저번에 설치한 Apache Storm을 가지고 몇 가지 테스트를 진행하였다. 굳이 테스트를 진행하지 않고도 결과는 예측이 가능했지만…., #테스트 목적 Spout, Bolt가 Single node일 경우 Sequential이 보장되는가? Spout, Bolt가 Parallel node일 경우 Sequential이 보장되는가? 우선, 테스트를 위해 JsonFormatterBolt, DataMapperBolt, ResultBolt와 SingleTopology, ParallelTopology 클래스를 만들었다. 결론은 생각한바와 같이 Single worker 작업시에만 Sequential을 보장한다. 소스는 이곳을 참조
Command pattern (커맨드 패턴) 옆에 계신 정모 부장님이 요 근래에 Batch 관련 가이드를 준비하고 계신다. 모듈당 N개의 Batch 프로그램이 있다고 하면, 각각 Executable 형태로 제공하는 것이 좋을 것인가? 아니면 관리적 측면에서 Grouping 하여 제공하는 것이 좋을 것인가에 대한 의견이 분분하다. 이런 경우에는 각 모듈별로 하나의 Batch 프로젝트를 구성하고 수행해야 할 Job Method 호출을 캡슐화(Encapsulation) 하는 것에 대해서 공감대가 형성되었다. http://kapilnevatia.blogspot.kr/2011/11/command-pattern.html
DPDK (Data Plane Development Kit) 란? 오늘날 네트워크 기술은 널리 활용되고 있고, 전용 네트워크 어플라이언스 장비들을 가상화 네트워크에서 동작 시키기 위한 NFV(Network Function Virtualization) 기술이 각광을 받고 있습니다. NFV는 기존 장비들을 동일한 성능에서 지원한다라는 전제 조건이 있습니다. 일반적으로 우리가 Native환경에서 어떤 프로그램을 사용하는 것과 가상화 환경에서 사용할 경우에는 Performance의 Gap이 존재하게 됩니다. DPDK는 Intel에서 개발한 고성능 패킷 처리 소프트웨어로 고속 패킷 처리를 위한 라이브러리와 드라이버를 제공하고 NFV의 네트워크 성능을 높이기 위한 핵심 기술입니다. DPDK의 특징: 리눅스 or 윈도우의 Kernel 대신에 네트워크 패킷을 처리하는 응용 소프트웨어..
베이커 넘버 (The Oracle of Bacon) 좀 오래된 얘기지만 버지니아 대학에서 만든 “The Oracle of Bacon(http://oracleofbacon.org)"사이트가 있다. 이 사이트는 일종의 영화배우에 대한 데이터베이스이다. 영화에 출연한 배우이름을 입력하면 Bacon Number를 알려준다. Bacon Number의 의미는 영화배우 “케빈 베이컨”과 함께 영화에 출연했는지에 대한 여부와 출연 횟수를 기준으로 둘 사이의 거리를 측정하고 그 배우가 케빈 베이컨까지 몇 단계만에 연결이 되는지를 나타내는 수이다. 헝가리의 수학자 폴 에르되시(Paul Erdos)는 세계 각국의 수학자들과 공동 연구를 하였고 발표한 논문은 약 1500편이다. 이 정보를 기준으로 에르되시 제자들은 에르되시에게 0이라는 수를 공동 저자에겐 1, 공동 저자들과 ..