우아한 프로그래밍, 바로 써먹는 알고리즘!

최적화 컴파일러나 고성능 코드를 작성해야 한다면 이 책을 반드시 읽어야 한다!

이 책에서 다루는 기법들은 어셈블리어에서만큼이나 C나 Java에서도 유용할 것이다!


출판사 제이펍
원출판사 Addison-Wesley Professional
원서명 Hacker’s Delight Second Edition(원서 ISBN: 9780321842688)
저자명 헨리 워렌(Henry S. Warren, Jr.)
역자명 류광
출판일 2013년 7월 22일
페이지 576쪽
판  형 46배판 변형(188*245), 반양장(soft cover)
정  가 32,000원
ISBN 978-89-94506-69-2 (93000)
키워드 알고리즘 / 데이터 마이닝 / 연산 / 함수 / 그레이 부호 / CRC / 힐베르트 곡선 / 부동소수점 / 이산함수
분야 프로그래밍 / 알고리즘

 

관련 사이트
원출판사 도서소개 페이지
아마존 도서소개 페이지

원서 공식 컴패니언 페이지
역자 Q&A 사이트

 

관련 포스트
2013/07/10 - [출간전 책소식] - [해커의 즐거움]을 기억하시나요?

 

관련 시리즈
■ (없음)
 
소스 코드
■ (없음)

 

강의 자료
■ 교재로 채택하신 분들에게는 강의교안을 제작할 수 있는 자료를 보내드리도록 하겠습니다(출판사로 메일이나 전화로 연락주세요).

 

관련 도서
머신러닝 인 액션

좋은 코드를 작성하는 기술

 

샘플 PDF(머리말, 차례 등의 앞부속물, 1장 소개, 2장 기초)(찾아보기)

해커의기쁨(제2판)_sample.pdf

  해커의기쁨(제2판)_index.pdf

 

정오표 페이지
■ (등록되는 대로 링크를 걸어드리겠습니다)

 

도서구매 사이트(가나다순)


도서 소개
우아한 프로그래밍, 바로 써먹는 알고리즘!

『해커의 기쁨(제2판)』은 헨리 워렌이 다시금 만들어 낸, 프로그래밍 핵(hack)들의 거부할 수 없는 모음집이다. 프로그래머가 좀 더 우아하고 효율적인 소프트웨어를 만드는 데 도움이 되는 시간 절약 기법들과 알고리즘, 요령들로 가득한 이 책은 프로그래밍에 대한 좀 더 깊은 통찰도 제공한다. 워렌의 핵들은 매우 실용적이면서도 본질적으로 흥미로우며, 위대한 퍼즐의 해법과 비슷하게 가끔은 예기치 못한 측면도 보여준다. 이들은 한마디로 말해서, 뭔가 개선할 기회가 생기면 마음이 들뜨는 모든 프로그래머에게 하나의 기쁨이다.

 

제2판에는 다음과 같은 방대한 내용이 새로이 추가되었다.
• 순환 중복 검사(CRC)에 대한 새로운 장 ― 흔히 쓰이는 CRC-32 부호를 위한 루틴들도 포함
• 오류 보정 부호(ECC)에 대한 새로운 장 ― 해밍 부호를 위한 루틴들도 포함
• 상수를 제수로 한 정수 나눗셈에 대한 좀 더 자세한 내용 ― 자리이동과 더하기 명령만 사용하는 방법들도 포함
• 몫을 구하지 않고 나머지를 계산하는 방법
• 개체수(1-비트 개수) 및 선행 0-비트 개수에 대한 좀 더 자세한 내용
• 배열 개체수
• 압축과 확장을 위한 새 알고리즘들
• LRU 알고리즘
• 부동소수점과 정수의 상호 변환
• 부동소수점 역제곱근 근사 루틴
• 이산 함수 그래프 모음
• 많이들 기다렸던 연습문제와 해답

 

