도서상세보기

도서명 생각하는 프로그래밍
저자 편집부
출판사 인사이트
출판일 2013-12-24
정가 22,000원
ISBN 9788966260997
수량
제1부 준비

칼럼1 조개껍질 깨기
대화 / 정확한 문제 기술 / 프로그램 디자인 / 구현 스케치 / 원리
연습문제 / 더 읽을거리

칼럼2 아하! 알고리즘
세 가지 문제 / 여기저기에서 쓰이는 이진 탐색(Binary Search
기초적인 조작의 위력 / 정렬 / 원리 / 연습문제 / 더 읽을거리
sidebar : 전철어구 프로그램의 구현

칼럼3 프로그램의 구조를 결정하는 데이터
설문 조사 프로그램 / 폼 레터 프로그래밍 / 다른 예제들 / 데이터 구조화하기
특화된 데이터를 위한 강력한 도구 / 원리 / 연습문제

칼럼4 정확한 프로그램 작성
생각보다 어려운 이진 탐색 / 프로그램 작성 / 프로그램에 대한 이해
원리 / 프로그램 검증의 역할 / 연습문제 / 더 읽을거리

칼럼5 프로그래밍에서의 사소한 문제
가상코드로부터 C로 / 테스트 장치(harness / 단정문(assertion사용 요령
자동화된 테스트 / 시간측정 / 완전한 프로그램 / 원리 / 연습문제
더 읽을거리
sidebar : 디버깅


제2부 퍼포먼스

칼럼6 퍼포먼스에 대한 개관
사례 연구 / 디자인의 수준 / 원리 / 연습문제 / 더 읽을거리

칼럼7 봉투뒷면에 하는 간단한 계산
기초 기술 / 퍼포먼스 추정 / 안전계수(Safety Factors/ Little의 법칙
원리 / 연습문제 / 더 읽을거리
sidebar : 일상생활에서의 간단한 계산

칼럼8 알고리즘 디자인 기법
문제 및 간단한 알고리즘 / O(n2 알고리즘 두 가지 / 나누어 푸는 알고리즘
스캐닝(scanning 알고리즘 / 무엇이 중요한가? / 원리 / 연습문제 / 더 읽을거리

칼럼9 코드 튜닝
전형적인 이야기 / 코드 튜닝의
프로그래밍 언어 문법을 외우고 개발 도구를 사용법을 익히면 소프트웨어를 만들 수 있다고 흔히 생각하지만, 실제 세계에서 부딪히는 개발 작업은 도구의 단순 사용을 반복하는 것이 아니라 깊은 사고력을 요하는 기예(技藝에 가깝다. 시시각각 변하는 환경과 제한된 예산, 기간의 압박 속에서 각자 한계가 있는 현존 기술로 최적의 해법을 찾는 일을 도구나 언어가 100% 대신해 줄 수는 없다.

프로그래밍에서 이런 사고력 훈련의 첫걸음은 데이터 구조나 알고리즘 같은 기초를 적절히 학습하고 이를 코드로 구현하고 단계적으로 개선해 가는 것으로 시작할 수 있다. 이 책은 이런 수련을 하는 데 유용한 고전이다. ACM의 전통 있는 간행물인 CACM에 연재된 「Programming Pearls」란 칼럼을 묶어 발간된 이 책은 제목 그대로 조개 속에서 진주가 만들어지듯 긴 사고의 과정을 거쳐 깊은 프로그래밍의 세계에 들어갈 수 있도록 안내하고 있다.

눈앞에 닥친 비즈니스 로직의 정답을 문제집처럼 알려주지는 않지만 이 책을 계기로 충분한 수련을 거친 개발자라면 남의 답을 베끼는 것이 아니라 자신만의 해법을 고안해내는 즐거움을 누릴 수 있을 것이다.



이 책에서 다루는 내용

- 문제 정의, 알고리즘, 데이터 구조 등 프로그래밍의 기본

- 효율성 제고 기법

- 정렬, 탐색, 문자열 등 구체적 문제에 대한 해법