프로그래머의 뇌 또는 어느 채식의사의 고백(재개정판)
땅끝
2024-01-25 08:44
554
0
본문
프로그래머의 뇌
도서명 : 프로그래머의 뇌
저자/출판사 : 펠리너,헤르만스, 제이펍
쪽수 : 272쪽
출판일 : 2022-01-12
ISBN : 9791191600650
정가 : 24000
옮긴이 머리말 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
어느 채식의사의 고백(재개정판)
도서명 : 어느 채식의사의 고백(재개정판)
저자/출판사 : 존,맥두걸, 사이몬북스
쪽수 : 312쪽
출판일 : 2022-01-03
ISBN : 9791187330257
정가 : 18000
이 책을 향한 양심의사들의 찬사
추천사
감수자의 말
저자 서문
1장, 엉터리 의사였음을 나는 고백한다
나는 말썽꾸러기 소년이었다
나는 가짜의사였다
환자들은 나의 스승이었다
다른 나라 사람들은 무얼 먹을까병원은 나를 좋아하지 않았다
병원에서 당신은 환자가 아니라 고객일 뿐이다
2장, 인간은 녹말을 먹는 동물이다
밥 드셨습니까?
녹말은 모든 음식의 기본이다
구석기 시대에 인간은 무엇을 먹었을까
고대 이집트 귀족의 음식습관
전사(戰士)들은 무엇을 먹었을까
인간의 DNA가 녹말인간을 증명해준다
녹말, 다시 돌아오다
비만의 원인은 이미 알려져 있다
3장, 녹말음식을 먹으면 왜 날씬해지나
3명의 풍만한 여인들
녹말이 뚱보를 만든다고
녹말은 지방을 만들지 않는다
날씬하고 건강한 사람이 매력 있는 이유
소식(小食)의 여왕, 나의 증조할머니
4장, 동물성식품에는 3가지 독성물질이 있다
고기가 균형 잡힌 음식이라고?
우리는 통념에 사로잡혀 살고 있다
독은 사람을 금방 죽이고, 육식은 천천히 죽인다
동물성식품은 모두 똑같이 나쁘다
육식의 3가지 독소: 단백질, 지방, 콜레스테롤
5장, 녹말은 어떻게 인간의 질병을 치유하는가
해결방법은 너무 간단하다
음식만 바꾸면 의외로 빨리 치료된다
인간의 몸은 스스로 치유하는 능력이 있다
자연치유의 증거는 너무도 많다
심장병도 자연치유된다
관절염도 자연치유된다
암도 자연치유된다
만성질병은 반드시 멈춘다
6장, 그러면 단백질은 어디서 섭취하나요?
당신의 통념은 매스컴이 만든 것이다
당신의 통념에는 과학이 빠져있다.
치턴든 교수가 100년 전에 파헤친 진실
치턴든 교수의 인체실험
전문가들의 결론 : 단백질은 40~60g으로 충분하다
식물성단백질만으로 충분하다
쥐와 인간은 다르다
로스 박사가 제대로 된 결론을 내렸다
잘못된 믿음은 멈추지 않고 있다
마침내 미국 심장협회도 인정했다
모르면 속는다
녹말은 완벽하다
7장, 그러면 칼슘은 어디서 섭취하나요?
우유는 칼슘 덩어리라고
우유는 당신의 뼈가 아니라 낙농업계를 튼튼하게 한다
소는 말이 없고 사람은 거짓말을 한다
소는 무엇을 먹고 엄청난 칼슘을 만들어내는가
칼슘이 과도하면 몸에 치명적으로 해롭다
칼슘이 부족해서 몸이 아픈 적이 있는가
낙농업계도 할 말이 없어졌다
유의 단백질은 뼈에 심각한 손상을 준다
우유는 송아지를 위한 것 아닌가
칼슘영양제는 왜 몸에 해로운가
유제품은 매우 오염된 식품이다
유제품만 없애도 당신은 날씬해질 것이다
8장, 어느 물고기 사냥꾼의 고백
생선은 과연 몸에 좋을까
오메가-3는 식물성음식에 충분히 들어있다
일본인도 생선보다 녹말음식을 더 많이 먹었다
생선에는 수은이라는 치명적인 독성물질이 들어 있다
생선은 심장병에 매우 위험하다
과학적으로도 의견일치를 보았다
양식 물고기는 더 위험하다
낚시여 물고기여, 잘 가거라~
9장, 뚱뚱한 채식주의자
내가 만난 뚱뚱한 채식주의자
가짜음식에 속지 말기를…
모든 지방은 그냥 지방일 뿐이다
견과류도 많이 먹으면 뚱뚱해진다
콩으로 만든 가짜음식들
가짜 콩음식은 왜 건강에 나쁜가
가짜 콩음식은 칼슘밸런스를 깨트린다
콩에 대한 관심이 제도를 바꾼다
뚱뚱한 채식주의자는 어떻게 변했나
10장, 영양제에는 영양이 없다
비타민 부족으로 병에 걸린 사람을 보았나
식물은 영양의 조화가 완벽하다
알약은 음식이 아니다
비타민 D는 햇볕 한 줌으로 충분하다
비타민 D 부족이 아니라 육식이 문제다
비타민 D의 가치는 지나치게 과장되어있다
실내에서 하는 태닝은 절대 추천할 수 없다
영양은 자연에서 얻어라
11장, 설탕과 소금은 죄인이 아니다
인간은 진화론적으로 짠맛과 단맛을 좋아한다
소금을 너무 좋아하면 죽을까
소금을 줄이면 오히려 더 위험하다
인간은 소금을 사랑한다
소금은 얼마나 먹어야 할까
인생은 좀 더 달콤해도 좋다
설탕은 지방도 당뇨도 만들지 않는다
혈당지수(GI)가 상업적으로 악용되고 있다
그러나 단순당은 문제가 있다
몸의 자연적인 욕구를 지나치게 거부하지 마시라
맺는 말
옮긴이의 말
원문출처 및 참고자료
댓글목록0