본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

프로그래머의 뇌 훌륭한 프로그래머가 알아야 할 인지과학의 모든 것

펠리너 헤르만스 지음 | 차건회 옮김 | 제이펍 | 2022년 01월 12일 출간
클로버 리뷰쓰기
  • 정가 : 24,000원
    판매가 : 21,600 [10%↓ 2,400원 할인]
  • 혜택 :
    [기본적립] 1200원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(24일,화) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • 6월 2일 개발자 북콘서트 사전신청하고 선물 받자!
    2022.05.11 ~ 2022.05.31
  • [교보단독 사은품] 개발자 매거진 <리드잇zine> ..
    2022.05.10 ~ 2022.06.30
  • 비전공자도 혼자 공부할 수 있는 친절한 컴퓨터 공학 책을 추천드..
    2022.03.17 ~ 2023.12.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2022.12.31
상품상세정보
ISBN 9791191600650(1191600653)
쪽수 272쪽
크기 189 * 246 * 18 mm /531g 판형알림
이 책의 원서/번역서 The Programmer's Brain / Felienne Hermans

책소개

이 책이 속한 분야

인지과학을 활용한 개발자의 일머리 개선법
이 책은 인지과학에 기반을 둔 각종 방법론으로 개발자가 새로운 언어나 프레임워크를 빠르게 배워 생산성을 향상하도록 돕는다. 코드를 더 잘 이해하는 것에서 나아가, 버그 방지, 명확한 작명법, 리팩터링, 대규모 코드베이스 개선에 이르기까지 과학적으로 입증된 기법을 제시한다.

상세이미지

프로그래머의 뇌 도서 상세이미지

목차

옮긴이 머리말 xi
추천의 글 xiii
베타리더 후기 xvi
추천서문(존 스키트) xviii
시작하며 xx
감사의 글 xxii
이 책에 대하여 xxiv
표지에 대하여 xxvi

PART I 코드 더 잘 읽기

CHAPTER 1 코딩 중 겪는 혼란에 대한 이해 3
1.1 코드가 초래하는 세 가지 종류의 혼란 4
1.1.1 혼란의 첫 번째 유형: 지식의 부족 5
1.1.2 혼란의 두 번째 유형: 정보의 부족 6
1.1.3 혼란의 세 번째 유형: 처리 능력의 부족 6
1.2 코딩에 영향을 주는 인지 과정 7
1.2.1 LTM과 프로그래밍 8
1.2.2 STM과 프로그래밍 8
1.2.3 작업 기억 공간과 프로그래밍 10
1.3 인지 과정들의 상호작용 10
1.3.1 인지 과정들이 어떻게 상호작용하는지에 대한 간단한 설명 10
1.3.2 프로그래밍 업무와 관련한 인지 과정 11
요약 13

CHAPTER 2 신속한 코드 분석 14
2.1 코드를 신속하게 읽기 15
2.1.1 두뇌에서 무슨 일이 일어나는가? 16
2.1.2 재현한 코드 다시 살펴보기 17
2.1.3 두 번째 실험 다시 살펴보기 19
2.1.4 생소한 코드를 읽는 것은 왜 어려운가? 19
2.2 기억의 크기 제한을 극복하기 20
2.2.1 단위로 묶는 것의 위력 20
2.2.2 전문가는 초보자보다 코드를 더 잘 기억한다 23
2.3 읽는 것보다 보는 것이 더 많다 25
2.3.1 영상 기억 공간 25
2.3.2 기억하는 대상이 중요한 것이 아니고 기억하는 방식이 중요하다 27
2.3.3 청킹 연습 33
요약 35

