2014/01 18

Vert.x Worker Concept

Worker에 대한 개념 설명[개인 공부 노트이기 때문에 설명이 매우 어렵습니다. 나중에 다 이해하면 다시 개념 정리해서 올리도록 하겠습니다.]관련 코드 : https://github.com/bwcho75/vertx_study/tree/master/worker_sample 앞단의 Network 핸들러 (TCP,HTTP)등에서 request를 읽은 후에, Event Bus 를 통해서 Backend의 Worker로 보낸다. 이 개념은 JMS나 MQ등을 이용해서 뒷단에서 Message Consumer 들이 처리하는 Q 기반의 Async 기반의 개념과 매우 유사하다. 그럼 Vert.x에서 차이점은 이 Worker가 작업을 처리한 후에, 작업을 끝내면 작업 완료 메시지가 Message Producer (즉 Net..

Vert.x Note - Verticle & instance and Thread

Vert.x 기본 개념 잡기 1. Verticle- The package of coe that Vert.x executes(Java,JavaScript,Python,Groovy 등 여러가지 언어로 작성될 수 있음)- Verticle은 기본적으로 Non Blocking으로 작동함- Blocking으로 작동하는 Verticle은 Worker Verticle을 사용함. 2. Module- Set of Verticla- Application 은 1개 이상의 Module로 구성되고, Module은 1개 이상의 Verticle로 구성됨 Vertx의 실행단위는 Verticle 또는 Module 3. Vert.x instance- Verticle은 instance 내에서 동작하는데, 하나의 instance 내에서는 여..

Vert.x 노트

1. vert.x를 다운받아서 설치2. Python을 사용하기 위해서 Jython 을 설치- Jython 인스톨 방법은% java -jar jython_installer-2.5.2.jar 환경변수에 JYTHON_HOME을 Jython 인스톨 디렉토리로 설정 환경 준비 완료 3. 간단한 Python 테스트 ※ Company Proxy로 인하여, Vertx 모듈이 설치가 되지 않는 경우. 방법 1. Vertx는 module (라이브러리)를 외부 리포지토리로 부터 읽어와서 자동 설치 하는데,회사 proxy 등을 사용할 경우 설치가 안되며, 이를 회피하기 위한 방법도 없다. 방법은 간단한 웹서버를 로컬에 띄운후, mod.zip 파일을 그 디렉토리에 넣어야 한다.이때 주의할점은 vertx는 repository의 ..

In memory dictionary Redis 소개

redis Introduction IntroRedis는 "REmote DIctionary System"의 약자로 메모리 기반의 Key/Value Store 이다.Cassandra나 HBase와 같이 NoSQL DBMS로 분류되기도 하고, memcached와 같은 In memory 솔루션으로 분리되기도 한다.성능은 memcached에 버금가면서 다양한 데이타 구조체를 지원함으로써 Message Queue, Shared memory, Remote Dictionary 용도로도 사용될 수 있으며, 이런 이유로 인스탄트그램, 네이버 재팬의 LINE 메신져 서비스, StackOverflow,Blizzard,digg 등 여러 소셜 서비스에 널리 사용되고 있다.BSD 라이센스 기반의 오픈 소스이며 최근 VMWare에 ..

AngularJS - Service,Factory 그리고 Provider의 차이

결과적으로 모두 Service를 정의하는 방법의 차이 - 코딩 스타일의 차이? (그렇다면 왜 만들어 놨을까?) What is service,factory and provider Difference between service and factoryhttp://blog.manishchhabra.com/2013/09/angularjs-service-vs-factory-with-example/ 서비스를 생성하는 방법이 여러가지가 있는데 (클래스를 객체화 시키는 것 처럼)Service를 가지고 직접 생성하는 방법이 있고,아니면 Factory를 생성한후, Factory에서 instance를 받는 방법이 있고아니면 Constructor에서, 받아서 생성하는 방법이 있고또는 Provider를 사용하는 방법이 있다. 개..

Fiddler를 간단한 JSON 웹서버로 사용하기.

Fiddler는 간단하면서도 아주 강력한 웹 디버깅 툴이다. http://fiddler2.com중간에서 웹서버 프록시 역할을 하면서, 오고 가는 트래픽을 모두 모니터링 및 디버깅할 수 도 있고, 기존에 보냈던 트래픽을 replay해서 다시 보낼 수 도 있다. (WireShark 보다 웹디버깅 측면에서는 오히려 더 편한듯).여러가지 기능이 있지만,오늘은 Fiddler를 json 웹서버 처럼 사용하는 방법에 대해서 소개하고자 한다.요즘 들어서, 특히 자바스크립트로 웹 클라이언트를 개발하는 일이 잦아지면서, 클라이언트 개발시 서버가 필요한데, 특히 JSON 서버의 경우에는 별도의 서버를 올리고, 간단하더라도 JSON 서비스를 만들어줘야 하기 때문에, JSON 클라이언트를 만드는 입장에서는 꽤나 번거롭다. 이를..

AngularJS 개발 환경 준비하기

Sublime Text 2 에디터 1. Package installer 설치 방법메뉴에서 View > Show Console을 선택. Console 창이 열리면 아래와 같은 명령어를 이력 import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wb..