본문 바로가기

프로그래밍/Erlang4

얼랭(erlang)으로 구현하는 다중서버 기반의 분산처리 플랫폼 얼랭(erlang)으로 구현하는 다중서버 기반의 분산처리 플랫폼 최근 대용량 데이터를 처리하는 플랫폼이 큰 관심을 끌고 있고 중심에는 hadoop이 있다. 또한 hadoop 내부 알고리즘인 map/reduce 알고리즘은 분산처리 플랫폼을 언급할 때 빠지지 않고 나오는 효율적인 분산 프로그래밍 모델이다. 스페셜 2부에서는 얼랭이 map/reduce 분산 프로그래밍 모델과 얼마나 궁합이 잘 맞는지 알아본다. map/reduce 란 무엇인가? 최근 몇 년간 구글의 면접에서 가장 흔하게 나온 질문이다. 수 백 메가의 데이터를 소팅(sorting)하려고 하는데 당신의 컴퓨터 사양은 아쉽게도 램이 64메가에 디스크는 딱 데이터를 담을 정도인 수 백 메가 밖에 없습니다. 하지만 운 좋게도 당신에게는 네트워크로 연결된.. 2013. 8. 26.
UNIX 개발자 관점에서 Erlang 배우기 UNIX 개발자 관점에서 Erlang 배우기 Erlang은 아키텍처와 함수적 특성을 선호하는 고유한 프로세스로 인해 멀티 코어 시대에 매우 적합합니다. 이 기사에서는 Erlang 프로그래밍과 관련된 기본적인 내용을 배웁니다. 소개 UNIX 개발자이거나 시스템 관리자라면 아마도 선호하는 도구나 도구 세트가 있을 것이다. 아마도 자주 사용하는 도구는 Perl, Python, sed 및 awk 또는 Ruby일 것이다. 그렇지 않고 Java™나 C++을 애용할 수도 있을 것이다. 일단 특정 도구 세트에 익숙해지면 새로운 언어를 배우기 위해 시간을 소비하는 것을 정당화하기는 매우 어렵다. 이러한 노력을 정당화할 수 있을만한 이유가 있어야 한다. Erlang은 배울만한 충분한 이유가 있다. 이 기사에서 필자는 Er.. 2013. 8. 26.
Erlang 프로그래밍 소개, Part 2: 고급 기능 사용하기 Erlang 프로그래밍 소개, Part 2: 고급 기능 사용하기 Erlang은 동시성 및 분산 시스템을 개발하는 데 주로 사용되는 다목적 프로그래밍 언어입니다. 이 시리즈의 Part 1에서는 Erlang을 소개하면서 Erlang의 함수형 프로그래밍 스타일과 기타 프로그래밍 패러다임(예: 필수적, 절차적 및 오브젝트 지향 프로그래밍)을 비교하여 살펴보았습니다. Part 2에서는 몇 가지 고급 기능을 사용하게 됩니다. 먼저 기본 기능을 배운 후에 동시성 프로그래밍과 프로세스 및 메시징을 배웁니다. 이러한 기능은 함께 작동하여 Erlang의 강력한 기능인 분산 프로그래밍을 지원합니다. 동시성 프로그래밍 단일 프로그램 내에서 동시에 여러 개의 프로세스를 실행하는 기능(다수의 프로그램을 동시에 실행하는 것과는 대.. 2013. 8. 26.
Erlang 프로그래밍 소개, Part 1: 기본 사항 Erlang 프로그래밍 소개, Part 1: 기본 사항 Erlang은 동시성 및 분산 시스템을 개발하는 데 주로 사용되는 다목적 프로그래밍 언어입니다. 처음에는 Ericsson에서 전화 및 통신 애플리케이션을 개발할 때 사용한 사설 프로그래밍 언어였습니다. 1998년에 오픈 소스로 릴리스되었으며 Facebook 채팅 시스템과 같은 유명한 프로젝트와 CouchDB 문서 지향 데이터베이스 관리 시스템과 같은 현실적인 오픈 소스 프로젝트에서 사용된 덕택에 최근에 더 유명해지게 되었습니다. 이 기사에서는 Erlang을 학습하고 Erlang의 함수형 프로그래밍 스타일 및 필수적이고 절차적인 오브젝트 지향 프로그래밍과 같은 다른 프로그래밍 패러다임을 비교합니다. 첫 번째 프로그램인 피보나치 재귀 함수를 작성하는 방.. 2013. 8. 26.