지은이 : 야자와 히사오
IT 전문 저자 겸 강사. 대형 전자제품 제조회사와 소프트웨어 개발 업체에서 컴퓨터 제조와 시스템 개발 같은 다양한 업무를 경험하며 실력을 쌓았다. 현재는 독립해 데이터 분석 애플리케이션 개발에 종사한다. 본업을 하는 틈틈이 여러 잡지에 IT 칼럼을 기고하거나 관련 책을 집필하는 데에도 힘을 쏟고 있다. 특히 《IT 업무의 기본이 되는 컴퓨터 구조 원리 교과서》 《IT 업무의 기본이 되는 프로그램 구조 원리 교과서》 등은 일본에서만 수십만 부가 넘게 팔리며 컴퓨터와 프로그램을 공부하는 학생과 IT 업계 종사자들에게 반드시 읽어야 할 바이블로 각인됐다. 집필 활동 외에도 IT 기업의 신입 사원이나 컴퓨터 학과 학생들을 대상으로 강연 활동도 활발히 하고 있다. 현재 야자와 주식회사 대표이사다.
제1장 컴퓨터의 3대 원칙이란?
컴퓨터의 절대적인 기초는 3가지다
하드웨어의 기초는 입력, 연산, 출력
소프트웨어는 명령과 데이터의 집합체
컴퓨터는 뭐든 수치로 나타낸다
컴퓨터는 인간에 근접하기 위해 꾸준히 발전한다
다음 장을 위해 가볍게 예습하기
제2장 컴퓨터를 만들어보자
컴퓨터를 구성하는 장치와 부품
CPU, 메모리, I/O 안에는 상자가 있다
회로도 읽는 방법
전원 배선하기
데이터선 배선하기
주소선 배선하기
제어선 배선하기
그 외의 배선
배선 작업 완료
제3장 한번은 체험해 봐야 할 어셈블리어
고급 언어와 저급 언어
프로그램을 만드는 데 필요한 하드웨어 지식
CPU 레지스터의 종류와 역할
어셈블리어 언어 구문은 하나뿐
프로그램 내용의 설명
CASL II 시뮬레이터를 구해 설치하기
프로그램 작성하기
기계어의 내용 확인하기
CPU와 메모리 상자에서 데이터를 주고받는 모습을 확인하기
명령이 순서대로 실행되는 시스템 확인하기
제4장 강물처럼 흘러가는 프로그램
프로그램 흐름의 3가지 종류
프로그램 흐름을 그림으로 나타낸 순서도
반복 블록을 표현하는 모자와 바지
구조적 프로그래밍이란 무엇일까?
알고리즘을 순서도로 생각해 보자
이벤트 드리븐이라는 특수한 흐름
칼럼 세미나 현장에서 : PC의 분해 실습
제5장 알고리즘과 사이좋게 지낼 수 있는 7가지 포인트
알고리즘은 프로그래밍의 ‘관용구’
포인트 1 : 문제를 푸는 절차가 명확하고 횟수에 제한이 있다
포인트 2 : 감에 의존하지 않고 기계적으로 문제를 풀 수 있다
포인트 3 : 정석 알고리즘을 알고 응용한다
포인트 4 : 컴퓨터의 처리 속도를 이용한다
포인트 5 : 스피드업을 목표로 연구한다
포인트 6 : 수치의 법칙성을 찾아낸다
포인트 7 : 지면에서 절차를 생각한다
제6장 자료구조와 사이좋게 지낼 수 있는 7가지 포인트
포인트 1 : 메모리와 변수의 관계를 이해한다
포인트 2 : 자료구조의 기본인 배열을 이해한다
포인트 3 : 정석 알고리즘으로 배열 사용법을 이해한다
포인트 4 : 정석 자료구조의 이미지를 파악한다
포인트 5 : 스택과 큐의 실현 방법을 이해한다
포인트 6 : 구조체의 시스템을 이해한다
포인트 7 :리스트와 이진 트리의 실현 방법을 이해한다
제7장 객체 지향 프로그래밍을 이야기할 수 있는 힘을 기르자
객체 지향 프로그래밍이란?
OOP를 이해하는 다양한 방법
의견 1 : 부품을 조합해 프로그램을 구축한다
의견 2 : 개발 효율과 유지 보수성을 향상한다
의견 3 : 대규모 프로그램에 적합한 개발 기법이다
의견 4 : 현실 세계를 모델링한다
의견 5 : UML로 프로그램을 설계한다
의견 6 : 객체 간의 메시지 전달로 프로그램이 작동한다
의견 7 : 상속, 캡슐화, 다형성을 사용한다
클래스와 객체의 차이
클래스를 사용하는 방법은 3가지
칼럼 세미나 현장에서: 신입 프로그래머 교육 시 추천하는 프로그래밍 언어는?
제8장 만들면 이해가 가는 데이터베이스
데이터베이스는 데이터 기지
데이터 파일, DBMS, 프로그램
데이터베이스 설계하기
테이블을 분할해 정리하는 정규화
테이블을 결합하는 기본키와 외래키
데이터의 검색 속도를 향상하는 인덱스
DBMS에 CRUD를 지시하는 SQL문
트랜잭션 제어도 DBMS에 맡길 수 있다
제9장 네트워크 명령으로 네트워크 시스템을 확인
네트워크 명령이란?
확인 1 : MAC 주소를 본다
확인 2 : IP 주소와 서브넷 마스크를 본다
확인 3 : DHCP 서버의 역할을 이해한다
확인 4 : 기본 게이트웨이에 PING을 보낸다
확인 5 : TTL의 역할을 이해한다
확인 6 : DNS 서버의 역할을 이해한다
확인 7 : IP 주소와 MAC 주소의 대응을 확인한다
TCP의 역할과 TCP/IP 네트워크의 계층
제10장 데이터를 암호화해 보자
암호화란 뭔가를 살짝 확인하는 것
문자 코드를 바꾸는 암호화
열쇠가 많을수록 어려워지는 해독
암호화와 복호화에서 다른 열쇠를 사용하는 공개키 암호 방식
공개키 암호 방식을 응용한 디지털 서명
제11장 XML이란 무엇인가
XML은 마크업 언어
XML은 확장이 가능하다
XML은 메타 언어
XML은 데이터에 의미를 부여한다
XML은 범용적인 데이터 교환 형식
XML 태그에 이름 공간을 설정할 수 있다
XML의 문서 구조를 엄격하게 정의할 수 있다
XML을 해석하는 컴포넌트가 존재한다
XML은 다양한 상황에서 이용하고 있다
제12장 SE는 컴퓨터 시스템 개발의 현장감독
SE는 시스템 전체에 관여하는 엔지니어
꼭 프로그래머를 경험해야 SE가 되는 것은 아니다
시스템 개발 절차의 규범이란?
각 공정의 작업 내용과 문서
설계란 곧 세분화를 말하는 것이다
테크니컬 스킬과 커뮤니케이션 스킬
IT란 컴퓨터를 도입하는 일이 아니다
컴퓨터 시스템의 성공과 실패
가동률을 대폭 올리는 다중화
맺음말
찾아보기
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)