CHAPTER 3 프로그래밍 문법 빠르게 배우기 36
3.1 문법을 기억하기 위한 팁 37
3.1.1 중간에 끊어지는 것이 미치는 나쁜 영향 37
3.2 플래시카드 사용해 문법 배우기 38
3.2.1 언제 플래시카드를 사용해야 하는가 39
3.2.2 플래시카드의 확장 39
3.2.3 플래시카드 개수 줄이기 40
3.3 어떻게 하면 잊어버리지 않을 수 있을까? 40
3.3.1 기억을 잃어버리는 이유 41
3.3.2 간격을 두고 반복하기 43
3.4 문법을 더 오랫동안 기억하기 44
3.4.1 정보를 기억하는 두 가지 형태 44
3.4.2 단지 보기만 해서는 안 된다 45
3.4.3 정보를 기억하는 것은 기억을 강화한다 46
3.4.4 능동적 사고를 통한 기억력 강화 47
요약 50

CHAPTER 4 복잡한 코드 읽는 방법 51
4.1 복잡한 코드를 이해하는 것이 왜 어려울까? 52
4.1.1 작업 기억 공간과 STM의 차이 53
4.1.2 프로그래밍과 관련한 인지 부하의 종류 53
4.2 인지 부하를 줄이기 위한 기법 55
4.2.1 리팩터링 55
4.2.2 생소한 언어 구성 요소를 다른 것으로 대치하기 57
4.2.3 플래시카드에 코드 동의어 추가 60
4.3 작업 기억 공간에 부하가 오면 사용할 수 있는 기억 보조 수단 61
4.3.1 의존 그래프 생성 61
4.3.2 상태표 사용 64
4.3.3 의존 그래프와 상태표의 혼용 66
요약 68

PART II 코드에 대해 생각하기

CHAPTER 5 코드를 더 깊이 있게 이해하기 71
5.1 ‘변수 역할’ 프레임워크 72
5.1.1 변수는 각자 다른 일을 한다 72
5.1.2 11가지 역할 73
5.2 역할과 패러다임 76
5.2.1 역할의 이점 76
5.2.2 헝가리안 표기법 78
5.3 프로그램에 대해 깊이 있는 지식을 얻으려면 80
5.3.1 텍스트 지식 대 계획 지식 80
5.3.2 프로그램 이해의 여러 단계 81
5.4 텍스트를 읽는 것과 코드를 읽는 것은 유사하다 84
5.4.1 코드를 읽을 때 우리 뇌에서는 무슨 일이 일어나는가? 85
5.4.2 프랑스어를 배울 수 있다면 파이썬도 배울 수 있다 86
5.5 코드 읽기에 적용해볼 수 있는 텍스트 이해 전략 90
5.5.1 기존 지식의 활성화 91
5.5.2 모니터링 91
5.5.3 코드에서 중요한 라인을 결정하기 92
5.5.4 변수명의 의미를 추론하기 93
5.5.5 시각화 94
5.5.6 질문하기 96
5.5.7 코드 요약 96
요약 97

CHAPTER 6 코딩 문제 해결을 더 잘하려면 98
6.1 모델을 사용해서 코드에 대해 생각해보기 99
6.1.1 모델의 유익함 99
6.2 정신 모델 102
6.2.1 정신 모델 자세히 살펴보기 103
6.2.2 새로운 정신 모델 배우기 104
6.2.3 코드에 대해 생각할 때 정신 모델을 효율적으로 사용하는 방법 105
6.3 개념적 기계 110
6.3.1 개념적 기계는 무엇인가? 111
6.3.2 개념적 기계의 예 111
6.3.3 개념적 기계의 층위 113
6.4 개념적 기계와 언어 114
6.4.1 개념적 기계의 확장 114
6.4.2 여러 개념적 기계는 서로 충돌하는 정신 모델을 만들 수 있다 115
6.5 개념적 기계와 스키마타 117
6.5.1 왜 스키마타가 중요한가? 117
6.5.2 개념적 기계는 의미론인가? 117
요약 117

CHAPTER 7 생각의 버그 119
7.1 왜 두 번째 프로그래밍 언어가 첫 번째보다 쉬울까? 120
7.1.1 기존 프로그래밍 지식을 활용할 가능성을 높이는 방법 122
7.1.2 전이의 다른 형태 123
7.1.3 이미 알고 있다는 것은 저주인가 축복인가? 124
7.1.4 전이의 어려움 125
7.2 오해: 생각의 버그 127
7.2.1 개념 변화를 통한 오개념 디버깅 128
7.2.2 오개념 제압하기 129
7.2.3 프로그래밍 언어에 대한 오개념 130
7.2.4 새로운 프로그래밍 언어를 배울 때 오개념 방지하기 132
7.2.5 새로운 코드베이스에서의 오개념 진단 132
요약 133

