전체 글 31

Amazon Web Service로 클라우드 서버 구축하기 - 1

참 재미있는 시대인 것 같다. 아마존 웹 서비스(AWS)를 통해 우린 쉽게 클라우드 서버를 만들고 운영할 수 있게 되었다. 여기서 간단하게 Node.js 더미 서버를 올리는 과정을 기록하려고 한다. 우선 AWS 프리티어에 가입하여 계정이 존재한다고 가정한 후에 시작하려고 한다. 만약 가입되어있지 않다면, 블로그나 구글 검색을 통해서 가입을 한 후에 같이 시작하면 좋을 것 같다. 1. 먼저 AWS 로그인 하면 아래와 같은 대쉬보드에 접속이 된다. 2. 처음 가입한 사람은 아래와 같은 화면은 아닐 것이다. 가운데 Launch Instance가 있을 것인데, 그 버튼을 누르자. 3. 그러면 아래화면이 나타난다. 서버 선택 화면인데, 프리티어(1년무료 서비스) 제공자는 Free tier only 체크 박스를 체..

CPS(Continuation-passing Style) Coding Pattern.

사진 출처 : http://www.slideshare.net/jeongsangbaek/nodejs-15279050 CPS코딩 패턴은 함수 실행이 끝남과 동시에 연이어 함수가 또 실행되는 프로그래밍 모델로 비동기 프로그래밍 방식을 사용하는 Node.js에서 많이 활용되는 패턴입니다. 좀 더 쉽게 이야기하면 일반적인 동기식 프로그래밍 모델에서는 프로시저가 호출자에게 리턴하는 구조를 사용하지만, function sum(a, b) { return a + b; } console.log(sum(10, 20)); CPS는 continuation 인자(매개변수)로 전달된 콜백함수를 리턴할 위치에서 호출하는 구조를 사용합니다. // 전체 소스 function each(arr, iterator, callback){ if(..

Experiences/Node.js 2015.04.05

4. Android SDK 설치

요즘과 같은 모바일 시대에는 무엇을 개발할지 모르기 때문에 설치해두면 좋을 것 같다. 1. Android SDK 다운 먼저 http://developer.android.com/sdk/index.html에 방문하면 아래와 같은 화면이 나오는데.. SDK와 Eclipse를 포함한 패키지를 다운 받을 수 있다. 하지만 개인적으로는 Eclipse를 따로 SDK 따로 설치하는 것을 추천한다. 화면에 보이는 아래쪽에 보면 "DOWNLOAD FOR OTHER PLATFORMS" 라는 메뉴가 있는데 누르면 SDK Tools Only가 있다. 거기에서 플랫폼에 맞는 SDK를 다운 받아서 설치하면 된다. 2. 이클립스 설정하기 이클립스를 실행한 후 Help-Install new software를 실행해준 후에 Work W..

Experiences/Java 2014.06.09

3. Eclipse의 설치

보통 개발툴을 무엇으로 정해야할지 고민을 참 많이한다.나도 고민을 하다가 대중적으로 쓰이는 Eclipse를 쓰기로 결정했다.하지만......... 이놈의 버전은 왜 이렇게 많고...무엇을 받아야할지 헷갈린다.. +_+ 이클립스 버전과 코드명 / 종류 이클립스 버전 이름은 보통 우주와 관련된 천문학에서 따온 이름입니다.이 관례는 자바를 개발한 회사의 이름이 SUN이기 때문이라고 풀이되고 있죠. 그래서 이클립스 버전에 붙이는 코드명도 행성의 이름을 이용하고 있습니다. - Eclipse Europa - 3.3 (유로파) Eclipse Ganymede - 3.4 (가니메데) Eclipse Galileo - 3.5 (갈릴레오) Eclipse Helios - 3.6 (헬리오스) Eclipse Indigo - 3.7..

Experiences/Java 2014.06.09

2. JVM, JRE, JDK의 차이

자바를 시작하려고 하면 용어에 대한 혼동이 온다. 그 중 하나인 JVM, JRE, JDK의 차이에 대해서 알아보자. JVMJVM은 자바 가상머신(Java Virtual Machine)의 약자이다.JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. 또한 JVM은 플랫폼에 의존적이다. 즉 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다.JVM은 다음과 같은 역할을 한다.바이너리 코드를 읽는다.바이너리 코드를 검증한다.바이너리 코드를 실행한다.실행환경(Runtime Environment)의 규격을 제공한다. (필요한 라이브러리 및 기타파일)JREJRE는 자바 실행환경(Java Runtime Environm..

Experiences/Java 2014.06.09

1. Java SE, Java ME, Java EE ?

Java SE, Java ME, Java EE 1. Java SE (Java Standard Edition)자바 표준 에디션은 가장 기본이 되는 에디션입니다. 또한, 흔히 자바 언어라고 하는 대부분의 패키지가 포함된 에디션이죠.주요 패키지로는 java.lang.*, java.io.*, java.util.*, java.awt.*, javax.rmi.*, javax.net.* 등이 있지요. 2. Java ME (Java Micro Edition)자바 마이크로 에디션은 현재는 거의 사장된 에디션입니다. 당초 모바일 기기(피쳐폰, PDA폰) 등에서 사용되는 자바 기술에 대한 API가 포함된 에디션이였죠. 한 때는, 우리가 피쳐폰으로 Nat*와 같은 인터넷 서핑을 할 때, 모바일에서 보여지는 자바 기술들에 효과적..

Experiences/Java 2014.06.09

2-4. 하둡의 실행-3

이번 시간에는 Fully Distributed(완전 분산)모드에서 WordCount를 실행해보고 어떻게 작업이 진행되어지는지 웹 기반의 클러스터 UI로 확인해보는 작업을 진행해보자. 저번 시간까지 진행 되었던 부분까지라면 5개의 노드(master, backup, hadoop1, hadoop2, hadoop3)에 각각에 맞는 데몬들이 정상적으로 작동되고 있을 것이다. 먼저 WordCount를 실행하기에 앞서, 클러스터의 상태를 모니터링 할 수 있는 웹 인터페이스에 대해서 소개하고 넘어가겠다. NameNode는 50070 포트를 통해서 일반적인 정보를 제공한다. 이 인터페이스에서 사용자는 filesystem을 살펴보고 클러스터에 속한 각 DataNode의 상태를 확인할 수 있다.또한, 클러스터가 제대로 작동..

Experiences/Hadoop 2012.09.07

2-3. 하둡의 실행-2

Fully distributed(완전분산) 모드에 대해서 알아보자. 3. Fully distributed(완전 분산) 모드 지금버터는 모든 기능이 갖추어진 클러스터를 구성한다. 구성은 다음과 같다. 1. master - 클러스터의 master 노드로서, NameNode와 JobTracker 데몬을 제공한다.2. backup - SNN(Secondary NameNode 데몬)을 제공하는 서버3. hadoop1, hadoop2, hadoop3 - DataNode와 TaskTracker 데몬을 실행하는 slave Master 노드에서 하둡의 환경 설정 파일(3개의 xml)을 아래와 같이 수정하자. - core-site.xml 이 부분은 파일 시스템을 설정해주기 위한 부분이다. - mapred-site.xml ..

Experiences/Hadoop 2012.09.05