일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 파이썬 강좌
- Play2 로 웹 개발
- 그라파나
- hyperledger fabric
- 파이썬 동시성
- Adapter 패턴
- Actor
- Hyperledger fabric gossip protocol
- 파이썬 머신러닝
- 스칼라 강좌
- 스위프트
- CORDA
- Akka
- Golang
- 블록체인
- 하이브리드앱
- 파이썬
- play2 강좌
- 주키퍼
- 안드로이드 웹뷰
- 엔터프라이즈 블록체인
- 파이썬 데이터분석
- Play2
- play 강좌
- 스칼라 동시성
- 이더리움
- 플레이프레임워크
- 스칼라
- 하이퍼레저 패브릭
- akka 강좌
- Today
- Total
HAMA 블로그
배경에 대해서 먼저 말해보면 현재 IoT 관제시스템을 만들고 있는데, 브라우저-웹서버 - 드라이버 - 중계서버 - 집중화서버 - 컨트롤러 - 디바이스 대략 이런식이다. 웹서버는 Spring 으로 만들어져있으며, 드라이버 컴포넌트를 임베디드한다. 프런트엔드는 AngularJS 기반의 자바스크립트 프로그램이다. 이 시스템은 양방향인데 간단하게, 디바이스에서 넘어오는 데이타도 처리하고 ,브라우져에서 디바이스로 보내는 데이터도 있다는 의미이다. 이때 브라우져에서 웹서버로 넘길때에는 Rest API 를 적절히 사용하며 디바이스에서 넘어오는 데이타를 브라우저에 적용할때, Vert.x 와 Socket.io 를 사용한다. Node 이 WebSocket 을 쉽게 사용할수있도록 Socket.io 가 있는것처럼 Vert.x..
* 작성되는글은 Holub on Pattern 을 보고 정리한것입니다. 먼저 BNF statement ::= INSERT INTO INDENTIFIER [LP idList RP] VALUES LP exprList RP | CREATE DATABASE IDENTIFIER| CREATE TABLE IDENTIFIER LP declarations RP| DROP TABLE IDENTIFIER| BEGIN | WORK | TRAN[SACTION]]| COMMIT | WORK | TRAN[SACTION]]| ROLLBACK [WORK | TRAN[SACTION]]| DUMP| USE DATABASE IDENTIFIER| UPDATE IDENTIFIER SET IDENTIFIER EQUAL expr WHERE ex..
GOF 의 디자인패턴중 하나인 인터프리터 패턴에 대해서 살펴보도록 하자. 인터프리터 패턴은 모든 종류의 GoF 패턴들 중에 가장 어렵다. 물론 인터프리터 자체를 만드는게 어렵 기때문에 덩달아 어렵다는 이야기이고, 모습 자체는 여느 디자인패턴과 비슷하다. 원래 디자인패턴이라는건 사실 모양은 다 비슷비슷하다. 그게 쓰여지는 의도에 따라서 패턴의 구분이 이루어진다. 인터프리터 패턴은 느낌 그대로 어떤 해석기, 즉 "간이언어" 를 만들기 위한 패턴이다. 예를들어 클라이언트-서버 프로그램을 만들때 , 프로토콜로 "사람이 자연스럽게 읽을수 있는 문법형태" 로 하자!! 라고 정할수있는데, 그때 사용하면 되겠다. 프로토콜 예로는 "Select * From Table" 이렇게~ 자 이 글에서는 "program repea..
카우치베이스의 아키텍쳐에서는 하둡 HDFS + MongoDB 의 냄새가 난다. Name 노드의 역할을 Cluster ManagerData노드의 역할을 Data Manager 가 하고있다.Cluster Manager 는 블럭 (카우치베이스에서는 버켓정보) 을 관리하고있고,DataManager 는 메모리/물리계층의 데이터관리를 하고있다.HDFS 처럼 클라이언트는 직접 데이터매니저로 접근해서 Query Engine 호출한다. 아래 글은 http://bcho.tistory.com/934 에서 가져온것으로 잘 정리되있다. Couchbase Server#6. Couchbase server 구조 소개 예전에 메모리 캐쉬 솔루션인 memcached에 디스크 persistence 기능을 추가하여 membase라는 솔루션..
순서1) HAMA with K-Means2) HAMA BSP Inside & Zookeeper 하마(Apache Hama) 는 빅데이터 분석(머신러닝) 을 위한 솔루션을 제공합니다. 흔히 알고있는 하둡(Hadoop) 의 맵리듀스 또한 빅데이터 분석 하는데 사용되는데 맵리듀스의 특성상 속도 및 구현에 있어서 굉장히 비효율적인 모습을 보여주는 부분이 있는데, 그런 가려운 부분을 화끈하게 해결해줍니다. 하마는 기본적으로 데이터 저장은 하둡 HDFS 를 사용하며 Zookeeper 를 이용하여 분산된 락을 구현하며 BSP / 그래프 구조를 통하여 각종 알고리즘을 구현할수있게 합니다. - 하둡의 맵리듀스 구조 ( 데이타 - 매핑 - 리듀싱 - 결과 저장)맵 노드간에 혹은 리듀스 노드간에 정보 교환하지 않습니다. 오..
도서관에 있는 책들과 인터넷 서핑을 통해 모은 정보들을 간략하게 정리해 봅니다. 부담없이 쭈욱 읽어가면 될듯.. 프린트해서 심심할때 읽어보셔도~ 자바 애플리케이션 성능 튜닝의 도(道) http://d2.naver.com/helloworld/184615 펌이 글은 월간 "마이크로소프트웨어" 2012년 9월호에 "자바 애플리케이션 성능 튜닝의 도(道)"라는 제목으로 실린 글입니다. 편집 과정을 거치며 일부 내용이 책에 실린 내용과 다를 수 있습니다.자바 애플리케이션의 성능을 튜닝하는 작업은 자바 및 JVM에 대한 지식과 수많은 튜닝 기법, 다양한 환경과 상황에 대한 경험 등을 필요로 한다. 그러나 이 모든 내용을 짧은 지면에서 소개하기에는 무리이니 이 글에서는 성능 튜닝 작업의 상세한 내용보다는 튜닝에 필요..
Scala 와 Python 의 비교를 통해서 이 언어들의 기초적인 언어 스타일링에 대해서 빠르게 훑어보도록 하겠습니다. Scala vs Python Scala 스칼라(Scala)는 객체 지향 프로그래밍 언어와 함수형 프로그래밍의 요소가 결합된 다중패러다임 프로그래밍 언어이다. C++ 가 C의 요소를 가져오긴 했지만 객체지향을 지향하듯이 스칼라도 함수형으로 개발하는것을 지향한다. 스칼라의 이름은 라고 발음하며 'Scalable Language'에서 따왔다. 적은 양의 코드로도 방대한 규모의 시스템을 작성할 수 있다는 특징이 있다.[2] 자바의 자바 가상 머신 에서 실행 할 수 있으며 자바의 API도 그대로, 혹은 스칼라의 형식에 맞춰 약간 수정한 형태로 사용 할 수 있다. 대중화를 위한 굉장히 큰 장점이다..
주키퍼에서 과반수 쿼럼을 사용하는 이유에 대해 설명해보겠습니다. 설명을 위해 과반수 쿼럼이 아닌 경우에 발생하는 문제를 예를 들어 설명합니다. 서버 5대로 앙상블을 구성하고, 쿼럼을 2대로 구성한다고 가정해 보겠습니다. 1. 사용자가 주키퍼에게 쓰기 작업 요청을 합니다.2. 주키퍼는 쓰기 작업 요청을 쿼럼(2대)으로 복제합니다.3. 5대 중 쿼럼(2대)에 쓰기 작업 요청이 복제되면 주키퍼는 쓰기 작업이 성공했다고 반환 합니다.4. 이 때 (쓰기 작업 내용을 가지고있는)쿼럼(2대)에 장애가 발생하게 되면 쓰기 작업 요청이 유실됩니다.5. 주키퍼는 쿼럼에 장애가 발생했으므로, 새로운 쿼럼을 구성합니다. 6. 쿼럼은 2대로 구성 가능하기 때문에 남아있는 3대의 서버 중 2대로 새로운 쿼럼을 구성하고 주키퍼 서..