Presentation is loading. Please wait.

Presentation is loading. Please wait.

ReloadedStudios Inc Q Study TED

Similar presentations


Presentation on theme: "ReloadedStudios Inc Q Study TED"— Presentation transcript:

1 ReloadedStudios Inc. 2008.3Q Study TED
Erlang Overview TED likes erlang more than brad? ReloadedStudios Inc. 2008.3Q Study TED

2 개요 Erlang 을 대강 전체적으로 살펴본다. ‘최신 이슈’ 를 보고 Erlang 의 특징을 알아본다.

3 순서 최신 이슈 코드 특징 응용 마무리

4 Intro 동영상 소개

5 Erlang 함수형 언어 병행 지향적 분산 지향적 무정지 시스템

6 등장 인물

7 누가 Joe 일까요?

8

9 함수형 언어 경량프로세스 기반 메시지 통신 병행 & 분산

10 독자들은 서문을 안 읽는다. 서두가 1장! Erlang 을 공부하세요!

11 최신 이슈 멀티코어 확장성 분산 무정지 시스템

12

13

14

15 최신 이슈! 정말 중요! 안전성 생존성 재사용성 성능 확장성 멀티쓰레드 프로그래밍의 목적!

16 분산 처리 무정지 시스템

17 이 모든 것을 쉽게 할 수 있는 Erlang 을 공부하세요!

18 코드 5가지 Erlang 기본 문법

19 For 가 없다

20 qsort( [Pivot|T]) ->
qsort( [X || X <- T, X < Pivot] ) ++ [Pivot] ++ qsort([X || X <- T, X >= Pivot] ); qsort([]) -> [].

21 변수 & Atom 단일 할당 변수 Atom 은 #define 과 비슷 Single Obejct Pattern Immutable
1> X = 1. 1 2> X = 2. Error 3> hello. hello Atom 은 소문자로 시작! 단일 할당 변수 Single Obejct Pattern Immutable Atom 은 #define 과 비슷

22 패턴 매칭 = 은 할당 연산이 아니다. 단일 할당이 프로그램을 낫게 만든다. 1> X = (2+4). 6
2> Y = 10. 10 3> X = 6. 4> X = Y. Error 5> Y = 10. 6> Y = X. = 은 할당 연산이 아니다. 단일 할당이 프로그램을 낫게 만든다.

23 튜플 정해진 수의 항목을 하나의 객체로 그룹핑 한다. struct point { int x; int y; }
생성 : P = { point, 10, 45 } 사용 : { point, X, Y } = P 정해진 수의 항목을 하나의 객체로 그룹핑 한다.

24 리스트 List 의 앞과 뒤를 얻을 수 있다. 1> List1 = [ 1, 2, 3 ]. [ 1, 2, 3 ]
[ 4, 5, 1, 2, 3 ] 3> [ Num | List3 ] = List2 Num 는 4 List3 는 [ 5, 1, 2, 3 ] List 의 앞과 뒤를 얻을 수 있다.

25 프로세스 Spawn 함수로 프로세스를 생성 & 시작한다. Receive 안에서 메시지를 받는다. 재귀로 작동한다.
Pid ! Spawn( Fun 함수 ) loop() -> receive 패턴 매칭 -> DoSomthing(), loop(); void end. Spawn 함수로 프로세스를 생성 & 시작한다. Receive 안에서 메시지를 받는다. 재귀로 작동한다.

26 이 정도만 알면 병행,분산,무정지 등등을 쉽게 만들 수 있따?

27 세상은..

28 특징 함수형 언어 병행지향적 언어 분산 기능 결함 허용/복구

29 Erlang 함수형 언어 병행 지향적 분산 지향적 무정지 시스템 병행, 분산 Primitives 제공!

30 함수형 언어 진짜 작동 할까?

31 For 가 없다 패턴 매칭 & 단일 할당 SideEffect 가 없다!

32 병행 지향적 언어 라고 하는 걸까?

33 병행Concurrent 순차Sequential 병렬Parallel 어떠한 순서로 처리하든 상관없게 작업 분할 동시에
[분할 된 독립작업] 처리 순차Sequential 순서대로 [한 개] 처리 병렬Parallel 동시에 [여러 개] 처리

34 프로세스 간 협업 P P P How? P

35 메시지 통신 기반 Pid ! Spawn( Fun 함수 ) loop() -> receive 패턴 매칭 ->
DoSomthing(), loop(); void end.

36 Erlang Virtual Machine
VM 경량 프로세스 P P P P Erlang Virtual Machine

37 Thread Local Storage 와 비슷
공유 자원이 없다 Process#1 Process#2 Memory#1 Memory#2 Thread Local Storage 와 비슷

38 어떻게 분산 기능을 지원 할까?

39 네트워크 경계를 넘어!

40 무정지 시스템은 어떻게 만들 수 있을까?

41 다중 프로세스 연결 P P 프로세스 이중화? 같이 사는 프로세스

42 핫스왑 Ver.2 Ver.1 P P

43 OTP 가져다 쓰기 분산 서버 세계의 .NET Framwork ?

44 마무리 정리

45 정리 Erlang 을 대강 전체적으로 살펴본다. ‘최신 이슈’ 를 보고 Erlang 의 특징을 알아본다.

46 끝 감사합니다. Joonseok.ahn@live.co.kr 2008.10.15 Ted
얼랭과 함께 병행지행적 프로그래밍으로 고고싱! 감사합니다. Ted


Download ppt "ReloadedStudios Inc Q Study TED"

Similar presentations


Ads by Google