이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 청년패스
성공과 실패를 결정하는 1%의 프로그래밍 원리
How Program works
Hisao Yazawa 저 / 예승철 역 / 이향선 감수
성안당 2002.06.01.
가격
14,800
10 13,320
YES포인트?
740원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 개정판이 출간되었습니다.

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 상품의 태그

책소개

성공 프로그래밍을 결정하는 1%-프로그램이 움직이는 원리

목차

제1장 CPU를 알면 프로그래밍이 보여요!
1. CPU의 내부를 자세히 살펴보자!
2. 레지스터로 이루어진 CPU의 세계
3. 프로그램의 흐름은 프로그램 카운터가 책임진다!
4. 알고 보면 재미있는 조건 분기와 반복의 원리
5. 함수 호출의 베일을 벗겨보자!
6. 찰떡궁합! 베이스 레지스터와 인덱스 레지스터
7. CPU는 정말 단순한 작업만 수행할 수 있다?

제2장 컴퓨터는 2진수만 사용한다구요!
1. 컴퓨터가 2진수로 변환된 데이터만 취급하는 숨겨진 비밀
2. 아리송한 2진수의 진정한 의미
3. 자리를 자유자재로 옮겨 다니는 시프트 연산!
4. 보수는 1과 0의 반전 후 +1을 하라!
5. 논리·산술 오른쪽 시프트의 작지만 큰 차이
6. 그림으로 풀어보는 논리연산!
특별페이지 인터넷으로 프로그래밍 정복하기!

제3장 컴퓨터도 계산을 잘못할 수 있다!
1. 0.1을 100번 더해도 10이 되지 않는다?
2. 2진수 소수를 10진수로 변환하는 방법은?
3. 컴퓨터가 계산을 틀리게 하는 이유
4. 부동 소수 표현 방법을 알아보자!
5. 정규 표현과 익세스 표현 마스터하기
6. 궁금했던 단정도 부동 소수 표현 방법 찜하기
7. 컴퓨터의 계산 실수를 예방하는 방법 두 가지
8. 뚱뚱한 2진수 대신 날씬한 16진수를 사용하자!

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

제5장 메모리와 디스크의 친밀한 관계
1. 프로그램은 디스크 → 메모리 → CPU 순으로 진행된다!
2. 디스크의 액세스 속도를 증가시키는 '디스크 캐시'
3. 디스크를 메모리처럼 사용하자! '가상 메모리'
4. 메모리를 절약하는 프로그래밍 기법 노하우
5. 디스크의 하드웨어적인 구조를 알아보자!

제6장 데이터 압축의 비밀을 파헤쳐라!
1. 파일은 바이트 단위로 기록된다
2. 데이터×반복 횟수로 압축하는 런 렝스 코딩
3. 런 렝스 코딩의 단점을 알아보자!
4. 모스 부호를 닮은 허프만 코딩
5. 허프만 코딩의 단점을 보완해주는 허프만 트리
6. 허프만 코딩으로 2배의 압축률을 체험하자!
7. 그림 파일을 압축할 때는 손실 압축을 사용하자!

제7장 프로그램은 어떤 환경에서 살아가는가?
1. OS와 하드웨어가 프로그램의 작동 환경을 결정한다
2. 하드웨어의 차이를 뛰어넘은 윈도우
3. API는 OS마다 다르다!
4. 마이크로프로세서의 차이까지도 극복한 FreeBSD의 Ports
5. 에뮬레이터로 다른 OS용 프로그램을 즐겨보자!
6. Java가 어떤 OS와 하드웨어도 두렵지 않은 이유
7. OS를 실행해주는 부트 스트랩

제8장 소스 파일로부터 실행 파일이 만들어지기까지...
1. 컴퓨터는 네이티브 코드만 실행할 수 있다!
2. 네이티브 코드 자세히 들여다보기
3. 소스 코드를 네이티브 코드로 번역해주는 컴파일러
4. 컴파일 한 후 EXE 파일이 만들어지기까지
5. 참! 좋다! 스타트업과 라이브러리 파일
6. 컴파일과 링크의 구조를 정리해 보자!
7. EXE 파일이 실행되는 원리를 알아보자!
8. 메모리 영역을 Support 하는 스택과 힙

제9장 OS와 애플리케이션의 관계
1. 역사를 통해 살펴본 OS의 기능
2. 위대한 OS의 존재를 의식하자!
3. 시스템 호출과 고급 언어의 이식성을 알아보자!
4. OS와 고급 언어가 하드웨어를 간접적으로 제어한다
5. 윈도우의 특징 7가지 제대로 분석하기
6. 배치 파일이라고 불리는 셸 스크립트

