본문 바로가기

추천 검색어

실시간 인기 검색어

컴퓨팅의 정수

우쥔 지음 | 신준기 옮김
제이펍

2023년 09월 15일 출간

종이책 : 2023년 08월 08일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (15.00MB)
ISBN 9791192987453
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
소득공제
소장

판매가 판매금지

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

이 책의 목적은 개발자가 컴퓨터 과학의 정수를 이해해 장기적으로 발전할 수 있다는 자신감을 갖도록 하는 것이다. 컴퓨터 과학의 정수와 본질을 구체적인 예제와 함께 열 개의 주제로 풀어냈다. 차근차근 깊어지는 예제를 심도 있게 분석하고 이해하면 컴퓨팅 사고를 기를 뿐만 아니라 실무에도 적용할 수 있다. 수록된 대부분의 면접 문제를 해결하고 이해할 수 있다면 구글, 애플, 아마존, 마이크로소프트, 메타 같은 글로벌 IT 기업에도 입사할 수 있을 것이다.
옮긴이 머리말 ix
베타리더 후기 xii
추천사 I xiv
추천사 II xviii
시작하며 xxi
이 책에 대하여 xxix


CHAPTER 0 컴퓨팅의 본질: 기계 운동에서 전자 운동으로 1
0.1 컴퓨터란 무엇인가? 1
0.2 기계식 컴퓨터, 불 대수와 스위칭 회로 4
0.3 튜링 기계, 컴퓨팅의 본질은 기계 운동 12
0.4 인공지능의 한계 17
0.5 마무리 20

CHAPTER 1 작지만 큰 차이: Big O 개념 21
1.1 알고리즘의 정규화와 정량화 21
1.2 컴퓨팅에서의 차수적 차이 25
1.3 최적의 알고리즘을 찾는 방법 30
1.4 정렬에 관한 논의 40
__1.4.1 직관적인 정렬 알고리즘은 어디에서 시간을 낭비할까? 41
__1.4.2 효과적인 정렬 알고리즘 효율성은 어디에서 올까? 43
__1.4.3 특정한 경우에서 더 나은 알고리즘이 있을까? 48
1.5 마무리 51
부록: 정렬 알고리즘 복잡도가 O(NlogN)보다 작아질 수 없는 이유 52

CHAPTER 2 역방향 사고: 순환에서 재귀로 53
2.1 재귀: 컴퓨팅 사고의 핵심 53
__2.1.1 간단해 보이는 순환적 사고 공식 55
__2.1.2 하노이의 탑과 구련환: 재귀로 표현되는 문제 57
__2.1.3 가우스조차 해결하지 못한 여덟 개 퀸 문제 61
2.2 순회: 재귀적 사고의 전형적 응용 63
__2.2.1 이진 트리와 그 순회 65
__2.2.2 재귀를 사용한 이진 트리 순회 구현 68
2.3 스택과 큐: 순회의 데이터 구조 71
2.4 중첩: 자연어의 구조적 특징 76
2.5 마무리 81
부록1: 피보나치 수열의 재귀 공식 유도 82
부록2: 여덟 퀸 문제 알고리즘의 의사 코드 84
부록3: 임의의 트리를 이진 트리로 변환하기 85

CHAPTER 3 모든 것이 코드다: 추상화와 표현 86
3.1 인간과 컴퓨터 사이의 정보 인코딩의 차이점 87
3.2 황금 분할 문제와 실험 쥐 문제 91
3.3 데이터 표현: 정밀도와 범위 96
3.4 비선형 코딩과 차등 코딩 100
3.5 허프먼 코드 102
3.6 행렬의 효과적인 표현 107
3.7 마무리 114
부록1: 100층 건물에서 두 개의 유리 공으로 파손 높이를 테스트하는 최적의 방법 115
부록2: 허프먼 코딩의 유효성 증명 115

CHAPTER 4 지능의 본질: 분류와 조합 116
4.1 문제는 선택 분류 116
4.2 정보의 구성: 집합과 판단 120
__4.2.1 의사결정 트리 121
__4.2.2 해시 테이블 124
4.3 B+ 트리, B* 트리: 데이터베이스의 데이터를 구성하는 방식 127
4.4 카탈랑 수 132
4.5 마무리 139
부록1: 집합의 열 가지 공리 140
부록2: 카탈랑 수의 재귀 공식 도출 141

