본문 바로가기
책속으로 떠나는 여행

성공과 실패를 결정하는 1%의 컴퓨터 원리

by 코발트_블루 2005. 1. 10.
성공과 실패를 결정하는 1%의 컴퓨터 원리
가격 : 14,800 원
ISBN : 8931548176
저자 : Hisao Yazawa 저/이영란 역
출판사 : 성안당
발행일 : 2003-01-10
페이지 : 320





컴퓨터 시스템에 대한 핵심적인 기본 원리와 개념을 배울 수 있는 책!!

빠른 속도로 발전하면서 나날이 복잡해져가는 컴퓨터 신기술! 하지만 아무리 컴퓨터가 진화하고 발전된다고 하더라도 근본을 이루는 기본 원리는 전혀 변하지 않으며, 이 기본 원리만 이해하면 복잡한 최신 컴퓨터 기술이라도 쉽게 이해할 수 있습니다.

이 책에서는 컴퓨터 기술의 절대적인 기초가 되는 3대 원칙을 설명하고, 이를 토대로 하드웨어와 소프트웨어, 프로그래밍과 프로그램의 흐름, 네트워크 등이 어떤 원리와 절차를 거쳐 실현되는지 저자 특유의 논리와 이론으로 알기 쉽게 설명하고 있습니다.

특히 저자가 수십 년 동안 현장에서 뛴 경험을 토대로 아주 기초적인 부분부터 최신 기술까지 쉽게 설명하고 있으며, 실용 예제와 그림을 곁들여 설명하였기 때문에 내용을 쉽게 이해하고, 익힐 수 있습니다. 그리고 전문적인 용어에 대한 설명이 자세히 되어있어 누구나 부담 없이 편하게 읽을 수 있으며, 원리 이해에 의한 기본실력을 탄탄히 할 수 있습니다.

컴퓨터와 관련된 일을 하거나 프로그래밍에 대한 기본기가 부족하다고 느낀다면, 또는 컴퓨터 기술의 기초를 확실히 다지고 싶은 독자라면, 분명 이 책이 큰 도움이 될 것입니다.





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

전기회사에서 PC 제조, 소프트웨어로 시스템 개발을 경험하고, 현재는 독립하여 소프트웨어 패키지 개발과 판매에 종사하고 있습니다. 본업을 하면서 프로그래밍에 관련된 저서나 잡지 기사의 집필 활동, 세미나나 컨퍼런스에서 강연 활동 등도 정력적으로 하고 있습니다. 고객의 만족을 무엇보다도 중요하게 여기는 자칭 소프트웨어 연예인입니다.

[주요 저서]
- 성공과 실패를 결정하는 1%의 프로그래밍 원리
- 성공과 실패를 결정하는 1%의 C기초 프로그래밍
- Visual Basic 사용자를 위한 윈도우 프로그래밍 입문
- C 언어로 배우는 프로그래밍 기초중의 기초
- C++ 클래스와 상속 완전 정복
- 프로그래밍 학습 시리즈 Visual Basic
- 프로그래밍 학습 시리즈 Visual C++
- 프로그래밍 학습 시리즈 Java
- Visual Basic 프로그래머를 위한 Visual C++ 입문
- 윈도우 DNA 실행 프로그래밍 입문


역자 : 이영란

현재 테크니컬 라이터및 컴퓨터 전문 번역자로 활동중입니다.

[번역 도서]
- 성공과 실패를 결정하는 1% Windows 구조와 원리
- 알고리즘이 보이는 그림책
- 마스터링 비주얼 C# .net
- Visual Basic .NET 기초플러스 외 다수





컴퓨터에 대한 핵심적인 기본 지식과 개념을 배울 수 있는 책

빠른 속도로 발전하는 컴퓨터 기술. 그 기술을 익히고 흐름을 파악한다는 것은 쉬운 일이 아니다. 그러나 이러한 복잡한 기술과 흐름을 쉽게 이해할 수만 있다면, 컴퓨터로 할 수 있는 어떤 일이든 1%의 가산점을 이미 먹고 들어간 셈 아닐까! 미약하게 보일지 모르는 이 1%가 나머지 99%의 밑거름이 되어 성공이라는 결실을 가져다 줄 것이다.
프로그래밍 언어를 배우고 있거나 배우고자 한다면 반드시 이 책을 읽어보기 바란다. 그 어디에서도 가르쳐주지 못한 컴퓨터에 대한 1%의 절대적인 기본 지식과 개념을 배울 수 있을 것이다.
- 이승배(NHN 엔토이 개발팀)