PART III 좋은 코드 작성하기

CHAPTER 8 명명을 잘하는 방법 137
8.1 이름이 중요한 이유 138
8.1.1 명명이 중요한 이유 139
8.1.2 명명에 대한 다양한 관점 140
8.1.3 초기 명명 관행은 지속적인 영향을 미친다 142
8.2 명명의 인지적 측면 144
8.2.1 형식이 있는 이름은 STM을 돕는다 144
8.2.2 명확한 이름이 LTM에 도움이 된다 145
8.2.3 변수 이름은 이해에 도움이 되는 다양한 유형의 정보를 포함할 수 있다 146
8.2.4 이름의 품질 평가 시기 147
8.3 어떤 종류의 이름이 더 이해하기 쉬운가? 148
8.3.1 축약할 것인가, 하지 않을 것인가? 148
8.3.2 스네이크 케이스냐, 캐멀 케이스냐? 152
8.4 이름이 버그에 미치는 영향 153
8.4.1 나쁜 이름을 가진 코드에 버그가 더 많다 153
8.5 더 나은 이름을 선택하는 방법 154
8.5.1 이름 틀 154
8.5.2 더 나은 변수명에 대한 페이텔슨의 3단계 모델 157
요약 158

CHAPTER 9 나쁜 코드와 인지 부하를 방지하는 두 가지 프레임워크 159
9.1 코드 스멜이 인지 부하를 초래하는 이유 160
9.1.1 코드 스멜에 대한 간략한 소개 160
9.1.2 코드 스멜이 인지 과정에 악영향을 미치는 방식 163
9.2 나쁜 이름이 인지 부하에 미치는 영향 165
9.2.1 언어적 안티패턴 166
9.2.2 인지 부하 측정 167
9.2.3 언어적 안티패턴 및 인지 부하 170
9.2.4 언어적 안티패턴이 혼란을 일으키는 이유 171
요약 172

CHAPTER 10 복잡한 문제 해결을 더 잘하려면 173
10.1 문제 해결이란 무엇인가? 174
10.1.1 문제 해결 요소 174
10.1.2 상태 공간 174
10.2 프로그래밍 문제를 해결할 때 LTM의 역할은 무엇인가? 175
10.2.1 문제 해결은 그 자체로 인지 과정인가? 175
10.2.2 문제 해결을 위한 LTM 교육 방법 177
10.2.3 문제 해결에 역할을 하는 두 가지 유형의 기억 177
10.3 자동화: 암시적 기억 생성 180
10.3.1 시간 경과에 따른 암시적 기억 181
10.3.2 자동화를 통해 보다 신속하게 프로그램을 실행할 수 있는 이유 184
10.3.3 암시적 기억 개선 185
10.4 코드와 해설에서 배우기 186
10.4.1 새로운 유형의 인지 부하: 본유적 부하 187
10.4.2 개발 작업 시 풀이된 예제 활용하기 189
요약 190

PART IV 코딩에서의 협업

CHAPTER 11 코드를 작성하는 행위 193
11.1 프로그래밍 중 이루어지는 다양한 활동 194
11.1.1 검색 194
11.1.2 이해 195
11.1.3 전사 195
11.1.4 증가 195
11.1.5 탐구 196
11.1.6 디버깅은 어떤가? 197
11.2 프로그래머의 업무 중단 197
11.2.1 프로그래밍 작업 시 워밍업 필요 198
11.2.2 중단 후에는 어떻게 되는가? 198
11.2.3 중단에 잘 대비하는 방법 199
11.2.4 프로그래머를 방해할 때 202
11.2.5 멀티태스킹에 대한 고찰 204
요약 205

