장바구니 담기 close

장바구니에 상품을 담았습니다.

프로그래밍 클로저(LISP)

프로그래밍 클로저(LISP)

  • 스튜어트할로웨이
  • |
  • 인사이트
  • |
  • 2010-06-25 출간
  • |
  • 336페이지
  • |
  • 188 X 254 X 30 mm /660g
  • |
  • ISBN 9788991268777
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




“클로저는 전통적인 LISP에 그 뿌리를 두고 있으면서도, 참신한 개념을 도입하고 기존 자바 라이브러리를 그대로 사용할 수 있게 함으로써 새로운 프로그래밍 방식을 보여주고 있다.”
- CodeSherpas, Inc.의 데이비드 바크(David Bock)

LISP의 개념을 대부분 갖춘 데다 실용성까지 겸비한 LISP 언어를 원한다면 단연 클로저(Clojure)가 답이다. 클로저는 자바에서 쓰던 상용구들을 그대로 갖고 와 쓸 수 있다는 장점이 있어 다른 LISP 언어들보다 실용성이 높다는 평을 듣고 있다. 다른 LISP 언어와 달리 LISP가 지닌 대다수 개념을 기본으로 내장하고 있으니 LISP를 처음 접하는 사람에게는 LISP로 진입하는 벽을 한결 수월하게 넘게 해주는 언어이기도 하다.
새로이 LISP를 배우고자 한다면, 또 LISP 세계로 들어가는 데 거듭 실패했다면 <<프로그래밍 클로저>>가 좋은 길잡이가 되어 줄 것이다.

-. 클로저는 우아한 언어다. 클로저는 매우 신중하게, 그리고 깔끔하게 설계되었고, 덕분에 프로그래머가 군더더기 없이 자신의 의사를 표현할 수 있게 되었다.
-. 클로저는 LISP다. 클로저는 LISP 고유의 강력함을 지니고 있지만, 역사적인 이유로 LISP가 가져왔던 한계는 가지고 있지 않다.
-. 클로저는 함수형 언어다. 많은 경우에 한 번 정해진 값은 변경이 불가능하고, 대부분의 함수가 부효과를 일으키지 않는다. 이와 같은 특성이, 작은 단위의 프로그램을 조합해 큰 프로그램을 만드는 것을, 한층 쉽고 정확하게 할 수 있도록 해준다.
-. 클로저는 자바를 포함한다. 클로저에서는 별도의 계층을 거치지 않고 바로 자바를 호출할 수 있다.
-. 요즘 인기 있는 언어 가운데 표현력은 좋지만 속도는 느린 많은 동적 언어들과 달리, 클로저는 빠르다. 클로저는 최근 자바 가상 머신에서 가능한 최적화의 이점을 모두 활용하여 만들어졌다.


목차


옮긴이의 글
추천의 글
지은이의 글
감사의 글

서문 xiv
0.1 누구에게 맞는 책인가
0.2 어떤 내용을 다루는가
0.3 이 책 활용법
함수형 언어를 사용하는 개발자에게
자바와 C# 개발자에게
Lisp 개발자에게
펄, 파이썬 또는 루비 개발자에게
0.4 이 책의 표기 규칙
0.5 웹 자료와 의견 수렴
0.6 예제 코드 다운로드

1장. 시작하기
1.1 왜 클로저인가
클로저는 우아하다
클로저 - Lisp의 부활
왜 Lisp인가
괄호가 적은 Lisp
클로저는 함수형 언어다
클로저는 병행 프로그래밍을 간단한 일로 만든다
클로저는 자바를 포함한다
1.2 클로저 코딩 시작하기
REPL 사용하기
특수 변수
공유 상태 추가
1.3 클로저 라이브러리 살펴보기
require뿐 아니라 use를 사용해 보자
문서 찾아보기
1.4 Lancet 소개
1.5 정리

2장. 클로저 둘러보기
2.1 기본 구문
숫자 타입 사용하기
심벌
문자와 문자열
불리언과 nil
맵, 키워드, 구조체
2.2 리더 매크로
2.3 함수
익명 함수
언제 익명 함수를 사용할까
2.4 var, 바인딩, 이름 공간
바인딩
디스트럭처링
이름 공간
2.5 흐름 제어
if를 이용한 분기
do로 부효과 일으키기
loop/recur를 이용한 반복
2.6 for 루프는 언제 나올까
2.7 메타데이터
리더 메타데이터
2.8 요약

3장. 자바와 같이 일하기
3.1 자바 호출
생성자, 메서드, 필드에 접근하기
간편 문법
자바 컬렉션 사용
편의 함수
3.2 성능 최적화
3.3 자바 클래스를 만들고 컴파일하기
3.4 예외 처리
3.5 Lancet에 앤트 프로젝트 및 태스크 추가
3.6 정리

4장. 데이터를 시퀀스로 다루기
4.1 모든 것은 시퀀스
4.2 시퀀스 라이브러리 사용하기
4.3 지연 시퀀스와 무한한 시퀀스
4.4 자바 개체 역시 시퀀스처럼
4.5 특정 자료구조용 함수
4.6 Lancet 태스크에 속성 추가하기
4.7 정리

5장. 함수형 프로그래밍
5.1 함수형 프로그래밍의 개념
5.2 어떻게 연산을 지연시킬까
5.3 더욱 게을러지기
5.4 다시 재귀로
5.5 정리

6장. 병행성
6.1 락(lock)의 문제
6.2 ref와 소프트웨어 트랜잭션 메모리(STM)
6.3 제어가 필요 없는, 동기화된 갱신에 애텀 사용하기
6.4 비동기적 갱신을 위한 에이전트
6.5 var를 이용해 스레드별 상태 관리하기
6.6 클로저 스네이크
6.7 Lancet의 타깃이 한 번만 실행되도록 만들기
6.8 정리

7장. 매크로
7.1 언제 매크로를 사용해야 할까
7.2 제어 구조 매크로
7.3 더 쉽게 매크로 작성하기
7.4 매크로의 분류
7.5 Lancet DSL 만들기
7.6 정리

8장. 다중 메서드
8.1 다중 메서드 없이 산다는 것
8.2 다중 메서드 정의하기
8.3 다형성을 넘어서
8.4 자유로운 메서드 선택
8.5 언제 다중 메서드를 사용해야 할까
8.6 Lancet에 타입 강제 변환 추가하기
8.7 요약

9. 세상 속의 클로저
9.1 테스트 자동화
9.2 데이터 접근
9.3 웹 개발
9.4 작별

부록 A. 에디터 지원
부록 B. 참고 문헌

찾아보기

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.