처음 이 책을 접했을 때, 기초를 다지기 위한 책을 꼭 봐야 할까 하는 의문이 들었다. 그러나 컴퓨터와 관련된 일을 하는 사람이라면 꼭 한번은 봐야 할 책인 것 같다. 특히 기본기가 부족하다고 느낀다면 반드시 이 책을 읽어보기 바란다. 프로그램의 흐름과 프로그래밍, 알고리즘 등이 어떤 원리와 절차를 거쳐 컴퓨터상의 프로그램으로 실현되는지 아주 쉽게 이해할 수 있도록 꾸며졌기 때문에 컴퓨터를 배우고 활용하는 데 상당한 도움이 된다.
프로그래밍 언어를 배우기 전에 이 책을 먼저 본다면, 좀더 쉽고 재미있게 프로그래밍 언어를 배울 수 있을 것이다. 이 책에서 설명하는 프로그래밍 언어에 대한 개념들은 오랫동안 실무 작업의 기초를 되돌아보는 계기가 되어줄 것이다.
- 조규형(월간 마이크로소프트웨어 기자)


무슨 일이든 기본기가 중요하다고 하지만 무엇을 어디서부터 어떻게 해야 할지 막막했다. 그 막막함 속에서 이 책을 만난 건 행운일까? 컴퓨터의 구조와 프로그래밍의 개념을 쉽게 정리해준 이 책은 컴퓨터의 본질을 알려주는 귀중한 선물인 셈이다. 이젠 좀더 재미있게 컴퓨터에 몰두할 수 있을 것 같다. 기본기가 부족한 이들에게는 여러모로 큰 힘이 되어줄만한 책이다.
- 권기덕(한양대학교 정보통신대학원 미디어통신학과)


일단 쉽다. 무엇보다도 프로그래밍 언어와 기술의 흐름에 대한 개념을 쉽게 이해할 수 있다는 점이 마음에 든다. 배우면 배울수록 공부하기 어려운 분야라서 한때 공부를 포기하려고 한 적도 있었지만, 프로그래밍 언어가 어려워서 내가 어렵게 공부한 게 아니라, 내가 프로그래밍 언어에 대해 미리 겁을 먹고 있었다는 걸 이 책을 통해 깨닫게 되었다. 분명 읽을만한 가치가 있는 책이며, 공부하는 데 많은 도움이 되고 있다.
- 이준(건국대학교 컴퓨터 공학과)





Chapter 1. 컴퓨터 3대 원칙의 비밀
고도로 복잡한 컴퓨터도 그 기본적인 구조는 놀랄 만큼 간단합니다. 약50년 전 초기 컴퓨터 시대부터 지금까지 컴퓨터의 기본 구조는 달라지지 않았으며, 절대 기초가 되는 ‘컴퓨터의 3대 원칙’에 맞춰 컴퓨터를 이해하면, 아무리 고도로 난해한 최신 기술이라도 쉽게 이해될 수 있으며, 눈앞이 환하게 열리는 것 같은 기분이 들 것입니다.

Chapter 2. 뚝딱뚝딱! 컴퓨터를 만들어보자
컴퓨터의 근본 작동원리를 알기 위해서는 스스로 부품을 모아서 마이컴(마이크로컴퓨터, Microcomputer)을 만들어 보는 것이 가장 좋은 방법입니다. 그러나 실제 마이컴을 만들어 보는 것은 시간과 비용이 많이 들기 때문에, 이 책에서는 뒤편에 회로도를 별도로 제공했습니다. 배선을 흐르는 신호를 회로도에 빨간펜으로 따라하면 실제 배선 작업을 하는 것같은 학습 효과를 얻게 되고, 컴퓨터의 작동 원리를 손바닥 보듯이 알게 될 것입니다.

Chapter 3. 한번은 해보고 싶은 핸드 어셈블
어셈블리 언어를 이용한 프로그램 작성 방법을 다루었으며, 작성된 프로그램을 수작업으로 기계어로 변환(핸드 어셈블)해 봄으로써 컴퓨터와 프로그램의 작동 원리를 이해할 수 있도록 구성했습니다. 이러한 핸드 어셈블 경험을 통해 컴퓨터에 대한 이해가 더욱 깊어 질 것입니다.

Chapter 4. 흐르는 강물 같은 프로그램
프로그램의 세 가지 흐름, 순서도에 대한 이해와 순서도 그리기, 구조화된 프로그래밍, 끼어들기, 이벤트 드리븐 등에 대해 배우게 됩니다. 이를 통해 프로그램의 흐름을 이해할 수 있을 것입니다.

