| 000 | 00000nam c2200205 c 4500 | |
| 001 | 000046004727 | |
| 005 | 20191106173734 | |
| 007 | ta | |
| 008 | 191105s2019 ulk 001c kor | |
| 020 | ▼a 9791160509519 ▼g 93000 | |
| 040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 4 | ▼a 005.3 ▼2 23 |
| 085 | ▼a 005.3 ▼2 DDCK | |
| 090 | ▼a 005.3 ▼b 2019z1 | |
| 100 | 1 | ▼a Kanat-Alexander, Max |
| 245 | 1 0 | ▼a 심플 소프트웨어 : ▼b 코드의 단순성, 가독성, 안정성, 유지보수 / ▼d 맥스 카넷-알렉산더 지음 ; ▼e 이미령 옮김 |
| 246 | 1 9 | ▼a Understanding software : ▼b Max Kanat-Alexander on simplicity, coding, and how to suck less as a programmer |
| 260 | ▼a 서울 : ▼b 길벗, ▼c 2019 | |
| 300 | ▼a 228 p. ; ▼c 23 cm | |
| 650 | 0 | ▼a Computer programming |
| 650 | 0 | ▼a Computer software |
| 700 | 1 | ▼a 이미령, ▼e 역 |
| 900 | 1 0 | ▼a 카넷-알렉산더, 맥스, ▼e 저 |
| 945 | ▼a KLPA |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.3 2019z1 | 등록번호 121250898 (3회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.3 2019z1 | 등록번호 151354146 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.3 2019z1 | 등록번호 121250898 (3회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.3 2019z1 | 등록번호 151354146 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
Google의 기술 책임자로서, 버그질라 프로젝트의 수석 아키텍트로서 활동하면서 얻은 통찰과 깨달음을 이 한 권에 담았다. 수많은 프로그래머가 올바른 방법으로 소프트웨어를 설계하고, 더 나은 코드를 작성하도록 도와준 ‘소프트웨어 설계 원칙’을 차근차근 이야기해 준다.
100년 뒤에도 유용할 소프트웨어 설계 원칙 & 프로그래머의 바른 길!
Google의 코드 건강(Code Health), 즉 코드의 가독성, 안정성, 단순성, 유지보수성은 어떻게 개선되어 왔을까? 오픈소스 버그질라(Bugwilla)는 어떻게 침체기를 벗어나 다운로드 수를 10배 이상 늘렸을까? 그 중심에는 이 책의 저자 맥스-카넷 알렉산더가 있다. Google의 기술 책임자로서, 버그질라 프로젝트의 수석 아키텍트로서 활동하면서 얻은 통찰과 깨달음을 이 한 권에 담았다. 수많은 프로그래머가 올바른 방법으로 소프트웨어를 설계하고, 더 나은 코드를 작성하도록 도와준 ‘소프트웨어 설계 원칙’을 차근차근 이야기해 준다.
할 거면 잘 해라!
단순함을 추구하라! 더 나은 프로그래머가 될 것이다!
그러나 단순함을 추구하는 것은 어려운 일이다. 하지만 생각해 보자. 나는 프로그래머고, 지금 내 앞에는 해야 할 일이 있다. 자, 이제 어떻게 할 텐가? 나는 뭐든 할 거면 그 분야에서 제일 앞서 나가기 위해 최선을 다해야 한다고 생각한다. 다른 사람들에게도 그렇게 살라고 권하고 싶다. 다음과 같이 말이다.
“어차피 할 거라면 왜 잘하지 않나요? 더 능숙하게 할 수 있으면 일하는 게 더 즐겁지 않을까요? 자신이 한 일을 보고 다른 사람이 감동한다면 어떨까요? 하루를 마치고 집으로 가는 길에 그날 무언가를 잘 해낸 기억이 떠오른다면 어떨까요? 현재보다 아주 조금이라도 삶이 더 즐거워지지 않을까요?”
정보제공 :
저자소개
맥스 카넷-알렉산더(지은이)
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. 사용자의 의도 전달을 막지 않는다 ____코드를 단순하게 만드는 것보다 탁월하게 만드는 게 더 중요하다. 이 둘은 상충되지 않는다 찾아보기



