본문 바로가기

리디북스 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

RIDIBOOKS

리디북스 검색

최근 검색어

'검색어 저장 끄기'로 설정되어 있습니다.


리디북스 카테고리



심플 소프트웨어 상세페이지

책 소개

<심플 소프트웨어> 100년 뒤에도 유용할 소프트웨어 설계 원칙 & 프로그래머의 바른 길!

Google의 코드 건강(Code Health), 즉 코드의 가독성, 안정성, 단순성, 유지보수성은 어떻게 개선되어 왔을까? 오픈소스 버그질라(Bugwilla)는 어떻게 침체기를 벗어나 다운로드 수를 10배 이상 늘렸을까? 그 중심에는 이 책의 저자 맥스-카넷 알렉산더가 있다. Google의 기술 책임자로서, 버그질라 프로젝트의 수석 아키텍트로서 활동하면서 얻은 통찰과 깨달음을 이 한 권에 담았다. 수많은 프로그래머가 올바른 방법으로 소프트웨어를 설계하고, 더 나은 코드를 작성하도록 도와준 ‘소프트웨어 설계 원칙’을 차근차근 이야기해 준다.


출판사 서평

할 거면 잘 해라!

단순함을 추구하라! 더 나은 프로그래머가 될 것이다!
그러나 단순함을 추구하는 것은 어려운 일이다. 하지만 생각해 보자. 나는 프로그래머고, 지금 내 앞에는 해야 할 일이 있다. 자, 이제 어떻게 할 텐가? 나는 뭐든 할 거면 그 분야에서 제일 앞서 나가기 위해 최선을 다해야 한다고 생각한다. 다른 사람들에게도 그렇게 살라고 권하고 싶다. 다음과 같이 말이다.

“어차피 할 거라면 왜 잘하지 않나요? 더 능숙하게 할 수 있으면 일하는 게 더 즐겁지 않을까요? 자신이 한 일을 보고 다른 사람이 감동한다면 어떨까요? 하루를 마치고 집으로 가는 길에 그날 무언가를 잘 해낸 기억이 떠오른다면 어떨까요? 현재보다 아주 조금이라도 삶이 더 즐거워지지 않을까요?”


저자 프로필

맥스 카넷-알렉산더 Max Kanat-Alexander

  • 경력 구글 소프트웨어 엔지니어

2015.05.07. 업데이트 작가 프로필 수정 요청


저자 소개

저 : 맥스 카넷-알렉산더 (Max Kanat-Alexander)

Google의 코드 건강(Code Health, 즉 코드의 가독성, 안정성, 단순성, 유지보수)에 대한 기술 책임자다. 또한, 버그질라(Bugzilla) 프로젝트의 수석 아키텍트였다. codesimplicity.com 및 fedorafaq.org를 운영하고 있으며, 저서로는 『Code Simplicity』(한빛미디어)가 있다.

역 : 이미령

가치 있는 콘텐츠를 우리말로 공유하려고 자원봉사로 시작한 일이 번역가의 길로 이어졌다. 모든 일을 재미있게 하는 비결은 아이 같은 호기심을 잃지 않는 데 있다고 믿으며, 사람과 사람, 사람과 컴퓨터 간의 연결 분야에 관심이 많다. 옮긴 책으로는 『콘솔 워즈』, 『소프트 스킬: 평범한 개발자의 비범한 인생 전략 71가지』, 『사용자를 생각하게 하지 마!』 등이 있다.

목차

지은이 서문
옮긴이 서문

1부 프로그래머를 위한 원칙

__1장 시작하기 전에
____할 거면 잘하라
__2장 엔지니어의 자세
__3장 능력자 프로그래머의 한 가지 비밀
__4장 두 문장으로 요약한 소프트웨어 설계

2부 소프트웨어의 복잡성과 원인

__5장 복잡성의 단서
__6장 복잡성을 키우는 방법: API 분리
__7장 하위 호환성이 가치를 잃는 시점은 언제인가?
__8장 복잡성은 감옥이다

3부 단순성과 소프트웨어 설계

__9장 설계는 프로젝트 초반에 하라
____올바른 방법 도입하기
__10장 미래 예측의 정확성
__11장 단순성과 엄격성
__12장 둘은 너무 많다
____리팩토링
__13장 분별 있는 소프트웨어 설계
____잘못된 방법
____잘못된 방법 분석
____이 작업을 여러 사람이 함께한다면?
____올바른 방법
____우리는 소프트웨어 설계 법칙을 따랐다