제10장 어셈블리어에서 프로그램의 참모습을 발견한다!
1. 어셈블리어는 네이티브 코드와 1:1로 대응된다
2. 컴파일러로 어셈블리어 소스 코드 만들기
3. 네이티브 코드로 변환되지 않는 의사 명령어
4. 어셈블리어의 형식 = 옵코드 + 오퍼랜드
5. 어셈블리어에서 가장 많이 사용하는 mov 명령어
6. Push와 Pop으로 데이터 저장과 읽기를 해결하는 스택
7. 함수 호출의 원리를 낯낯이 밝혀보자!
8. 쿵탕쿵탕! 함수의 내부에서 이루어지는 작업들
9. 외부 변수를 위한 영역은 언제나 확보되어 있다!
10. 내부 변수를 위한 영역은 일시적으로 확보된다!
11. 어셈블리어로 반복 루틴을 구현하는 방법
12. 어셈블리어로 조건 분기를 구현하는 방법
13. 어셈블리어를 이용한 버그 때려잡기
14. VB용 프로그램을 어셈블리어 소스 코드로 변환하는 방법

제11장 프로그래밍으로 하드웨어를 제어해 보자!
1. 애플리케이션은 하드웨어와 무관하다?
2. 윈도우가 하드웨어를 제어할 때 사용하는 IN·OUT 명령어
3. PC 스피커를 제어하는 프로그램을 만들어 보자!
4. 도표로 알아보는 인터럽트 처리과정
5. 실시간 데이터 처리를 가능하게 하는 인터럽트
6. 주변기기와 메인 메모리를 직접 연결해주는 DMA
7. 모니터에 문자나 그래픽이 표시되는 원리

제12장 스스로 생각할 수 있는 컴퓨터를 만들려면?
1. '도구'로 사용하는 프로그램과 '생각'하기 위한 프로그램
2. 사람의 사고 방식을 프로그램으로 표현해 보자!
3. '버릇'을 가진 프로그램 만들기
4. 프로그래밍으로 난수를 활용하는 방법
5. 기억 능력을 이용한 프로그래밍 기법
6. 사고 패턴을 프로그램으로 나타내자!

저자 소개

저자 : Hisao Yazawa
주식회사 야자와 대표이사

문화 오리엔트 주식회사 고문
컴퓨터 라이터(writer) 친구의 모임 회장 겸 사무국장
전기회사에서 PC의 개조, 소프트하우스에서 프로그래밍 등의 경험을 쌓았고 현재는 독립해서 소프트웨어 패키지의 개발 및 판매에 종사하고 있다. 본업 외에도 프로그래밍 관련 서적 집필이나 잡지 기고 활동, 세미나 및 컨퍼런스에서의 강연 등 여러 가지 분야에서 정력적으로 활동하고 있다. 자칭 소프트웨어 예능인.

주요 저서
비주얼 베이직 사용자를 위한 윈도우 프로그래밍 입문 (NikkeiBP사)
프로그래밍 학습 시리즈 비주얼 베이직 ~ (쇼에이)
프로그래밍 학습 시리즈 비주얼 C++ ~ (쇼에이)
프로그래밍 학습 시리즈 Java ~ (쇼에이)
비주얼 베이직 프로그래머를 위한 비주얼 C++ 입문 (아스키)
윈도우 DNA 실천 프로그래밍 (아스키)
역자 : 예승철
프로그래밍 분야 전문 번역가/테크니컬 라이터

게이밍월드, 게임조선 등의 게임잡지에 원고 기고
게임 프로그래밍 서적 번역 중
PDA 관련 서적 번역 중
감수 : 이향선
현재 프로그램세계 편집주간
헬로우 PC 편집장 역임
(사)한국정보통신기자협회 16대 회장

품목정보

발행일
2002년 06월 01일
쪽수, 무게, 크기
307쪽 | 761g | 크기확인중
ISBN13
9788931547399

예스24 리뷰