CHAPTER 12 대규모 시스템의 설계와 개선 206
12.1 코드베이스의 특성 조사 207
12.1.1 인지적 차원 207
12.1.2 코드베이스 개선을 위해 CDCB 사용 217
12.1.3 설계 기동 및 트레이드오프 218
12.2 차원 및 활동 219
12.2.1 차원이 활동에 미치는 영향 219
12.2.2 예상 활동에 대한 코드베이스 최적화 221
요약 221

CHAPTER 13 새로운 개발자 팀원의 적응 지원 222
13.1 적응 지원의 문제 223
13.2 전문가와 초보자의 차이 224
13.2.1 초보자의 행동에 대한 심층적 이해 225
13.2.2 개념을 구체적으로 보는 것과 추상적으로 보는 것의 차이 229
13.3 적응 지원 개선 231
13.3.1 작업은 하나의 프로그래밍 활동으로만 제한 231
13.3.2 새 팀원의 기억 지원 232
13.3.3 코드 함께 읽기 234
요약 237

마치며 238
찾아보기 241

추천사

박재호(유튜브 ‘채널 박재호’ 운영자)

항상 프로그램을 빠르고 정확하게 만드는 동료를 옆에서 지켜보며 떠올린 아이디어가 하나 있었다. “만일 지금 이 순간 모니터로 빨려 들어갈 듯한 저 친구의 머릿속으로 들어가서 어떤 일이 일어나고 있는지 살펴볼 수 있으면 얼마나... 더보기

임백준(삼성리서치)

나는 왜 늦은 시간까지 키보드를 두드리며 코딩하는 게 이렇게 좋을까. 그런데도 실수를 하고, 다른 사람의 코드를 이해하지 못해 머리를 쥐어뜯고, 알고리즘이 떠오르지 않아 힘겨워하는 것일까. 코딩을 하는 내 머릿속에서는 무슨 ... 더보기

변성윤(쏘카 데이터 그룹)

프로그래밍을 하다 보면 오픈 소스나 동료의 코드를 읽어야 하는 일도 많다. 이런 경우 “어떻게 해야 코드를 더 잘 읽을 수 있을까?”라는 고민을 하곤 했다. 당시엔 방법을 몰라 그냥 코드를 많이 읽고 혼자 생각했는데, 그때 ... 더보기

책 속으로

지식이 없다는 것은 두뇌의 장기 기억 공간(long-term memory, LTM)에 해당 내용이 없다는 것을 뜻한다. 장기 기억 공간은 기억하는 내용을 반영구적으로 저장하는 곳이다. 반면에 지식이 아닌 어떤 정보가 부족할 때는 단기 기억 공간(short-term memory, STM)에 해당 내용이 없기 때문이다. 정보를 수집할 때 단기 기억 장소에 일시적으로 저장하지만, 다른 정보를 찾는 과정에서 이미 수집해놓은 정보 중 일부는 잊어버린다. 마지막으로, 많은 정보를 처리할 때는 작업 기억 공간(working memory)에 영향... 더보기

출판사 서평

뇌를 알면 코드가 보인다
효율적인 프로그래밍을 위한 참신한 내 머리 사용법
프로그래밍은 까다로운 인지 활동이다. 추상적 수준에서 문제를 해결하는 동시에 코드도 작성해야 한다. 우리 뇌가 코드를 처리하는 방식을 과학적으로 들여다보면, 프로그래밍에서 마주치는 어려움의 원인을 파악하여 그 해결책을 찾을 수 있다.
이 책은 더 나은 프로그래머가 되기 위해 뇌를 십분 활용하는 방법을 다룬다. 장기 기억 공간, 단기 기억 공간, 작업 기억 공간 세 가지 인지 활동의 메커니즘을 이해하면 코드를 더 잘 이해하고 파악할 수 있다. 나아가, 버... 더보기

북카드

1/8

Klover 리뷰 (0)