CHAPTER 5 도구와 알고리즘: 그래프 이론 및 응용 142
5.1 그래프 본질: 점과 선 143
5.2 그래프 접근: 순회와 연결성 148
5.3 웹 크롤러 구축의 개발자 문제 151
5.4 동적 계획법: 최단 경로를 찾는 효과적인 방법 154
5.5 최대 흐름: 트래픽 문제 해결 방법 161
5.6 최대 매칭: 흐름 문제의 확장 169
5.7 마무리 173
부록1: 그래프의 깊이 우선 순회 알고리즘 173
부록2: 그래프의 너비 우선 순회 알고리즘 174
부록3: 동적 계획법을 사용한 최단 거리를 계산하는 의사 코드 174
부록4: 최대 흐름 알고리즘 의사 코드 175

CHAPTER 6 복잡함의 단순화: 분할 정복법 응용 176
6.1 분할 정복: O(N2)에서 O(NlogN)으로 177
6.2 분할 알고리즘: 퀵 정렬과 중앙값 문제 186
6.3 병렬에 대한 토론: 행렬 곱셈과 맵리듀스 197
6.4 머신러닝에서 딥러닝까지: 구글 브레인 203
6.5 마무리 209

CHAPTER 7 공간과 시간의 균형: 스토리지의 이해 211
7.1 액세스: 순차 vs. 임의 213
7.2 메모리 계층: 용량 vs. 속도 225
__7.2.1 CPU 캐시에서 클라우드 스토리지까지 226
__7.2.2 두 가지 실제 사례 231
7.3 인덱스: 주소 vs. 내용 234
7.4 마무리 237
부록: x&(x−1)를 사용하여 x에 포함된 1의 수를 세는 방법 238

CHAPTER 8 병렬과 직렬: 파이프라인과 분산 컴퓨팅 239
8.1 파이프라이닝: 논리적 직렬 및 물리적 병렬 처리 239
8.2 무어의 법칙의 두 분수령 242
8.3 클라우드 컴퓨팅 이해하기: GFS와 맵리듀스 244
8.4 마무리 252

CHAPTER 9 상태와 과정: 등가성과 인과관계 254
9.1 문제에서 상태로 255
9.2 등가성: 상태를 추상화하는 도구 261
9.3 인과관계: 상태 간의 연결 설정 266
9.4 마무리 272

CHAPTER 10 결정론적 알고리즘과 확률: 확률론적 알고리즘과 응용 273
10.1 데이터 지문: 무작위성으로 확정한다 274
10.2 무작위성과 양자 통신 278
10.3 신뢰수준: 비용과 효과의 균형 282
10.4 마무리 288

CHAPTER 11 이론과 실습: 전형적인 문제 풀이 289
11.1 가장 긴 연속 부분 수열 문제 289
11.2 구간 병합 문제 294
11.3 열두 개의 공 문제 296
11.4 스카이라인 문제 302
11.5 가장 긴 회문 문제 307
11.6 계산기 문제 314
11.7 검색 결과 요약 문제 317
11.8 합이 k인 부분 수열을 찾는 문제 324
11.9 마무리 327

찾아보기 329

역사를 보면 때때로 사유가 시공을 초월하는 천재, 예를 들어 뉴턴과 아인슈타인 같은 인물이 등장한다. 컴퓨터 분야도 마찬가지인데, 바로 ‘컴퓨터 과학의 아버지’라고 불리는 튜링이다. 튜링은 컴퓨터를 연구하는 사람들에게 신과 같은 존재다. 전 세계에서 지능으로 아인슈타인과 동등하게 위치할 수 있는 사람은 튜링과 폰 노이만뿐일 것이다(폰 노이만의 지능은 아인슈타인을 능가한다고 여겨진다). (12쪽)