컴퓨터는 어떻게 움직이는가, 프로그램은 어떻게 움직이는가
--- 조은희(choeh@yes24.com)
프로그래밍이나 컴퓨터 엔지니어링는 매력적인 분야이지만, 시작하려고 하면 쉽게 입문하기 어려운 배타적인 분야이다. 요즘 유행하는 언어랍시고 C#이나 Java책을 권하는 말이 도움이 되기는커녕 외계의 말처럼 들린다면. 이 책을 통해 컴퓨터라는 사랑스러운 기계덩어리를 이해해 보는 것도 좋을 법하다. 하드웨어는 좀 하는데 프로그래밍은 하나도 모르겠다던지, 프로그래밍은 좀 하는데 하드웨어는 감을 못 잡겠다는 사람도 이 책을 관심있게 보길 바란다. 실력 있고 생명력 있는 프로그래머가 되려면 프로그래밍 자체를 익히는 것도 중요하지만, 소프트웨어/하드웨어적 환경과 연관성을 균형있게 이해하는 것도 중요한데 이 책이 그 첫걸음이 될 수 있을 것이다. 0과 1부터 차근차근 설명해서 주니까 안심해도 좋다.

예전 컴퓨터 학원의 감초과목이던 EDPS를 기억하는지. 'EDPS는 음담패설의 약자가 아니라 Electronic Data Processing System의 약자입니다.' 라는 옛날옛날 우스개로 시작되던 그 때 그 시절 강의를 오랫만에 생각나게 만드는 책이다. EDPS 과목과 유사한 학습목표를 가지는 책이다. 아직 학원가에 EDPS 강의가 있다면 해당 교재로 적합하지 않을까 하는 생각을 해본다.

이 책은 한마디로 '컴퓨터는 어떻게 움직이는가' 혹은 '프로그래밍이 어떻게 움직이는가' 를 알려준다. 좀더 원론적으로 말한다면 전기적인 신호에 의해 데이터를 처리하는 이론을 설명한다. 고등학교 혹은 관련학과 1,2학년 정도 수준에서 쓰여졌고, 컴퓨터 엔지니어 분야에 입문했거나 프로그래밍 능력을 키우고자 하는 사람에게 적당하다. 아직 컴퓨터와 친해지지 못했거나 개념을 잡지 못하고 있는 고학년생에게도 좋다. 전공필수 과목으로 꼽히는 컴퓨터구조론, 알고리즘, 자료구조, 운영체제 컴파일러, 어셈블러 등의 과목을 어려워하거나 기초가 부족하다고 생각하고 있다면 이 책이 훌륭한 선수과목 역할을 해줄 것이다. 여러분 일생의 첫번째 프로그램 코드를 작성하고, 돌리고, 이해하기까지는 남들은 절대 가늠 못하는 어려움과 혼자서 건너야만 하는 어둡고 긴 터널이 있을 것이고 그 여정의 동반자로 권할만하다.

책 속으로

여러분은 컴퓨터의 내부가 전자부품인 IC(Intgrated Circuit,집적 회로)로 구성되어 있다는 사실을 이미 알고 있을 겁니다. 제1장에서 설명한 CPU(또는 마이크로프로세서)와 메모리도 IC의 한 종류입니다. IC는 검은 몸체의 양쪽에 여러 개에서 수백 개의 다리가 붙어 있는 지네와 같이 몸체의 아래쪽에 일정한 간격을 두고 핀이 배열된 형태를 가지고 있습니다. 이런 IC에 달린 모든 핀은 보통 직류 전압 0V나 +5V중 하나의 전압을 갖게 됩니다. 따라서 IC의 핀 1개로는 두 가지 상태만 나타낼 수 있습니다.

이러한 IC의 특성 때문에 컴퓨터에서는 필연적으로 모든 정보를 2진수로 만든 후 처리해야 합니다. 다시 말해서 한 자리(1개의 핀)를 이용해서 두 종류의 상태만 표현할 수 있기 때문에 0, 1, 10, 11, 100, … 의 순서대로 크기가 증가하는 2진수를 사용해야 한다는 것입니다.

--- P.38

술집 주인 : 어! 어려운 얘기가 될 것 같네요. 될 수 있으면 간단히 설명해주세요.
필자: 컴퓨터 혼자서는 아무것도 생각할 수가 없어요. 앞으로는 그런 컴퓨터가 나올 수도 있겠지만요. 그래서 만약 컴퓨터를 생각하게 하려면, 생각하는 순서를 프로그램으로 나타내야 되지요.
술집주인 : 이 프로그램이 뭔지 도저히 알 수 없군요. 간단히 말하면 뭐랑 비슷해요?
필자 ; 운동회나 음악회 프로그램과 같아요. 무엇을 할 것인지에 대한 순서가 차례로 있는 문서이죠. 이 문서, 즉 프로그램을 영어와 비슷한 프로그래밍 언어의 문법으로 길게 작성한 것이 컴퓨터의 프로그램이에요.

--- P.288

리뷰/한줄평30

리뷰

7.6 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.