가입하고 포인트 받기
성공과 실패를 결정하는 1%의 프로그래밍 원리 (2ND EDITION)
야자와 히사오 지음
성안당
 펴냄
15,000 원
13,500원 
앱에서 포인트받고 구매
336쪽 | 2009-01-12
분량 보통인책 | 난이도 보통인책
상세 정보
프로그래밍을 시작하고 싶어하는 사람과 프로그램 능력을 키우고 싶어하는 프로그래머 및 중급 컴퓨터 사용자를 위해 하드웨어, 소프트웨어의 구조 및 프로그램이 작동하는 원리를 알기 쉽게 풀어서 설명하고 있다.<BR> <BR> 특히, 2판을 발간하면서 전문을 다시 고치고 레지스터나 스택에 관한 설명을 대폭 보완하고 더 자세한 주석을 덧붙였다. 예제 프로그램은 이전의 비주얼 베이직에서 프로그램의 작동을 설명하는 데 적합한 C언어로 바꾸었다. 부록에는 보충 자료로 C언어의 해설을 추가했다.
더보기
목차

Chapter_01. CPU를 알면 프로그래밍이 보여요!
Story 01. CPU의 내부를 자세히 살펴보자!
Story 02. 레지스터로 이루어진 CPU의 세계
Story 03. 프로그램의 흐름은 프로그램 카운터가 책임진다!
Story 04. 알고 보면 재미있는 조건 분기와 반복의 원리
Story 05. 함수 호출의 베일을 벗겨 보자!
Story 06. 찰떡궁합! 베이스 레지스터와 인덱스 레지스터
Story 07. CPU는 단순한 작업만 수행할 수 있다?

Chapter_02. 컴퓨터는 2진수만 사용한다구요!
Story 01. 컴퓨터가 2진수로 변환된 데이터만 취급하는 이유
Story 02. 아리송한 2진수의 진정한 의미
Story 03. 자리를 자유자재로 옮겨 다니는 시프트 연산!
Story 04. 보수는 1과 0을 바꾼 후 +1을 하라!
Story 05. 논리?산술 오른쪽 시프트의 작지만 큰 차이
Story 06. 그림으로 풀어 보는 논리 연산!
Column. 여러분이라면 어떻게 설명하시겠어요?
_ 아무 것도 모르는 초등학생에게 CPU와 2진수를 설명한다면...

Chapter_03. 컴퓨터도 계산을 잘못 할 수 있다!
Story 01. 0.1을 100번 더해도 10이 되지 않는다?
Story 02. 2진수 소수를 10진수로 변환하는 방법은?
Story 03. 컴퓨터가 계산을 틀리게 하는 이유
Story 04. 부동 소수점 수 표현 방법을 알아보자!
Story 05. 정규 표현과 익세스 표현 마스터하기
Story 06. 궁금했던 단정도 부동 소수점 수 표현 방법 찜하기
Story 07. 컴퓨터의 계산 실수를 예방하는 두 가지 방법
Story 08. 뚱뚱한 2진수 대신 날씬한 16진수를 사용하자!

Chapter_04. 네모난 메모리를 동그랗게 사용하자!
Story 01. 메모리 IC로 채워진 메모리 구조 살펴보기
Story 02. 메모리는 데이터를 저장하는 빌딩
Story 03. 메모리 어드레스를 저장하는 변수, 포인터!
Story 04. 배열로 메모리를 효율적으로 사용하자!
Story 05. 스택과 큐로 메모리를 렌트하자!
Story 06. 리스트가 있어 데이터 추가 삭제가 쉬워진다!
Story 07. 리스트의 업그레이드, 바이너리 서치 트리!

Chapter_05. 메모리와 디스크의 친밀한 관계
Story 01. 프로그램은 디스크 → 메모리 → CPU 순으로 진행된다!
Story 02. 디스크의 액세스 속도를 증가시키는 '디스크 캐시'
Story 03. 디스크를 메모리처럼 사용하자! '가상 메모리'
Story 04. 메모리를 절약하는 프로그래밍 기법
Story 05. 디스크의 하드웨어적인 구조를 알아보자!

vChapter_06. 데이터 압축의 비밀을 파헤쳐라!
Story 01. 파일은 바이트 단위로 기록된다!
Story 02. '데이터×반복 횟수'로 압축하는 런 렝스 코딩
Story 03. 런 렝스 코딩의 단점을 알아보자!
Story 04. 모스 부호를 닮은 허프만 코딩
Story 05. 허프만 코딩의 단점을 보완해 주는 허프만 트리
Story 06. 허프만 코딩으로 2배의 압축률을 체험하자!
Story 07. 그림 파일을 압축할 때는 손실 압축을 사용하자!
Column. 여러분이라면 어떻게 설명하시겠어요?
_ 'Loading 뒤에 숨겨진 메모리와 디스크의 관계'

Chapter_07. 프로그램은 어떤 환경에서 살아가는가?
Story 01. OS와 하드웨어가 프로그램의 작동 환경을 결정한다!
Story 02. 하드웨어의 차이를 뛰어넘은 윈도우
Story 03. API는 OS마다 다르다!
Story 04. CPU의 차이에서도 극복한 Ports
Story 05. 에뮬레이터로 다른 OS용 프로그램을 즐겨 보자!
Story 06. Java가 어떤 OS와 하드웨어도 두렵지 않은 이유
Story 07. OS를 실행시켜 주는 부트 스트랩