동일한 문제에 다른 알고리즘을 사용할 때 알고리즘 간의 효율성 차이는 매우 클 수 있다. IT 업계 종사자의 작업 중 많은 부분은 프로그래밍에서 더욱 효율적인 알고리즘을 찾는 것이다. 물론 다양한 알고리즘이 다양한 규모의 문제를 처리할 때 효율성은 각각 다르다. 알고리즘의 효율성을 측정할 때는 문제 규모가 매우 크고 거의 무한하다고 가정한다. 그리고 계산량과 문제 크기 N 사이의 상관관계를 찾는다. 컴퓨터 과학에서 관심을 가져야 하는 것은 구체적인 계산 함수가 아니라 상한선이다. 이 상한선은 수학에서 함수의 상한 개념, 즉 Big O의 개념이다. (51쪽)

초기 구글의 면접관은 면접에서 그래프 이론에 대해 질문하기를 좋아했다. 자주 하는 질문 중 하나가 인터넷의 모든 웹 페이지를 효율적으로 다운로드하는 웹 크롤러 구축 방법이었다. 사실 세부 사항을 명확하게 분석하기는 어렵다. 구글의 웹 크롤러 팀은 항상 회사에서 가장 크고, 가장 중요하며, 가장 기술력이 높은 팀이었고, 많은 사람이 부분적인 문제들 중 하나만 해결할 수 있었다. 그리고 문제가 얼마나 큰지 보여줬을 뿐이었다. 해당 원리는 사실 매우 간단하다. 그래프 이론의 기본적인 문제인 방향 연결 그래프의 순회 문제이다. 어떻게 광고와 콘텐츠의 최대 매칭을 달성하고 전체 웹사이트 수익을 증가시키는지 묻는 문제 역시 그래프 이론 문제다. 맞춤법 오류가 자동 수정되는 것 또한 그래프 이론 문제로 해결할 수 있다. (142쪽)

분할 정복 알고리즘이나 퀵 정렬 알고리즘이 병합 정렬 알고리즘보다 빠른 이유를 모두 이해할 수 있게 비유를 들어보겠다. 어느 지역에 10만 명의 고등학생이 있다. 학생 중 가장 우수한 학생 몇 명을 뽑으려 할 때 모든 고등학생을 한곳에 모아놓고 가장 우수한 학생을 뽑는 것은 효율적이지 않다. 한곳에 모으면 모든 사람이 모든 사람과 비교해야 하는 버블 정렬과 동일해진다. 10만 명을 열 개 학교에 무작위로 1만 명씩 배치하고 각 학교에서 1등 학생을 뽑아 서로 비교하면 훨씬 더 효율적이다. 이것이 병합 정렬 알고리즘의 원리다. (191쪽)

구글의 소프트웨어 개발 규범에 따르면 동일한 코드가 두 번 이상 나타나면 이를 추출해 별도 함수로 작성하고 다른 곳에서 호출해야 한다. 프로세스 중 일부만 다르거나 함수의 기능이 유사한 경우에는 반드시 하나의 함수로 통합해야 한다. 이는 코드 품질을 향상시킬 뿐만 아니라 개발자의 작업이 다른 작업에도 최대한 활용되도록 한다. 무엇보다 코드를 논리적이고 가독성 있게 만들어 누구나 이전 직원이 하던 일을 쉽게 넘겨받을 수 있도록 하는 게 관건이다. (259쪽)

회문과 관련된 면접 질문 중 간단한 것은 주어진 문자열이 회문인지 여부를 결정하는 것이다. 매우 간단하다. 중앙에서 문자열을 시작해 양쪽으로 스캔하거나 양쪽에서 시작해 중앙으로 스캔하면서 왼쪽과 오른쪽의 해당 위치에 있는 문자가 동일한지 확인하면 된다. 회문 문제의 다른 버전으로, 지원자에게 정규 표현식(regular expression)을 사용해 회문을 작성할 수 있는지 묻는 경우가 있다. 결론적으로 말하면, 회문은 정규 표현식 문법에서 어긋나므로 대답은 ‘아니오’다. 회문 여부를 판단하는 가장 쉬운 방법은 미련하지만 문자열을 모두 스캔하는 것이다. (308쪽)

컴퓨팅의 본질을 꿰뚫는 글로벌 IT 기업 문제 풀이

