레이블이 example인 게시물을 표시합니다. 모든 게시물 표시
레이블이 example인 게시물을 표시합니다. 모든 게시물 표시

2011년 2월 18일 금요일

explaining time server in Erlang

http://www.erlang.org/examples/klacke_examples/time_server.erl
%%%----------------------------------------------------------------------
%%% File    : time_server.erl
%%% Author  : Claes Wikstrom <klacke@erix.ericsson.se>
%%% Purpose : 
%%% Created :  3 Nov 1998 by Claes Wikstrom <klacke@erix.ericsson.se>
%%%----------------------------------------------------------------------
%%% 이 예제는 다른 예제보다, 매우 practical하기 때문에 
%%% 초보자는 반드시 이해하면 좋겠다.
-module(time_server).
-author('klacke@erix.ericsson.se').
%%% module 이름과 저자에 대한 명시이다. module은 반드시 명시해야 한다.
-export([start/0, loop0/1]).
%%% 외부에 공개할 인터페이스이다. start와 loop0가 공개가 되고, 
%%% loop0의 arity(인수의 수)는 1이다.
-define(PORTNO, 2345).

start() ->
    start(?PORTNO).
start(Pno) ->
    spawn(?MODULE, loop0, [Pno]).
%%% 시작시 loop0를 실행하는 process를 생성한다.
loop0(Port) ->
    case gen_tcp:listen(Port, [binary, {packet, 0}, {active, false}]) of
 {ok, LSock} ->
     loop(LSock);
 _ ->
     stop
    end.
%%% gen_tcp의 모듈에 있는 listen을 호출하고, 그 결과가 ok이면 LSock을 
%%% 받아서 loop를 호출한다.
%%% 그렇지 않으면 stop한다.
loop(Listen) ->
    case gen_tcp:accept(Listen) of
 {ok, S} ->
     gen_tcp:send(S, io_lib:format("~p~n", [{date(), time()}])),
     gen_tcp:close(S),
     loop(Listen);
 _ ->
     loop(Listen)
    end.

%%% accept가 성공하면, Socket(S)를 받아서 date(),time()을 찍어서 send하고, 
%%% close한다. 그리고 다시 loop를 돈다. 

도움이 되셨다면, 광고 클릭을 ㅎㅎ ^^

2011년 1월 26일 수요일

hello,world Using neo4j

1. neo4j.1.4를 다운로드 한다.
  http://neo4j.org

2.eclipse에서 Java Project 를 생성한다.

3. reference(external) library에 neo4j/lib에 있는 *.jar 파일들을 넣는다.

4. http://wiki.neo4j.org/content/One_Minute_Guide_Complete_Code

java class를 생성하여, 여기에 있는 소스를 넣는다.

5.  run하면, Hello, brave Neo4j world!

실행이 확인된다.

jar 파일들을 보면, 버젼이 1.0이 넘지 않는 파일들이 꽤 많습니다.
아직 미성숙한 것처럼 보이지만, 이 프로젝트는 앞으로 유망하다고 판단됩니다.
계속 지켜보면서 그래프 데이터베이스의 발전을 지켜볼 생각입니다.
가능하다면,  contribute 도 하고 싶습니다.

도움이 되셨다면, 광고 클릭을 ㅎㅎ ^^