Chapter 5. 알고리즘과 친해지는 7가지 포인트
알고리즘을 알면 자신이 생각하는 바를 컴퓨터에 잘 전달할 수 있습니다. 여기서는 프로그램의 작은 흐름을 나타내는 알고리즘을 주제로 하였으며, 이를 통해 알고리즘을 이해하고 응용하여 자신만의 알고리즘을 고안할 수 있도록 꾸며졌습니다.

Chapter 6. 데이터 구조와 친해지는 7가지 포인트
이 Chapter에서는 데이터의 기본 구조, 알아둬야 할 정립 데이터 구조, 정립 데이터 구조를 프로그램으로 표현하는 방법을 차례대로 설명하였습니다. 예제는 C언어로 작성했지만, C언어를 모르는 사람도 알 수 있도록 쉽고 자세히 설명하였습니다.

Chapter 7. 객체지향 프로그래밍을 말하자
프로그램 개발 방법 중 하나인 객체지향 프로그래밍에 대한 이해와 몇몇 프로그래머들의 객체지향 프로그래밍에 대한 의견, 그리고 객체지향 프로그래밍에 대한 다양한 접근 방법을 배울 수 있습니다.

Chapter 8. 데이터베이스를 만들자!
DBMS, 관계형 데이터베이스, SQL, 트랜잭션 등의 데이터베이스 개념과 작고 간단한 데이터베이스 애플리케이션의 작성 방법을 배우게 됩니다. 이를 통해 데이터베이스에 대해 이해할 수 있을 뿐만 아니라, 살아있는 지식을 몸에 익히게 될 것입니다.

Chapter 9. TCP/IP 네트워크 이해하기
네트워크의 구조를 알면 좀더 편리하게 네트워크를 사용할 수 있게 됩니다. 여기서는 TCP의 역할과 TCP/IP 네트워크 계층에 대해 살펴보았으며, 몇 가지 간단한 실험을 통해 TCP/IP 네트워크의 구조를 알아보았습니다.

Chapter 10. 데이터를 암호화하자!
이 장에서는 네트워크 보안에 관한 ‘암호화와 인증 구조’에 관해 설명하였습니다. 그리고 VBScript(Visual Basic Scripting Edition)라는 프로그래밍 언어를 통해, 실제 암호화를 수행하는 프로그램을 작성해서 데이터가 어떻게 암호화되는지 알아보았습니다.

Chapter 11. XML 바로 알기
이 장에서는 다양한 형태로 확장되고 이용되고 있는 XML에 대한 기초지식과 사용방법, 그리고 XML의 다양한 응용 분야에 대해 다루었습니다.

Chapter 12. SE는 시스템 구축의 현장 감독
이 장에서는 1장~11장까지 개별적으로 다룬 컴퓨터에 관한 다양한 기술을 조합하여 구축된 ‘컴퓨터 시스템’과 컴퓨터 시스템을 만드는 ‘SE(System Engineer)'에 대해 다루었습니다. 또한 이러한 기술적인 부분뿐만 아니라 SE에 요구되는 스킬과 업무 내용에 대해서도 다루었습니다.


■ 이 책에서 풀 수 있는 궁금증...

- 컴퓨터 3대 원칙의 비밀
- 뚝딱뚝딱! 컴퓨터를 만들어보자
- 한번은 해보고 싶은 핸드 어셈블
- 흐르는 강물같은 프로그램
- 알고리즘과 친해지는 7가지 포인트
- 객체지향 프로그램을 말하자
- 데이터베이스를 만들자!
- TCP/IP 네트워크 이해하기
- 데이터를 암호화하자! 암호화란 무엇인가!
- XML 바로 알기
- SE는 시스템 구축의 현장감독





Chapter 01. 컴퓨터 3대 원칙의 비밀
01_컴퓨터의 3계명!
02_하드웨어의 기본은 입력·연산·출력
03_명령과 데이터들 모두 집합!
04_무엇이든 수치로 표현한다!
05_3대 원칙만 알면 만사 OK!
06_인간과 가까이, 더 가까이
07_하드웨어는 어떻게 생겼나?

Chapter 02. 뚝딱뚝딱! 컴퓨터를 만들어보자
01_컴퓨터는 무엇으로 만드나요?
02_알고보면 쉬운 회로도 읽기
03_전원·데이터·어드레스 연결하기
04_I/O와 클럭 신호는 어떻게?
05_입출력 장치는 이렇게 연결해요!
06_제어핀의 연결 노하우
07_외부 장치 연결하기
08_테스트로 마무리하기