내가 배운 기술이 앞으로도 유망할까? 챗GPT가 나온 이후 많은 개발자가 고민하는 부분이다. 급변하는 기술 시장에서 나만의 경쟁력을 유지하려면 컴퓨팅의 본질을 알아야 한다고 중국 IT 업계의 대가 우쥔 박사는 말한다. 새로운 기술이 나와도 컴퓨터는 컴퓨팅의 원리로 작동하며, 개발자는 컴퓨팅 사고를 통해 코드를 제대로 작성할 수 있어야 경쟁력을 유지할 수 있다.

저자는 11장에 걸쳐 Big O, 재귀, 코드, 분류, 조합, 그래프 이론, 분할 정복법, 스토리지, 병렬, 상태, 난수 등 핵심 개념들로 컴퓨팅 사고를 이끌어낸다. 이 개념들을 들어는 봤더라도 그 뒤에 있는 컴퓨팅 사고의 본질을 아는 사람은 드물 것이다. 개발자가 어디까지 발전할 수 있는지는 컴퓨터 과학을 얼마나 이해했느냐에 달렸다고 저자는 말한다.

글로벌 IT 기업 면접관 출신의 저자가 알려주는 40여 개 문제와 풀이를 통해 컴퓨팅 사고력을 키울 수 있으며, 각 절 말미에는 심화 사고 문제를 수록해 독자가 자신의 수준을 평가하고 실전 훈련을 하는 데 도움이 되게 구성했다. 알고리즘 책 치고 쉽지만은 않다. 그럼에도 독자가 시간을 할애하고 연구하여 심화 사고 문제까지 풀어낸다면 뿌듯함은 물론이고, 여기서 배운 컴퓨팅 사고는 IT 업계에서 일하는 데 평생 도움이 될 것이다.

컴퓨터 분야 종사자라면 커리어를 더욱 빨리 성장시킬 수 있으며, IT 업계에 진출하려는 이들은 컴퓨팅의 정수를 깨닫고 시행착오를 줄일 수 있을 것이다. 또한, IT 기술에 흥미를 가진 독자라면 기술적인 세부 사항을 건너뛰고 읽는 것만으로도 IT 기술의 특징과 컴퓨팅 사고방식을 이해할 수 있을 것이다. 급변하는 IT 업계에서 변하지 않는 든든한 뒷배로 컴퓨팅 사고력을 길러보자.


주요 내용
● Big O 개념
● 순환에서 재귀로
● 추상화와 표현
● 분류와 조합
● 그래프 이론
● 분할 정복법
● 스토리지의 이해
● 파이프라인과 분산 컴퓨팅
● 등가성과 인과관계
● 확률론적 알고리즘

작가정보

저자(글) 우쥔

吴军
학자, 엔지니어, 투자가, 작가이자 성공한 사업가. 칭화 대학에서 학사, 존스홉킨스 대학교에서 박사 학위를 받았고, 음성 인식, 자연어 처리, 특히 통계적 언어 모델링에 대해 연구했다. 구글 수석 엔지니어로 근무하며 한·중·일 검색 알고리즘에 공헌을 많이 했고, 중국 최대 IT 기업이자 세계 최대 게임 회사인 텐센트의 검색 부문 부사장을 거쳐 현재는 벤처 투자사인 아미노캐피털을 창업하여 성공적으로 운영하고 있다. 국내에 소개된 저서로 《스마트 시대 무엇부터 해야 하나》(살림출판사, 2018), 《수학의 아름다움》(세종서적, 2019), 《어떻게 살아야 할지 막막한 너에게》(오월구일, 2019), 《성장을 꿈꾸는 너에게》(오월구일, 2021) 등이 있다.

중국어 전공을 했으나 정보를 어떻게 표현하고 처리하는 게 가장 효율적인지를 고민하던 끝에, 인문계 소프트웨어 인재 전형으로 IT 회사에 입사하였다. 입사 후 현재까지 스마트팩토리 관련 소프트웨어를 개발하면서 공장에서 나오는 수많은 데이터와 씨름 중이다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    컴퓨팅의 정수 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    컴퓨팅의 정수 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    컴퓨팅의 정수
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)