4부 디버깅

__14장 버그란 무엇인가?
____하드웨어
__15장 버그의 원인
____복합적인 복잡성
__16장 재발을 방지하라
____재발 방지 예시
____토끼굴로 들어가기
__17장 디버깅의 기본 철학
____버그 파악하기
____시스템 살펴보기
____진짜 원인 찾기
____4단계

5부 엔지니어링 팀에서 일하기

__18장 엔지니어링 생산성을 효과적으로 개선하기
____그러면 어떻게 해야 할까?
____해결책
____신뢰와 문제 해결
____장애물
____근원적 문제를 향해 나아가기
__19장 개발자 생산성 측정하기
____‘생산성’의 정의
____‘LOC’는 어떨까?
____유효한 기준 정하기
____코드가 제품이라면?
____개발자 생산성 개선 담당자라면?
____결론
__20장 소프트웨어 회사에서 코드 복잡성을 다루는 법
____1단계: 문제 목록
____2단계: 회의
____3단계: 버그 리포트
____4단계: 우선순위 선정
____5단계: 과제
____6단계: 계획
__21장 리팩토링할 때는 기능에 주목하라
____효과적으로 일하기
____리팩토링 한계 설정하기
____리팩토링을 하면 시간이 절약된다
____명확하게 만들어라
____정리
__22장 친절과 코드
____소프트웨어에서 중요한 건 사람이다
____친절의 예
____친절하게 더 나은 프로그램을 만들어라
__23장 간략하게 살펴보는 오픈 소스 커뮤니티
____기여자 유지하기
____장벽 없애기
____관심 유도하기
____아주 인기 있는 제품이 돼라
____인기 있는 프로그래밍 언어로 만들어라
____정리

6부 소프트웨어 이해하기

__24장 컴퓨터란 무엇인가?
__25장 소프트웨어 구성 요소: 구조, 동작, 결과
__26장 소프트웨어 개정판: (I)SAR 구별하기
____구조
____동작
____결과
____코드 한 줄에 담긴 ISAR
____SAR 정리
__27장 지식으로서의 소프트웨어
__28장 기술의 목적
____반대 사례도 있을까?
____기술의 발전이 ‘좋은’ 것인가?
__29장 간략하게 살펴보는 프라이버시 문제
____공간의 프라이버시
____정보의 프라이버시
____정리
__30장 단순성과 보안
__31장 테스트 주도 개발과 관찰 주기
____ODA 사례
____개발 프로세스와 생산성
____첫 번째 ODA
__32장 테스트 철학
____테스트 가치
____테스트 단언문
____테스트 범위
____테스트 가정
____테스트 설계
____E2E 테스트
____통합 테스트
____단위 테스트
____현실
____가짜
____결정론 177
____속도 178
____커버리지 180
____결론: 테스트의 전반적인 목표 180

7부 나아지기

__33장 성공의 비밀: 나아지기
____이 방법이 왜 효과가 있었을까?
__34장 개떡 같은 부분을 찾는 방법
__35장 ‘아니요’의 힘
____나쁜 아이디어 알아내기
____나쁜 아이디어 내지 않기
____거절과 무례는 다르다
__36장 프로그래머가 개떡 같은 이유
____무엇을 배워야 할까?
__37장 빠른 프로그래밍의 비결: 생각하지 않기
____이해하기
____그리기
____시작하기
____단계 건너뛰기
____신체적 문제
____주의 집중하기
____자기 회의
____잘못된 통념
____주의 사항
__38장 개발자의 자만심
__39장 ‘일관성’과 ‘획일성’은 다르다
__40장 사용자는 문제를 알려주고 개발자는 해결책을 만든다
____신뢰와 정보
____문제는 사용자에게서 나온다
__41장 즉각적인 만족감 = 즉각적인 실패
____해결책은 장기적인 관점으로 찾아라
____소프트웨어 회사를 망가뜨리는 방법
__42장 성공은 혁신이 아니라 실행에서 온다
__43장 훌륭한 소프트웨어
____1. 사용자의 명령을 정확하게 따른다
____2. 사용자가 예상한 대로 작동한다
____3. 사용자의 의도 전달을 막지 않는다
____코드를 단순하게 만드는 것보다 탁월하게 만드는 게 더 중요하다. 이 둘은 상충되지 않는다

찾아보기


리뷰

구매자 별점

5.0

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

1명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디북스에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기


spinner
모바일 버전