Chapter_08. 소스 파일로부터 실행 파일이 만들어지기까지
Story 01. 컴퓨터는 네이티브 코드만 실행할 수 있다!
Story 02. 네이티브 코드 자세히 들여다보기
Story 03. 소스 코드를 네이티브 코드로 번역해 주는 컴파일러
Story 04. 컴파일한 후 EXE 파일이 만들어지기까지
Story 05. 참 좋다! 스타트업과 라이브러리 파일
Story 06. 컴파일과 링크의 원리를 정리해 보자!
(DLL 파일과 임포트 라이브러리)
Story 07. EXE 파일이 실행되는 원리를 알아보자!
Story 08. 프로그램을 실행할 때 만들어지는 스택과 힙
Q&A. 궁금증을 속 시원하게 풀어주는 Q&A

Chapter_09. OS와 애플리케이션의 관계
Story 01. 역사를 통해 살펴본 OS의 기능
Story 02. 위대한 OS의 존재를 의식하자!
Story 03. 시스템 호출과 고급 언어의 이식성을 알아보자!
Story 04. OS와 고급 언어가 하드웨어를 간접 제어한다!
Story 05. 윈도우의 일곱 가지 특징 제대로 분석하기
Column. 여러분이라면 어떻게 설명하시겠어요?
_OS는 애플리케이션을 경영한다!

Chapter_10. 어셈블리어에서 프로그램의 참모습을 발견하자!
Story 01. 어셈블리어는 네이티브 코드와 1:1로 대응된다!
Story 02. 컴파일로 어셈블리어 소스 코드 만들기
Story 03. 네이티브 코드로 변환되지 않는 의사 명령어
Story 04. 어셈블리어의 형식 = OP코드 + 오퍼랜드
Story 05. 어셈블리어에서 가장 많이 사용하는 mov 명령어
Story 06. push와 pop으로 데이터 저장?읽기를 해결하는 스택
Story 07. 함수 호출의 원리를 낱낱이 밝혀 보자!
Story 08. 쿵탕쿵탕! 함수의 내부에서 이루어지는 작업들
Story 09. 글로벌 변수를 위한 영역은 언제나 확보되어 있다!
Story 10. 로컬 변수를 위한 영역은 일시적으로 확보된다!
Story 11. 어셈블리어로 반복 루틴을 구현하는 방법
Story 12. 어셈블리어로 조건 분기를 구현하는 방법
Story 13. 어셈블리어를 이용한 버그 때려잡기

Chapter_11. 프로그램으로 하드웨어를 제어해 보자!
Story 01. 애플리케이션은 하드웨어와 무관하다?
Story 02. IN?OUT 명령어로 하드웨어 제어하기
Story 03. PC 스피커를 제어하는 프로그램을 만들어 보자!
Story 04. 도표로 알아보는 인터럽트 처리 과정
Story 05. 실시간 데이터 처리를 가능하게 하는 인터럽트
Story 06. 대량의 데이터를 단시간에 전송할 수 있는 DMA
Story 07. 문자나 그래픽이 어떻게 모니터에 표시될까?
Column. 여러분이라면 어떻게 설명하시겠어요?
_ 모니터와 텔레비전, 그 작지만 큰 차이!

Chapter_12. 스스로 생각할 수 있는 컴퓨터를 만들려면?
Story 01. '도구'로서의 프로그램과 '생각'하기 위한 프로그램
Story 02. 사람의 사고 방식을 프로그램으로 표현해 보자!
Story 03. '버릇'을 가진 프로그램 만들기
Story 04. 프로그래밍으로 난수를 활용하는 방법
Story 05. 기억 능력을 이용한 프로그래밍 기법
Story 06. 사고 패턴을 프로그램으로 나타내자
Column. 여러분이라면 어떻게 설명하시겠어요?
_ 프로그램 = 생각하는 순서

부록 _ C언어 맛보기!
Story 01. C언어의 특징
Story 02. 변수와 함수
Story 03. 데이터형
Story 04. 표준 라이브러리 함수
Story 05. 함수 만들기/함수 사용하기
Story 06. 로컬 변수와 글로벌 변수
Story 07. 배열과 반복
Story 08. 그 외의 언어 구문

용어 모음집
찾아보기

더보기
저자 정보
야자와 히사오
문화 오리엔트 주식회사의 고문이며, 컴퓨터 라이터(writer) 친구의 모임 회장 겸 사무국장이다. 전기회사에서 PC의 개조, 소프트하우스에서 프로그래밍 등의 경험을 쌓았고 현재는 독립해서 소프트웨어 패키지의 개발 및 판매에 종사하고 있다. 본업 외에도 프로그래밍 관련 서적 집필이나 잡지 기고 활동, 세미나 및 컨퍼런스에서의 강연 등 여러 가지 분야에서 정력적으로 활동하고 있다. 자칭 소프트웨어 예능인이다. 지은 책으로는 <비주얼 베이직 사용자를 위한 윈도우 프로그래밍 입문>, <프로그래밍 학습 시리즈 비주얼 베이직>, <프로그래밍 학습 시리즈 비주얼 C++>, <프로그래밍 학습 시리즈 Java>, <비주얼 베이직 프로그래머를 위한 비주얼 C++ 입문>, <윈도우 DNA 실천 프로그래밍> 등이 있다.
더보기
남긴 글 0
앱에서 바로 보기