추천사
이 책은 컴퓨터 산술의 깊고 어두운 비밀을 말해준다고 약속하는 최초의 책으로, 실제로도 그런 비밀을 낱낱이 밝힌다. 이 책에는 내가 아는 것보다 훨씬 많은 요령이 들어 있다. 라이브러리 개발자와 컴파일러 작성자, 그리고 우아한 해킹을 사랑하는 이에게 신의 선물과도 같은 이 책은 책장의 커누스 책 옆에 꽂아두기에 손색이 없다. 제1판이 나온 지 10년 동안, Sun과 Google에서 일하면서 이 책을 아주 유용하게 사용했다. 그리고 제2판에 수록된 새로운 내용 전부가 나를 전율케 한다.
_ 조슈어 블로크(Joshua Bloch)

 

처음 이 책을 보았을 때 다른 컴퓨터에 침입하는 방법을 가르치는 책이거나(그럴 것 같지는 않았지만) 아니면 작은 프로그래밍 요령들을 대충 그러모은 책일 것이라고 짐작했다. 알고 보니 후자이긴 하지만, 해당 주제를 거의 백과사전 수준으로 상세히 다룬 책이었다. 제2판에는 새로운 주요 주제를 다루는 두 개의 장이 추가되었으며, 전체적으로 수십 가지의 작은 요령들이 추가되었다. 그중 하나는 내가 이진 검색 알고리즘에 바로 써먹었는데, 바로 두 정수의 평균을 넘침(overflow)이 일어날 걱정 없이 계산하는 기법이다. 책 제목대로, 해커로서의 나는 실제로 기쁨을 얻었다.
_ 가이 스틸(Guy Steele)

 

저자 소개
헨리 워렌(Henry S. Warren, Jr.)

헨리 워렌은 IBM에서 50년간 근무한 개발자로, IBM 704에서 PowerPC와 그 이후의 제품들을 다루었다. 그는 Jack Schwartz 아래에서 다양한 군사 명령 및 통제 시스템과 SETL(SET Language) 프로젝트에 참여했다. 1973년부터는 컴파일러와 컴퓨터 아키텍처에 초점을 두고 IBM의 연구부서에서 일했다. 현재는 엑사플롭을 목표로 한 슈퍼컴퓨터 프로젝트에서 일하고 있다. 그는 New York University의 Courant Institute에서 전산학 박사 학위를 받았다.


역자 소개
류광
옮긴이 류광은 1996년부터 활동해온 프로그래밍 서적 전문 번역가로, 『Game Programming Gems』 시리즈와 Knuth 교수의 고전 『컴퓨터 프로그래밍의 예술』(The Art of Computer Programming) 시리즈, Bjarne Stroustrup의 『C++로 배우는 프로그래밍의 원리와 실제』(Programming: Principles and Practice Using C++)를 비롯한 다양한 분야의 프로그래밍 서적을 50여 권 넘게 번역했다. 번역과 프로그래밍 외에 소프트웨어 문서화에도 많은 관심을 가지고 있으며, 수많은 오픈소스 프로젝트들의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr/)의 일원이다.


차례
Chapter 1 소개 / 1
1-1 표기법 1
1-2 명령 집합과 실행 시간 모형 6

 

Chapter 2 기초 / 13
2-1 제일 오른쪽 비트 다루기 13
2-2 논리 연산과 결합된 덧셈 19
2-3 논리식과 산술식의 부등 21
2-4 절댓값 함수 22
2-5 두 정수의 평균 22
2-6 부호 확장 23
2-7 부호 없는 오른쪽 자리이동으로 부호 있는 오른쪽 자리이동 구현 24
2-8 부호 함수 25
2-9 세 값 비교 함수 25
2-10 부호 전달 함수 26
2-11 “0은 2**n을 뜻함” 필드의 복호화 27
2-12 비교 술어 27
2-13 넘침 검출 33
2-14 더하기, 빼기, 곱하기 결과의 조건 부호 43
2-15 순환 자리이동 44
2-16 두 배 길이 더하기·빼기 명령 45
2-17 두 배 길이 자리이동 46
2-18 다중 바이트 덧셈, 뺄셈, 절댓값 47
2-19 차 또는 0(doz), 최댓값(max), 최솟값(min) 49
2-20 레지스터 교환 54
2-21 둘 이상의 값들을 교대로 설정 57
2-22 부울 분해 공식 60
2-23 열여섯 가지 이항 부울 연산을 모두 구현하는 명령들 62

 

더보기

 


 

저작자 표시 비영리 동일 조건 변경 허락
신고

댓글을 달아 주세요



티스토리 툴바