도서 소개
acorn+PACKT 시리즈. 줄리아(Julia)는 간력하고 기능이 풍부한 현대적인 프로그램 언어다. 코드를 쉽게 작성할 수 있을 뿐만 아니라 실행 속도도 빠르다. 빠른 개발 주기, 대량의 데이터, 다양한 컴퓨팅 환경이라는 현실에서 줄리아는 높은 추상력과 다중 패러다임을 지원하여 쉽고 빠르게 개발할 수 있도록 한다.
R, MATLAB, 파이썬(Python)과 같은 계산력을 지원하지만 휠씬 빠르다. 다른 언어와의 뛰어난 접착성뿐만 아니라, 언어 태생부터 멀티코어 환경을 고려하여 우아한 병렬 기능을 제공한다. 고성능 프로그램을 개발하고자 한다면 반드시 고려해야 할 언어다.
이 책은 데이터 과학자나 기술적, 과학적 계산 프로젝트를 수행하는 연구자에게 적합하며, 단순한 프로젝트 애플리케이션을 줄리아로 시작할 수 있도록 돕는다. 매트랩(MATLAB), R, 파이썬, 루비(Ruby)와 같은 고수준 동적(high-level dynamic) 언어에 대한 기본적인 지식이 있으면 이 책의 내용을 더 쉽게 이해할 수 있다.
출판사 리뷰
★ 요약 ★
줄리아(Julia)는 간력하고 기능이 풍부한 현대적인 프로그램 언어다. 코드를 쉽게 작성할 수 있을 뿐만 아니라 실행 속도도 빠르다. 빠른 개발 주기, 대량의 데이터, 다양한 컴퓨팅 환경이라는 현실에서 줄리아는 높은 추상력과 다중 패러다임을 지원하여 쉽고 빠르게 개발할 수 있도록 한다. R, MATLAB, 파이썬(Python)과 같은 계산력을 지원하지만 휠씬 빠르다. 다른 언어와의 뛰어난 접착성뿐만 아니라, 언어 태생부터 멀티코어 환경을 고려하여 우아한 병렬 기능을 제공한다. 고성능 프로그램을 개발하고자 한다면 반드시 고려해야 할 언어다.
★ 이 책에서 다루는 내용 ★
■ 고성능을 발휘하는 줄리아 개발 환경 설정
■ 고수준 동적 언어의 문제 해결과 필요시 데이터 타입을 명시하는 방법
■ 기본 타입 시스템을 확장해 사용자 타입 생성
■ IJulia와 시각화 패키지로 시각화
■ 테스팅, 디버깅, 성능 비교 등 기본 매크로 사용
■ 분산 환경에서 병렬적으로 문제를 해결하기 위해 줄리아 적용
■ C, 파이썬, 매트랩 등의 언어와 통합
★ 이 책의 대상 독자 ★
이 책은 데이터 과학자나 기술적, 과학적 계산 프로젝트를 수행하는 연구자에게 적합하며, 단순한 프로젝트 애플리케이션을 줄리아로 시작할 수 있도록 돕는다. 매트랩(MATLAB), R, 파이썬, 루비(Ruby)와 같은 고수준 동적(high-level dynamic) 언어에 대한 기본적인 지식이 있으면 이 책의 내용을 더 쉽게 이해할 수 있다.
★ 이 책의 구성 ★
0장, '줄리아를 사용해야 하는 근거'에서는 줄리아의 기본 원칙과 다른 언어와의 차이를 살펴본다.
1장, '줄리아 플랫폼 설치'에서는 줄리아 환경에 필요한 모든 구성 요소를 설치해본다. 줄리아 콘솔(REPL)의 작동법과 좀 더 편리한 개발 편집기에 대해 다룬다.
2장, '변수, 타입, 연산'에서는 코드를 작정하는 데 필요한 기본 타입과 이를 실행하는 연산자를 살펴본다.
3장, '함수'에서는 함수가 줄리아에서 기본 구현 블록인 이유와 효과적으로 사용하는 방법을 설명한다.
4장, '흐름 제어'에서는 줄리아의 뛰어난 흐름 요소와 오류 처리, 코드 실행을 구성하는 코루틴(coroutine)을 사용하는 방법을 살펴본다.
5장, '컬렉션 타입'에서는 개별 값을 그룹화하는 배열(array), 매트릭스(matrix), 튜플(tuple), 딕셔너리(dictionary), 셋(set) 같은 타입을 살펴본다.
6장, '타입, 메소드, 모듈'에서는, 타입 개념에 대해 좀 더 자세히 살펴보고 C 언어와 같은 성능을 얻기 위해 멀티플 디스패치를 사용하는 방법을 알아본다.
7장, '메타프로그래밍'에서는 표현식(expression), 리플렉션(reflection) 기능과 같은 줄리아의 내부를 다루며 매크로(macro)의 강력함을 설명한다.
8장, 'I/O, 네트워킹, 병렬 컴퓨팅'에서는 데이터프레임(DataFrame)을 사용해 파일이나 데이터베이스의 데이터를 다루는 방법을 살펴본다. 네트워킹 기능과 병렬 컴퓨팅을 설정하는 방법도 설명한다.
9장, '외부 프로그램 실행'에서는 운영체제 명령을 사용하는 방법, 다른 언어와 함께 사용하는 방법, 성능 개선 팁을 다룬다.
10장, '표준 라이브러리와 패키지'에서는 표준 라이브러리를 살펴보고, 주요 데이터 시각화 패키지를 설명한다.
부록, '매크로와 패키지 목록'에서는 편리한 매크로와 이 책에서 사용한 패키지 참고 목록을 제공한다.
작가 소개
저자 : 이보 발바르트
벨기에 커뮤니티 대학 CVO 안트베르펜(Antwerpen)(www.cvoantwerpen.be)에서 (웹)프로그래밍과 데이터베이스를 가르치고 있다. 1986년 안트베르펜 대학에서 응용 물리학 박사 학위를 받았다. 20년 동안 소프트웨어 산업계에서 개발자와 컨설턴트로 일했고, 10년간 안트베르펜 대학병원에서 프로젝트 매니저를 맡았다. 2000년 이후로, 소프트웨어를 개발하며 대학에서 학생을 가르치고 있다.2012년에 루비 온 레일스 개발 소개서인 『Programmeren met Ruby en Rails』(Van Duuren Media)를 집필했고, 2012년에 Go 프로그래밍 언어에 대한 『The Way To Go』(iUniverse)를 저술했다. 2013년에는 제난 리드야노빅(Dzenan Ridjanovic)과 함께 팩트출판사에서 『Learning Dart』와 『Dart Cookbook』도 공저했다.
목차
0장 줄리아를 사용해야 하는 근거
줄리아 소개
다른 언어 사이에서 줄리아의 위치
데이터 과학자 관점에서 다른 언어와의 비교
MATLAB
R
파이썬
유용한 링크
요약
1장
줄리아 플랫폼 설치
줄리아 설치
__윈도우 버전: 윈도우XP SP2부터 지원함
__우분투 버전
__OS X
__소스로 빌드
줄리아 셸로 작업
시작 옵션과 줄리아 스크립트
패키지
__새로운 패키지 추가
줄리아 스튜디오 설치해 작업
IJulia 설치해 작업
Sublime-IJulia 설치해 작업
Juno 설치
다른 편집기와 IDE
줄리아 작동 방법
요약
2장 변수, 타입, 연산
변수, 이름 짓는 규약, 주석
타입
정수
부동소수점 수
기본 수학 함수와 연산자
실수와 허수
문자
문자열
__숫자와 문자열 형식화
정규 표현식
범위와 배열
__다양한 배열 생성 방법
__배열의 공통적인 함수
__문자 배열을 문자열로 변환
날짜와 시간
유효범위와 상수
요약
3장 함수
함수 정의
선택 아규먼트와 키워드 아규먼트
이름 없는 함수
일급 함수와 클로저
재귀 함수
맵, 필터, 리스트 컴프리헨션
제네릭 함수와 멀티플 디스패치
요약
4장 흐름 제어
조건 평가
반복 평가
__for 반복문
__while 반복문
__break 명령문
__continue 명령문
예외 처리
유효범위 다시 보기
태스크
요약
5장 컬렉션 타입
매트릭스
튜플
딕셔너리
__키와 값: 반복
셋
__튜플의