본문 바로가기

컴퓨터 서적

프로그래밍의 정석 - 프로그래머가 반드시 알아야 할 101가지 원리 원칙



프로그래밍에 대한 정보를 제공한다. 기술 서적만 800권 이상을 읽은 저자가 그중에서 핵심만을 추출하여 프로그래밍의 101가지 원리 원칙을 정리하였다. 구체적인 기술을 배울 때 기술의 존재 이유, 즉 해당 기술이 왜 필요한지 알 수 있으며 기술의 사용 방식도 매우 능숙해 질 것이다.

시작하며
0장 이 책을 읽는 방법
0.1 정석의 카테고리
0.2 정석의 설명 양식
0.3 정석 설명 상의 용어법
0.4 정석 설명 상의 주의점

1장 전제: 프로그래밍 불변의 사실
1.1 프로그래밍에 은제 탄환은 없다
1.2 코드는 설계서다
1.3 코드는 반드시 변경된다

2장 원칙: 프로그래밍의 가이드라인
2.1 KISS
2.2 DRY 
2.3 YAGNI 
2.4 PIE 
2.5 SLAP 
2.6 OCP 
2.7 명명이 중요하다

3장 사상: 프로그래밍의 이데올로기
3.1 프로그래밍 이론
3.2 의사소통
3.3 단순함
3.4 유연성
3.5 결과의 국소화
3.6 반복의 최소화
3.7 로직과 데이터의 일체화
3.8 대칭성
3.9 선언형의 표현
3.10 변경 빈도
3.11 아키텍처 기본 기법
3.12 추상
3.13 캡슐화
3.14 정보 은닉
3.15 패키지화
3.16 관심의 분리
3.17 충족성, 완전성, 프리미티브성
3.18 정책과 구현의 분리
3.19 인터페이스와 구현의 분리
3.20 참조의 단일성
3.21 분할 정복
3.22 아키텍처 비기능 요구사항
3.23 변경 용이성
3.24 상호 운용성
3.25 효율성
3.26 신뢰성
3.27 테스트 용이성
3.28 재사용성
3.29 7가지 설계 원리
3.30 단순 원리
3.31 동형 원리
3.32 대칭 원리
3.33 계층 원리
3.34 선형 원리
3.35 명증 원리
3.36 안전 원리
3.37 UNIX 사상
3.38 모듈화의 원칙
3.39 명확성의 원칙
3.40 구성의 원칙
3.41 분리의 원칙
3.42 단순성의 원칙
3.43 절약의 원칙
3.44 투명성의 원칙
3.45 안정성의 원칙
3.46 표현성의 원칙
3.47 충격 최소의 원칙
3.48 침묵의 원칙
3.49 복구의 원칙
3.50 경제성의 원칙
3.51 생성의 원칙
3.52 최적화의 원칙
3.53 다양성의 원칙
3.54 확장성의 원칙
3.55 UNIX 철학
3.56 작은 것이 아름답다
3.57 한 번에 하나의 작업
3.58 즉시 프로토타입 진행
3.59 효율성보다 이식성
3.60 데이터는 텍스트로
3.61 레버리지 소프트웨어
3.62 셸 스크립트 활용
3.63 대화형 인터페이스 회피
3.64 필터화

4장 관점: 프로그래머가 보는 시각
4.1 응집도
4.2 결합도
4.3 직교성
4.4 가역성
4.5 코드의 구린내
4.6 기술적 부채

5장 습관: 프로그래머의 일상
5.1 프로그래머의 3대 미덕
5.2 보이 스카우트 규칙
5.3 성능 튜닝에 관한 금언
5.4 비자아적 프로그래밍
5.5 한 걸음씩 조금씩
5.6 TMTOWTDI

6장 기법: 프로그래머의 도구 상자
6.1 예광탄
6.2 계약에 의한 설계
6.3 방어적 프로그래밍
6.4 개밥 먹기
6.5 고무 오리
6.6 컨텍스트

7장 법칙: 프로그래밍의 안티패턴
7.1 브룩스의 법칙
7.2 콘웨이의 법칙
7.3 깨진 유리창 법칙
7.4 엔트로피 증가의 법칙
7.5 80:10:10의 법칙
7.6 조슈아 나무의 법칙
7.7 세컨드 시스템 증후군
7.8 수레바퀴의 재발명
7.9 야크의 털깎기

마치며
감사의 말
찾아보기

 최근작 :<프로그래밍의 정석> … 총 3종 (모두보기)
 소개 :요코하마 국립대학 경영학과를 졸업했다. 일본 IT 기업인 캐논 IT 솔루션즈에서 근무하면서 웹 애플리케이션 자동 생성 도구인 ‘Web Performer’ 개발에 초창기부터 투입되어 일했다. 현재 테크니컬 리더, 스펙 리더, 아키텍트 및 디자이너를 담당하면서 직접 프로그래밍에도 참여하고 있다. 기술서만 800권 이상 독파했을 정도로 독서광이며, 기술서 독서 블로그인 ‘전략적 선택-Strategic Choice’을 운영하고 있다. 
*저자 블로그: http://d.hatena.ne.jp/asakichy/
 최근작 :… 총 34종 (모두보기)
 소개 :

프리렉    
 최근작 :<인공지능을 위한 수학>,<디자인 씽킹 플레이북>,<더 괜찮은 QA가 되기 위한 프랙티컬 테스트 자동화>등 총 146종
 대표분야 :프로그래밍 언어 5위 (브랜드 지수 77,773점), 그래픽/멀티미디어 17위 (브랜드 지수 6,318점) 

좋은 프로그래머로 성장하기 위한 바른길이자 지름길
정석이란?
- 좋은 프로그래밍을 위한 보편적 지식이다.
- 프로그래밍의 가이드라인이 되는 전제, 원칙, 사상, 습관, 관점, 기법, 법칙이다.

정석을 이해하면?
- 구체적인 기술을 배울 때 기술의 존재 이유, 즉 해당 기술이 왜 필요한지 알 수 있다.
- 기술의 사용 방식도 매우 능숙해 진다.
- 프로그래밍이 지닌 본질적인 문제를 해결할 수 있다.
- 특정 기술에 특화되어 있지 않으면서도 구체적인 기술을 습득하고 사용할 수 있다.
- 한 번 익혀 두면 계속 사용할 수 있는 지식과 지혜가 된다.
- 프로그래머의 성장 토대를 쌓아주고, 바르게 성장시키며, 성장을 가속해 주는 역할을 한다.

동서고금 프로그래밍 달인들의 지혜를 한 권에 응축하여 쉽게 풀어 쓴 책
이 책에서 설명하는 프로그래밍의 정석에 관한 주요 정보의 출처와 관련 서적을 모두 읽으면 실력 향상에 많은 도움이 되겠지만, 초보자가 읽기 시작하면 몇 년이 걸릴 것입니다. 
이 책에는 기술 서적만 800권 이상을 읽은 저자가 그중에서 핵심만을 추출하여 프로그래밍의 101가지 원리 원칙을 정리한, 매우 유익한 내용이 담겨 있습니다. 
따라서 이 책은 여러분을 좋은 프로그래머로 안내하는 가이드라인이 될 것입니다. 또한, 다른 책을 선정할 때에도 많은 도움이 될 것입니다.