Chapter 03. 한번은 해보고 싶은 핸드 어셈블
01_프로그래머에게 하드웨어란?
02_기계어와 어셈블리 언어의 차이
03_Z80 CPU 레지스터 살펴보기
04_프로그램 동작 따라잡기
05_핸드 어셈블을 해보자!
06_프로그램 실행 시간 계산하기
에피소드1 - 인공지능 컴퓨터를 만들고 싶어요!

Chapter 04. 흐르는 강물 같은 프로그램
01_프로그램은 세 가지로 흐른다
02_프로그램이 흐르는 길, 순서도 그리기
03_반복 블록을 나타내는 모자와 핫팬츠
04_한눈에 쏙 들어오는 구조화된 프로그래밍
05_알고리즘을 순서도로 생각하자!
06_끼어들기는 특별해요!
07_이벤트 드리븐도 특별해요!
COLUMN1 - 저항의 색 코드 암기법

Chapter 05. 알고리즘과 친해지는 7가지 포인트
01_문제를 푸는 절차가 명확하고 유한하다
02_감에 의지하지 않고 기계적으로 푼다
03_정립 알고리즘, 알고 응용하기
04_컴퓨터의 처리 속도를 이용한다
05_스피드업을 목표로!
06_숫자의 법칙성을 찾기
07_종이 위에 순서를 생각한다

Chapter 06. 데이터 구조와 친해지는 7가지 포인트
01_메모리와 변수의 관계를 안다
02_데이터 구조의 기본은 배열이다
03_정립 알고리즘의 데이터 구조로 배열 사용하기
04_정립 데이터 구조의 종류를 알고 이미지를 잡는다
05_스택과 큐의 구현 방법 알아보기
06_구조체의 구조 알기
07_리스트와 이진 트리의 구현 방법을 안다

Chapter 07. 객체 지향 프로그래밍을 말하자
01_객체 지향 프로그래밍이란?
02_OOP에 대한 다양한 접근 방법
03_클래스와 객체의 차이
04_클래스의 사용법은 세 가지
05_Java와 .NET에서는 OOP 지식이 필수!

Chapter 08. 데이터베이스를 만들자!
01_데이터베이스는 데이터의 기지
02_데이터 파일·DMBS·애플리케이션
03_데이터베이스를 설계하자!
04_정규화로 테이블 정리하기
05_기본키와 외부키
06_데이터 검색 속도를 향상시키는 인덱스
07_사용자 인터페이스 설계
08_DBMS에 조작을 지시하는 SQL문
09_DBMS에 SQL문을 보내는 데이터 객체
10_트랜잭션 제어도 DBMS에게 맡긴다!
에피소드2 - 데이터베이스 공부로 취업 걱정을 덜어요
COLUMN2 - 신입 프로그래머 교육에 권장할 만한 프로그래밍 언어는?

Chapter 09. TCP/IP 네트워크 이해하기
01_실험을 통해 TCP/IP 바로 알기
02_TCP의 역할과 TCP/IP 네트워크의 계층

Chapter 10. 데이터를 암호화하자! 암호화란 무엇인가?
01_암호화란 무엇인가?
02_문자 코드를 살짝 밀려쓰는 암호화
03_키의 자리수가 많을수록 해독이 어렵다!
04_인터넷 사용에 적합한 공개키 암호 방식
05_데이터의 송신자를 설명하는 전자서명

Chapter 11. XML 바로알기
01_XML은 마크업 언어다
02_XML은 확장 가능하다
03_XML은 메타 언어다
04_XML은 정보에 의미를 붙인다
05_XML은 범용적인 데이터 교환 형식
06_XML의 태그에 네임스페이스를!
07_XML의 문서 구조 엄격히 정의하기
08_XML을 해석하는 컴포넌트
09_XML의 다양한 응용 분야
에피소드3 - XML이 활용될 분야

Chapter 12. SE는 시스템 구축의 현장 감독
01_SE는 시스템 전체의 엔지니어
02_SE가 되는 험난한 길
03_시스템 개발 과정 자세히 보기
04_공정별 작업 내용과 문서
05_설계는 세분화다
06_객체 지향으로 유지·보수를 손쉽게!
07_테크니컬 스킬과 커뮤니케이션 스킬
08_IT는 컴퓨터의 도입이 아니다
09_컴퓨터 시스템의 성공과 실패
10_가동률을 크게 올리는 다중화
에피소드4 - 다중화 기술로 시스템 가동률을 높여요

맺음말

용어 모음집

index


댓글