북로그 리뷰 (6) 전체보기 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료
  • 개발자, 뇌과학.요즘 가장 핫한 분야이다.이 둘이 만나 멋진 책이 나왔다.뇌과학 중 인지과학과의 연관성에 대해 다양한 분야의 책들이 출간되고 있다.이 책은 '인지과학'과 '프로그래머'와의 연관성에 말하고 있다. 책을 간단히 요약하면 '프로그래머는 어떻게 생각하고 사고하는 것이 가장 효율적인가'이다.프로그래머가 가장 많이 하는 일은 코딩이다.코딩은 비즈니스 모델을 다양한 자료구조와 알고리즘을 사용하여 최적화된 결과물을 제공하는 것이다.프로그래머에 가장 중요한 것은 빠르고 정확하게... 더보기
  • 프로그래머의 뇌 na**mjjang | 2022-04-11 | 추천: 0 | 5점 만점에 5점
    우리 뇌에서 일어나는 인지 과정을 이해하여 효율적인 프로그래밍을 가능하게 해주는 프로그래머들의 필독서이다. 프로그래밍을 배운다는 것은 쉬운 일이 아니다. 이미 완숙한 경지에 오른 고수 프로그래머들도 분명 처음 프로그래밍을 접할 때 힘든 과정을 거쳤을 것이고 이제 막 프로그래밍 세계에 입문한 초보자는 현 시점이 그 어려운 순간일 것이다. 개인적으로 스스로를 고수라 평하기엔 객관적으로 입증할 방법이 없고 부끄러운 부분인지라 머뭇거리게 되지만 1만 시간의 법칙이 맞다는 가정하에 스스로 왠만한 프로그램을 배우는 데 큰 어려... 더보기
  • 코딩 노베이스보다 적어도 기초적인 문법을 이해하고 있고 코드 작성 경험이 있는 독자일 수록 더 많이 와닿으실 것 같습니다. 코드를 읽고, 작성할 때 내 머릿속에서 대체 무슨 일이 일어나고 있는 걸까? 에 대한 해답을 찾을 수 있었습니다. 저는 코드를 작성하는 방법을 다룬 내용도 좋았지만 코드를 독해하는 방법에 대해 다뤄준 부분이 가장 좋았습니다. 다른 개발방법론 서적에 비해서 코드 독해법을 꼼꼼하고 다양하게 알려주셔서 많은 도움이 되었습니다. 더보기
  • 제이펍 <믿고 보는 IT 전문서 리뷰어> 활동을 위해서 책을 제공받아 작성된 서평입니다.   Intro 서론만 봤을 때는 좀 생소한 단어도 많이 보이고, 인지 과학에 접목하여 설명하는 모습이 보여 상당히 고민됐지만 도움이 될 것 같아 읽게 됐습니다. 또한, 전체적인 프로그래밍을 진행하면서 어떻게 뇌가 인지하는지 그 과정을 이 책에서는 어떻게 설명하는가 궁금하여 읽기로 결심했습니다. Book Review 공부 프로그래밍이든지 책이든지 뭐든 간에 그저 한 번 읽어보고, 검색하며 공부한다고 해서 자신이 아는... 더보기
  • 프로그래머의 뇌 to**yonair | 2022-03-28 | 추천: 0 | 5점 만점에 5점
    코딩을 배움에 있어 단순히 자신이 만든 것에 대한 결과를 확인하여 기뻐하는 것에 그치지 않고, 오픈 소스나 다른 사람들의 코드를 확인해야하는 경우가 있습니다. 교육용 코딩 툴이 아닌 텍스트 기반 코딩 툴을 활용한 코드를 확인함에 있어 기본적인 명령어에 대한 이해가 물론 필요하지만, 더욱 중요한 것은 얼마나 코드를 제대로 읽고 효율적으로 확인하는지, 그리고 다른 사람들과 협업을 했을 때 좋은 코드가 무엇인지 고민해보는 것이 더 중요하겠습니다. 단순히 많은 기능들을 구현이 가능한 수준에 그치지 않고 더욱 좋은 과정과 ... 더보기

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서/번역서

안내

이 분야의 베스트

더보기+
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품