
구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

지은이 : 야자와 히사오
IT 전문 저자 겸 강사. 대형 전자제품 제조회사와 소프트웨어 개발 업체에서 컴퓨터 제조와 시스템 개발 같은 다양한 업무를 경험하며 실력을 쌓았다. 현재는 독립해 데이터 분석 애플리케이션 개발에 종사한다. 본업을 하는 틈틈이 여러 잡지에 IT 칼럼을 기고하거나 관련 책을 집필하는 데에도 힘을 쏟고 있다. 특히 《IT 업무의 기본이 되는 컴퓨터 구조 원리 교과서》 《프로그램은 어떻게 작동하는가》 등은 일본에서만 수십만 부가 넘게 팔리며 컴퓨터와 프로그램을 공부하는 학생과 IT 업계 종사자들에게 반드시 읽어야 할 바이블로 각인됐다. 집필 활동 외에도 IT 기업의 신입 사원이나 컴퓨터 학과 학생들을 대상으로 강연 활동도 활발히 하고 있다. 현재 야자와 주식회사 대표이사다.
들어가는 말
책에서 해설할 주요 키워드
제1장 프로그래머에게 CPU란 무엇일까
CPU의 내부를 살펴보자
CPU는 레지스터의 집합체
프로그램의 흐름을 결정하는 프로그램 카운터
조건 분기와 반복 시스템
함수 호출의 구조
베이스와 인덱스로 배열 실현하기
CPU가 할 수 있는 일은 극히 단순
제2장 데이터를 2진수로 상상해 보자
컴퓨터가 정보를 2진수로 취급하는 이유
그나저나 2진수란?
시프트 연산과 곱셈 및 나눗셈의 관계
컴퓨터 처리를 하기에 편리한 ‘2의 보수’
논리 우측 시프트와 산술 우측 시프트의 차이
논리 연산에 익숙해지는 요령
COLUMN 여러분이라면 어떻게 설명할까요?
초등학생에게 CPU와 2진수 설명하기
제3장 컴퓨터가 소수점 수의 계산을 틀리는 이유
0.1을 100번 더해도 10이 되지 않음
소수점 수를 2진수로 표현하려면
컴퓨터가 계산을 틀리는 이유
부동 소수점 수는 무엇인가
정규 표현과 초과 표현
프로그램에서 실제로 확인해 보자
컴퓨터 계산 오류를 피하려면
2진수와 16진수
제4장 네모난 모양의 메모리를 둥글게 사용하기
메모리의 물리적인 구조는 단순
메모리의 논리적인 이미지는 빌딩
정말 간단한 포인터
메모리를 효율적으로 잘 사용하기 위한 기본은 배열
스택과 큐, 링 버퍼
요소의 추가와 삭제를 쉽게 할 수 있는 리스트
효율적으로 데이터를 찾을 수 있는 이진 탐색 트리
제5장 메모리와 디스크의 친밀한 관계
메모리에 읽어와야 실행됨
디스크 접속을 고속화하는 ‘디스크 캐시’
디스크를 메모리의 일부로 사용하는 가상 메모리
메모리를 디스크로 사용하는 SSD
메모리를 절약하는 프로그래밍 기법
디스크의 물리 구조도 잘 봐두자
제6장 내 힘으로 데이터를 압축해 보자
파일은 바이트 단위로 기록
런 렝스 부호화의 구조
런 렝스 부호화의 결점
모스부호에서 허프먼 부호화의 기초 확인하기
트리를 이용해 만드는 허프먼 부호화
허프먼 부호화로 압축률이 대폭 향상
무손실 압축과 손실 압축
COLUMN 여러분이라면 어떻게 설명할까요?
게임에 푹 빠진 중학생들에게 메모리와 디스크 설명하기
제7장 프로그램은 어떤 환경에서 작동하는가
작동 환경=OS+하드웨어
CPU 이외의 하드웨어가 가진 차이를 극복한 Windows
OS마다 다른 API
소스 코드를 사용해 설치하기
어디서든 똑같은 실행 환경을 제공하는 Java 가상 머신
클라우드로 제공되는 가상 실행 환경
BIOS와 부트스트랩
제8장 소스 파일로 실행 가능 파일을 만들기까지
네이티브 코드만 실행할 수 있는 컴퓨터
네이티브 코드의 내용을 확인해 보자
소스 코드를 변환하는 컴파일러
컴파일만으로는 실행 가능 파일을 얻을 수 없다
스타트업과 라이브러리 파일
DLL 파일과 임포트 라이브러리
실행 가능 파일을 실행할 때 필요한 것은?
로드할 때 만들어지는 스택과 힙
살짝 어려운 Q&A
제9장 OS와 애플리케이션의 관계
역사로 보는 OS의 기능
OS의 존재를 의식하자
시스템 호출과 고급 언어의 이식성
하드웨어를 추상화하는 OS와 고급 언어
Windows라는 OS의 특징
COLUMN 여러분이라면 어떻게 설명할까요?
스마트폰을 좋아하는 여고생에게 OS의 역할을 설명하기
제10장 어셈블리어를 통해 프로그램의 진짜 모습 이해하기
어셈블리어는 네이티브 코드와 일대일로 대응
C 컴파일러로 어셈블리어의 소스 코드를 출력
유사 명령과 명령
어셈블리어의 구문 ‘연산 코드와 피연산자’
가장 자주 사용되는 movl 명령
스택에 데이터를 저장
함수를 호출하는 구조
호출된 함수의 구조
전역 변수와 지역 변수의 구조
반복 처리의 구조
조건 분기의 구조
어셈블리어를 경험하는 의의
제11장 하드웨어를 제어하는 방법
애플리케이션은 하드웨어와 상관이 없다?
하드웨어와 입출력을 하는 in 명령과 out 명령
인터럽트를 요청하는 주변장치
인터럽트로 실시간 처리를 실현
대량의 데이터를 단시간에 전송할 수 있는 DMA
문자나 그래픽이 표시되는 시스템
COLUMN 여러분이라면 어떻게 설명할까요?
동네 할머니에게 디스플레이와 TV의 차이를 설명하기
제12장 컴퓨터를 학습시키는 방법
기계 학습이란?
서포트 벡터 머신
Python의 대화 모드를 사용하는 방법
학습 데이터 준비하기
손글씨 숫자 데이터의 내용 확인해 보기
기계 학습으로 손글씨 문자 인식하기
교차 검증해 보기
COLUMN 여러분이라면 어떻게 설명할까요?
단골 술집 주인에게 기계 학습의 종류를 설명하기
부록 1 C 언어에 도전해 보자!
C 언어의 특징
변수와 함수
데이터형
입력, 연산, 출력
함수 만들기/함수 사용하기
지역 변수와 전역 변수
배열과 반복
그 외의 언어 구문
부록 2 Python에 도전해 보자!
Python의 특징
모두 다 객체
데이터형
입력, 연산, 출력
함수 만들기/함수 사용하기
지역 변수와 전역 변수
배열과 반복
그 외의 언어 구문
맺음말
찾아보기
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)