본문 바로가기

추천 검색어

실시간 인기 검색어

패키지

Great Code Vol.1~3 (3권 세트)

랜달 하이드
에이콘출판 · 2022년 05월 31일 (1쇄 2022년 05월 31일)
10.0 (2개의 리뷰)
도움돼요 (100%의 구매자)
  • Great Code Vol.1~3 (3권 세트) 대표 이미지
    Great Code Vol.1~3 (3권 세트) 대표 이미지
MD의 선택 한정판매 이벤트 소득공제
10% 108,000 120,000
적립/혜택
6,000P

기본적립

5% 적립 6,000P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 6,000P
  • 리뷰 작성 시, e교환권 추가 최대 300원

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

북카드


소프트웨어 개발에 필요한 컴퓨팅 머신의 작동 원리와 상호작용 방식을 정보 표현 방식, 주요 연산 장치 및 주변 장치의 작동 방식에 대한 전문적인 설명과 시각화 자료, 다양한 레벨의 실습용 코드로 이해하기 쉽게 설명한다. 정보 표현 방식으로서 비트 논리 연산, 부동소수점수, 문자 데이터를 소개하고, CPU 및 메모리, 입출력 장치, 주변 장치버스, 파일시스템 등 컴퓨팅 머신과의 상호작용 방식을 설명한다.


오늘날의 프로그래밍 언어는 생산성과 이식성을 제공하는데, 컴파일러에 최적화되지 않은 조잡한 코드를 쉽게 작성할 수도 있다. 로우레벨로 생각하고 하이레벨 언어로 코딩하면 컴파일러로 좋은 기계어 코드를 생성해내는 소스 코드를 만들 수 있게 해준다.


개발자가 알아야 할 개발 방법론과 생산성 관리 전략부터 객체지향적 디자인의 요구사항과 시스템 문서화에 이르는 방대한 내용을 알기 쉽게 설명한다. 개발자가 프로젝트 팀원으로서 알아야 할 문서화 작업 방법과 문서 간의 일관성 유지 기법, 소프트웨어 엔지니어링 디자인 문서라고 할 수 있는 UML 요구사항 작성 방법, IEEE 표준안 기반의 소프트웨어 품질 관리 방법을 다양한 예시와 사례로 알기 쉽게 설명한다.


1장. 탁월한 코드 작성을 위한 준비
1.1 『Write Great Code』 시리즈의 개요
1.2 이 책에서 다루는 내용
1.3 이 책의 활용을 위한 준비
1.4 탁월한 코드의 특징
1.5 이 책에 실린 예제의 실행 환경
1.6 이 책의 추가적인 활용 팁
1.7 참고 자료

2장. 컴퓨터의 수 표기법
2.1 수란 무엇인가
2.2 수
2.2.1 10진 위치 표기법
2.2.2 기수
2.2.3 2진수 체계
2.2.4 16진수 체계
2.2.5 8진수 체계
2.3 숫자와 문자의 상호 변환
2.4 내부 숫자 표현법
2.4.1 비트
2.4.2 비트 문자열
2.5 부호 있는 수와 부호 없는 수
2.6 2진수의 유용한 속성
2.7 데이터 타입 통일을 위한 부호 확장, 0 확장, 부호 축소
2.8 포화
2.9 2진화 10진 표기법
2.10 고정소수점 표기
2.11 배율 조정 수 포맷
2.12 유리수 표기법
2.13 참고 자료

3장. 2진법 계산 및 비트 연산
3.1 2진수와 16진수를 이용한 산술 연산
3.1.1 2진수의 덧셈
3.1.2 2진수의 뺄셈
3.1.3 2진수의 곱셈
3.1.4 2진수의 나눗셈
3.2 비트 논리 연산
3.3 2진수와 비트 문자열의 논리 연산
3.4 비트 연산의 유용한 속성
3.4.1 AND를 이용한 비트 문자열 검증
3.4.2 AND를 이용한 비트 세트의 0 포함 여부 검증
3.4.3 2진 문자열의 비트 세트 비교
3.4.4 AND를 이용한 모듈로 n 카운터 구현
3.5 이동 연산과 회전 연산
3.6 비트 필드와 데이터 묶음
3.7 데이터 묶기와 데이터 묶음 풀기
3.8 참고 자료

4장. 부동소수점 연산
4.1 부동소수점 연산의 개요
4.2 IEEE 부동소수점 형식
4.2.1 단정밀도 부동소수점 형식
4.2.2 복정밀도 부동소수점 형식
4.2.3 확장 정밀도 부동소수점 형식
4.2.4 쿼드 정밀도 부동소수점 형식
4.3 부동소수점 수의 정규화와 비정규화
4.4 라운딩
4.5 특수한 부동소수점 값
4.6 부동소수점 예외 규칙
4.7 부동소수점 연산 방식의 이해
4.7.1 이번 절에서 사용하는 부동소수점 형식
4.7.2 부동소수점 덧셈 및 뺄셈
4.7.3 부동소수점 곱셈 및 나눗셈
4.8 참고 자료

5장. 문자 데이터의 활용
5.1 문자 데이터
5.1.1 ASCII 문자셋
5.1.2 IBM의 EBCDIC 문자셋
5.1.3 더블 바이트 문자셋
5.1.4 유니코드 문자셋
5.1.5 유니코드 코드 포인트
5.1.6 유니코드 코드 플레인
5.1.7 서로게이트 코드 포인트
5.1.8 글리프, 문자, 그래핌 클러스터
5.1.9 유니코드 노멀과 캐노니컬 동등
5.1.10 유니코드 인코딩
5.1.11 유니코드 연결 문자
5.2 문자열
5.2.1 문자열 형식
5.2.2 문자열 유형: 정적, 유사 동적, 동적 문자열
5.2.3 문자열 참조 카운터
5.2.4 델파이 문자열
5.2.5 커스텀 문자열
5.3 문자셋 데이터 타입
5.3.1 문자셋의 멱집합 표기법
5.3.2 문자셋의 리스트 표기법
5.4 자체 문자셋 설계하기
5.4.1 효율적인 문자셋의 설계
5.4.2 숫자 표현을 위한 문자 코드 그룹화
5.4.3 알파벳 문자 그룹화
5.4.4 알파벳 문자의 비교 연산
5.4.5 기타 문자의 그룹화
5.5 참고 자료

6장. 메모리 구조와 접근 방식
6.1 컴퓨터의 기본적인 시스템 구성 요소
6.1.1 시스템 버스
6.2 메모리의 물리적 구조
6.2.1 8비트 데이터 버스
6.2.2 16비트 데이터 버스
6.2.3 32비트 데이터 버스
6.2.4 64비트 데이터 버스.
6.2.5 80x86 이외 프로세서의 바이트, 워드, 더블워드 접근 방식
6.3 빅 엔디안과 리틀 엔디안의 구조 비교
6.4 시스템 클럭
6.4.1 메모리 액세스와 시스템 클럭
6.4.2 대기 상태
6.4.3 캐시 메모리
6.5 CPU의 메모리 액세스 방법
6.5.1 직접 메모리 주소 지정 모드
6.5.2 간접 메모리 주소 지정 모드
6.5.3 인덱스 메모리 주소 지정 모드
6.5.4 스케일 인덱스 주소 지정 모드
6.6 참고 자료

7장. 복합 데이터 타입과 메모리 객체
7.1 포인터 타입
7.1.1 포인터 구현
7.1.2 포인터와 동적 메모리 할당
7.1.3 포인터 작업 및 포인터 산술 연산
7.1.3.1 포인터에 정수 더하기
7.2 배열
7.2.1 배열 선언
7.2.2 메모리에서의 배열 표현
7.2.3 배열 요소에 접근하기
7.2.4 다차원 배열
7.3 레코드와 구조체
7.3.1 파스칼/델파이의 레코드
7.3.2 C/C++의 레코드
7.3.3 HLA의 레코드
7.3.4 스위프트의 레코드(튜플)
7.3.5 레코드의 메모리 저장 방식
7.4 이산 유니온 데이터 타입
7.4.1 C/C++의 유니온
7.4.2 파스칼/델파이의 유니온
7.4.3 스위프트의 유니온
7.4.4 HLA의 유니온
7.4.5 유니온 타입의 메모리 저장
7.4.6 유니온 타입의 기타 활용 방식
7.5 클래스
7.5.1 클래스 개념 1: 상속
7.5.2 클래스 구조체
7.5.3 클래스 개념 2: 다형성
7.5.4 추상 메소드와 추상 베이스 클래스
7.6 C++의 클래스
7.6.1 C++의 추상 멤버 함수 및 클래스
7.6.2 C++의 다중 상속
7.7 자바의 클래스
7.8 스위프트의 클래스
7.9 프로토콜과 인터페이스
7.10 제네릭과 템플릿
7.11 참고 자료

8장. 불리언 로직과 디지털 설계
8.1 불리언 대수
8.1.1 불리언 연산자
8.1.2 불리언 공리
8.1.3 불리언 연산자의 우선순위
8.2 불리언 함수와 진리표
8.3 함수 번호
8.4 불리언 수식의 대수 처리
8.5 정규형
8.5.1 최소항의 합 정규형과 진리표
8.5.2 대수적으로 생성된 최소항의 합 정규형
8.5.3 최대항의 곱 정규형
8.6 불리언 함수의 단순화
8.7 불리언 로직의 적용 방식
8.7.1 전자 회로와 불리언 함수의 대응 관계
8.7.2 조합 회로
8.7.3 시퀀셜 로직과 클럭 로직
8.8 참고 자료

9장. CPU 아키텍처
9.1 CPU의 기본적인 설계 방식
9.2 명령어 디코딩 및 실행: 랜덤 로직과 마이크로코드의 비교
9.3 단계별 명령어 실행
9.3.1 mov 명령어
9.3.2 add 명령어
9.3.3 jnz 명령어
9.3.4 loop 명령어
9.4 RISC vs. CISC: 명령어의 신속 실행을 통한 성능 향상
9.5 병렬성: 더 높은 성능의 비결
9.5.1 기능성 유닛
9.5.2 프리페치 큐
9.5.3 프리페치 큐의 성능을 저하시키는 조건
9.5.4 파이프라이닝: 다중 명령어 중첩
9.5.5 명령어 캐시: 다수의 메모리 경로 제공
9.5.6 파이프라인 해저드
9.5.7 슈퍼스칼라 연산: 병렬적 명령어 실행
9.5.8 명령어의 비순차적 실행
9.5.9 레지스터 이름 변경
9.5.10 VLIW 아키텍처
9.5.11 병렬 처리
9.5.12 멀티프로세싱
9.6 참고 자료

10장. 명령어 집합 설계
10.1 명령어 집합 설계의 중요성
10.2 명령어 설계의 기본적인 목표
10.2.1 opcode 길이 선택
10.2.2 미래에 대한 대비
10.2.3 명령어 선택
10.2.4 명령어에 opcode 할당하기
10.3 가상의 Y86 프로세서
10.3.1 Y86 프로세서의 제한된 기능 소개
10.3.2 Y86 명령어의 종류
10.3.3 Y86의 피연산자 유형과 어드레스 모드
10.3.4 Y86 명령어 인코딩
10.3.5 Y86 명령어 인코딩 사례
10.3.6 Y86 명령어 집합의 확장
10.4 80x86 명령어 인코딩
10.4.1 명령어 피연산자 인코딩
10.4.2 add 명령어 인코딩
10.4.3 x86 상수 피연산자 인코딩
10.4.4 8비트, 16비트, 32비트 피연산자 인코딩
10.4.5 64비트 피연산자 인코딩
10.4.6 명령어의 대안으로서 인코딩
10.5 명령어 집합 설계의 중요성
10.6 참고 자료

11장. 메모리 아키텍처 및 구성
11.1 메모리 계층 구조
11.2 메모리 계층의 작동 방식
11.3 메모리 서브시스템의 성능 비교
11.4 캐시 아키텍처
11.4.1 직접 매핑 캐시
11.4.2 완전 연관 캐시
11.4.3 n-way 집합 연관 캐시
11.4.4 캐시 라인 교체 방식
11.4.5 캐시에서의 데이터 쓰기 방식
11.4.6 캐시 활용 및 소프트웨어
11.5 NUMA와 주변 장치
11.6 가상 메모리, 메모리 보호, 페이징
11.7 메모리 계층을 고려한 소프트웨어 개발
11.8 런타임 시 메모리 구성
11.8.1 정적 객체, 동적 객체, 바인딩, 생애주기
11.8.2 코드 영역, 읽기 전용 영역, 상수 영역
11.8.3 정적 변수 영역
11.8.4 스토리지 변수 영역
11.8.5 스택 영역
11.8.6 힙 영역과 동적 메모리 할당
11.9 참고 자료

12장. 입력 및 출력 장치
12.1 컴퓨터 외부로 CPU 연결하기
12.2 시스템에 포트를 연결하는 다른 방법
12.3 I/O 메커니즘
12.3.1 메모리 맵 입출력 방식
12.3.2 I/O 맵 입출력 방식
12.3.3 DMA, 직접 메모리 접근 방식
12.4 I/O 속도의 계층 구조
12.5 시스템 버스와 데이터 전송 속도
12.5.1 PCI 버스의 성능
12.5.2 ISA 버스의 성능
12.5.3 AGP 버스
12.6 버퍼링
12.7 핸드셰이킹
12.8 I/O 포트의 타임아웃
12.9 폴링 기반 I/O 및 인터럽트
12.10 작업 보호 모드와 장치 드라이버
12.10.1 장치 드라이버 모델
12.10.2 장치 드라이버와의 통신
12.11 참고 자료

13장. 컴퓨터 주변 장치 버스
13.1 소형 컴퓨터 시스템 인터페이스
13.1.1 SCSI의 한계점
13.1.2 SCSI의 성능 및 기능 개선
13.1.3 SCSI 프로토콜
13.1.4 SCSI의 장점
13.2 IDE/ATA 인터페이스
13.2.1 SATA 인터페이스
13.2.2 파이버 채널
13.3 USB, 유니버설 시리얼 버스
13.3.1 USB의 설계
13.3.2 USB의 성능
13.3.3 USB의 데이터 전송 유형
13.3.4 USB-C
13.3.5 USB 장치 드라이버
13.4 참고 자료

14장. 대용량 저장 장치와 파일 시스템
14.1 디스크 드라이브
14.1.1 플로피 디스크 드라이브
14.1.2 하드 드라이브
14.1.3 RAID 시스템
14.1.4 광학 드라이브
14.1.5 CD, DVD, 블루레이 드라이브
14.2 테이프 드라이브
14.3 플래시 저장 장치
14.4 RAM 디스크
14.5 SSD
14.6 하이브리드 드라이브
14.7 대용량 저장 장치의 파일 시스템
14.7.1 시퀀셜 파일 시스템
14.7.2 효율적인 파일 할당 전략
14.8 대용량 저장 장치의 데이터 활용 소프트웨어 개발
14.8.1 파일 액세스 성능
14.8.2 동기적 및 비동기적 I/O
14.8.3 I/O 작업 유형별 성능
14.8.4 메모리 맵 파일
14.9 참고 자료

15장. 기타 입출력 장치
15.1 PC 주변 장치
15.1.1 키보드
15.1.2 표준 PC 병렬 포트
15.1.3 시리얼 포트
15.2 마우스, 트랙패드, 기타 포인팅 장치
15.3 조이스틱, 게임 컨트롤러
15.4 사운드 카드
15.4.1 오디오 인터페이스 주변 장치가 음을 출력하는 방법
15.4.2 오디오 파일 및 MIDI 파일 포맷
15.4.3 오디오 장치 프로그래밍
15.5 참고 자료

후기: 로우레벨로 생각하고, 하이레벨로 코딩하라
부록 A ASCII 문자셋


1장. 로우레벨로 생각하고 고급 언어로 코딩하기
__1.1 컴파일러 품질에 대한 오해
__1.2 어셈블리 언어를 배우는 것이 여전히 좋은 생각인 이유
__1.3 어셈블리 언어를 배우는 것이 절대적으로 필요하지 않은 이유
__1.4 로우레벨에 대한 고려
____1.4.1 받은 만큼만 돌려주는 컴파일러
____1.4.2 컴파일러가 더 좋은 기계어 코드를 생성하도록 돕는 방법
____1.4.3 어셈블리를 고려한 HLL 코딩 방법
__1.5 HLL 코딩
__1.6 언어 중립적 접근
__1.7 추가 팁
__1.8 참고 자료


2장. 어셈블리 언어를 꼭 배워야 할까?
__2.1 어셈블리 언어 학습의 이점과 장애물
__2.2 이 책이 도움이 되는 방법
__2.3 해결책: 하이레벨 어셈블러
__2.4 고급 어셈블리 언어
__2.5 하이레벨로 생각하고 로우레벨로 코딩하기
__2.6 어셈블리 프로그래밍 패러다임(로우레벨로 생각하기)
__2.7 참고 자료


3장. HLL 프로그래머를 위한 80X86 어셈블리
__3.1 배울수록 도움이 되는 어셈블리 언어
__3.2 80x86 어셈블리 문법
____3.2.1 기본 80x86 아키텍처
____3.2.2 레지스터
____3.2.3 80x86 32비트 범용 레지스터
____3.2.4 80x86 EFLAGS 레지스터
__3.3 리터럴 상수
____3.3.1 이진 리터럴 상수
____3.3.2 십진 리터럴 상수
____3.3.3 16진 리터럴 상수
____3.3.4 문자와 문자열 리터럴 상수
____3.3.5 실수 리터럴 상수
__3.4 어셈블리 언어에서의 선언(기호) 상수
____3.4.1 HLA의 선언 상수
____3.4.2 Gas의 선언 상수
____3.4.3 MASM의 선언 상수
__3.5 80x86 주소 지정 방식
____3.5.1 80x86 레지스터 주소 지정 방식
____3.5.2 즉시 주소 지정 방식
____3.5.3 직접 메모리 주소 지정 방식
____3.5.4 RIP 관련 주소 지정 방식
____3.5.5 레지스터 간접 주소 지정 방식
____3.5.6 인덱스 주소 지정 방식
____3.5.7 스케일 인덱스 주소 지정 방식
__3.6 어셈블리 언어에서 데이터 선언하기
____3.6.1 HLA에서의 데이터 선언
____3.6.2 MASM에서의 데이터 선언
____3.6.3 Gas에서의 데이터 선언
__3.7 어셈블리 언어에서 오퍼랜드 크기 지정
____3.7.1 HLA에서의 타입 지정
____3.7.2 MASM에서의 타입 지정
____3.7.3 Gas에서의 타입 지정
__3.8 참고 자료


4장. 컴파일러 동작 및 코드 생성
__4.1 프로그래밍 언어가 사용하는 파일 유형
__4.2 소스 파일
____4.2.1 토큰화 소스 파일
____4.2.2 특화된 소스 파일
__4.3 컴퓨터 언어 프로세서의 유형
____4.3.1 순수 인터프리터
____4.3.2 인터프리터
____4.3.3 컴파일러
____4.3.4 증분 컴파일러
__4.4 변환 프로세스
____4.4.1 스캐닝(어휘 분석)
____4.4.2 파싱(구문 분석)
____4.4.3 중간 코드 생성
____4.4.4 최적화
____4.4.5 컴파일러 벤치마킹
____4.4.6 네이티브 코드 생성
__4.5 컴파일러 출력
____4.5.1 컴파일러 출력으로 HLL 코드 내보내기
____4.5.2 컴파일러 출력으로 어셈블리 언어 내보내기
____4.5.3 컴파일러 출력으로 오브젝트 파일 내보내기
____4.5.4 컴파일러 출력으로 실행 파일 내보내기
__4.6 오브젝트 파일 형식
____4.6.1 COFF 파일 헤더
____4.6.2 COFF 옵션 헤더
____4.6.3 COFF 섹션 헤더
____4.6.4 COFF 섹션
____4.6.5 재배치 섹션
____4.6.6 디버깅 및 심벌 정보
__4.7 실행 파일 형식
____4.7.1 페이지, 세그먼트, 파일 크기
____4.7.2 내부 단편화
____4.7.3 왜 공간 최적화를 하는가?
__4.8 오브젝트 파일의 데이터 및 코드 정렬
____4.8.1 섹션 정렬 크기 선택
____4.8.2 섹션 결합
____4.8.3 섹션 정렬 값 제어
____4.8.4 라이브러리 모듈 내 섹션 정렬
__4.9 링커가 코드에 미치는 영향
__4.10 참고 자료


5장. 컴파일러 출력물을 분석하기 위한 툴
__5.1 배경지식
__5.2 컴파일러에서 어셈블리 코드를 출력하는 법
____5.2.1 GNU 컴파일러의 어셈블리 코드 결과물
____5.2.2 비주얼 C++의 어셈블리 코드 결과물
____5.2.3 어셈블리 코드 결과물 예제
____5.2.4 어셈블리 코드 결과물 분석
__5.3 오브젝트 코드 유틸리티를 사용해 컴파일러 출력 분석하기
____5.3.1 마이크로소프트의 dumpbinexe 유틸리티
____5.3.2 FSF/GNU objdump 유틸리티
__5.4 역어셈블러를 사용해 컴파일러 출력 분석하기
__5.5 자바 바이트코드 역어셈블러를 사용해 자바 출력 분석하기
__5.6 IL 역어셈블러를 사용해 마이크로소프트 C# 및 비주얼 베이직 코드 결과물 분석하기
__5.7 디버거를 사용해 컴파일러 출력 분석하기
____5.7.1 IDE에 내장된 디버거를 사용하는 방법
____5.7.2 독립된 디버거를 사용하는 방법
__5.8 두 컴파일의 출력 비교
____5.8.1 diff를 이용한 코드의 전과 후 비교
__5.9 참고 자료


6장. 상수와 HLL
__6.1 리터럴 상수와 프로그램 효율성
__6.2 바인딩 시간
__6.3 리터럴 상수와 선언 상수
__6.4 상수식
__6.5 선언 상수와 읽기 전용 메모리 객체
__6.6 스위프트 let 문
__6.7 열거형
__6.8 부울 상수
__6.9 실수 상수
__6.10 문자열 상수
__6.11 복합 데이터 타입 상수
__6.12 상수는 변하지 않는다
__6.13 참고 자료


7장. HLL의 변수
__7.1 런타임 메모리 구성
____7.1.1 코드, 상수, 읽기 전용 섹션
____7.1.2 정적 변수 섹션
____7.1.3 스토리지 변수 섹션
____7.1.4 스택 섹션
____7.1.5 힙 섹션과 동적 메모리 할당
__7.2 변수란?
____7.2.1 속성
____7.2.2 바인딩
____7.2.3 정적 객체
____7.2.4 동적 객체
____7.2.5 범위
____7.2.6 수명
____7.2.7 변수 정의
__7.3 변수 저장 공간
____7.3.1 정적 바인딩과 정적 변수
____7.3.2 의사 정적 바인딩과 자동 변수
____7.3.3 동적 바인딩 및 동적 변수
__7.4 공통 기본 데이터 타입
____7.4.1 정수 변수
____7.4.2 부동 소수점/실수 변수
____7.4.3 문자 변수
____7.4.4 부울 변수
__7.5 변수 주소와 HLL
____7.5.1 전역 변수와 정적 변수의 저장 공간 할당
____7.5.2 자동 변수를 사용해 오프셋 크기 줄이기
____7.5.3 중간 변수를 위한 저장 공간 할당
____7.5.4 동적 변수와 포인터를 위한 스토리지 할당
____7.5.5 레코드/구조체를 사용해 명령어 오프셋 크기 줄이기
____7.5.6 레지스터에 변수 저장
__7.6 메모리의 변수 정렬하기
____7.6.1 레코드와 정렬
__7.7 참고 자료


8장. 배열 자료형
__8.1 배열
____8.1.1 배열 선언
____8.1.2 메모리에서의 배열 표현
____8.1.3 스위프트 배열 구현
____8.1.4 배열 원소에 접근하기
____8.1.5 패딩 vs 패킹
____8.1.6 다차원 배열
____8.1.7 동적 배열과 정적 배열
__8.2 참고 자료


9장. 포인터 자료형
__9.1 포인터의 정의
__9.2 HLL에서의 포인터 구현
__9.3 포인터와 동적 메모리 할당
__9.4 포인터 연산과 포인터 산술
____9.4.1 포인터에 정수 더하기
____9.4.2 포인터에서 정수 빼기
____9.4.3 포인터에서 포인터 빼기
____9.4.4 포인터 비교
____9.4.5 포인터와 논리 AND/OR 연산
____9.4.6 포인터의 다른 연산
__9.5 단순 메모리 할당자 예제
__9.6 가비지 컬렉션
__9.7 운영체제와 메모리 할당
__9.8 힙 메모리 오버헤드
__9.9 일반적인 포인터 문제
____9.9.1 초기화되지 않은 포인터 사용
____9.9.2 잘못된 값을 포함하는 포인터 사용
____9.9.3 포인터 해제 후 스토리지 계속 사용
____9.9.4 프로그램을 사용한 후, 저장 공간 해제 실패
____9.9.5 잘못된 자료형을 사용해 간접 데이터 액세스
____9.9.6 포인터에 대한 잘못된 연산 수행
__9.10 현대 언어의 포인터
__9.11 관리 포인터
__9.12 참고 자료


10장. 문자열 자료형
__10.1 문자열 형식
____10.1.1 0으로 끝나는 문자열
____10.1.2 길이 접두사 문자열
____10.1.3 7비트 문자열
____10.1.4 HLA 문자열
____10.1.5 설명자 기반 문자열
__10.2 정적, 가상 동적, 동적 문자열
____10.2.1 정적 문자열
____10.2.2 가상 동적 문자열
____10.2.3 동적 문자열
__10.3 문자열의 참조 카운트
__10.4 델파이 문자열
__10.5 HLL에서 문자열 사용
__10.6 문자열의 유니코드 문자 데이터
____10.6.1 유니코드 문자 집합
____10.6.2 유니코드 코드 포인트
____10.6.3 유니코드 코드 플레인
____10.6.4 서로게이트 코드 포인트
____10.6.5 글리프, 문자, 그래핌 클러스터
____10.6.6 유니코드 일반 및 정규 동등성
____10.6.7 유니코드 인코딩
____10.6.8 유니코드 조합 문자
__10.7 유니코드 문자열 함수 및 성능
__10.8 참고 자료


11장. 레코드, 유니온, 클래스 자료형
__11.1 레코드
____11.1.1 다양한 언어에서의 레코드 선언
____11.1.2 레코드 인스턴스 생성
____11.1.3 컴파일 타임에 레코드 데이터 초기화하기
____11.1.4 메모리에 레코드 저장
____11.1.5 레코드를 사용해 메모리 성능 향상
____11.1.6 동적 레코드 타입과 데이터베이스
__11.2 판별자 유니온
____11.2.1 다양한 언어에서의 유니온 선언
____11.2.2 메모리에 유니온 저장
____11.2.3 다른 방법으로 유니온 사용
__11.3 가변형
__11.4 네임스페이스
__11.5 클래스와 객체
____11.5.1 클래스 vs 객체
____11.5.2 C++의 간단한 클래스 선언
____11.5.3 C#과 자바의 클래스 선언
____11.5.4 델파이(오브젝트 파스칼)의 클래스 선언
____11.5.5 HLA의 클래스 선언
____11.5.6 가상 메소드 테이블
____11.5.7 추상 메소드
____11.5.8 VMT 공유
____11.5.9 클래스의 상속
____11.5.10 클래스의 다형성
____11.5.11 다중 상속(C++)
__11.6 프로토콜과 인터페이스
__11.7 클래스, 객체, 성능
__11.8 참고 자료
12장. 산술 연산과 논리 연산
__12.1 산술식과 컴퓨터 아키텍처
____12.1.1 스택 기반 컴퓨터
____12.1.2 누산기 기반 컴퓨터
____12.1.3 레지스터 기반 컴퓨터
____12.1.4 산술식의 일반 형식
____12.1.5 3-주소 아키텍처
____12.1.6 2-주소 아키텍처
____12.1.7 구조적 차이와 코드
____12.1.8 복잡한 표현식
__12.2 산술문 최적화
____12.2.1 상수 접기
____12.2.2 상수 전달
____12.2.3 죽은 코드 제거
____12.2.4 공통 부분식 제거
____12.2.5 연산 대체
____12.2.6 귀납
____12.2.7 루프 불변
____12.2.8 최적화와 프로그래머
__12.3 산술식의 부수 효과
__12.4 부수 효과 포함: 시퀀스 포인트
__12.5 부수 효과로 인한 문제 방지
__12.6 계산 순서 강제 지정
__12.7 단축 연산
____12.7.1 부울식으로 단축 연산 사용
____12.7.2 단축 연산이나 완전 부울 연산 강제하기
____12.7.3 단축 연산과 완전 연산 효율성 비교
__12.8 산술 연산의 상대 비용
__12.9 참고 자료


13장. 제어 구조 및 프로그램 결정
__13.1 제어 구조가 프로그램의 효율성에 미치는 영향
__13.2 로우레벨 제어 구조 소개
__13.3 goto 문
____13.3.1 제한된 형식의 goto 문
__13.4 if 문
____13.4.1 특정 if/else 문의 효율성 향상
____13.4.2 if 문에서 완전 부울 연산 강제하기
____13.4.3 if 문에서 단축 연산 강제
__13.5 switch/case 문
____13.5.1 switch/case 문의 의미
____13.5.2 점프 테이블과 연속 비교
____13.5.3 switch/case 문의 기타 구현
____13.5.4 스위프트 switch 문
____13.5.5 switch 문에 대한 컴파일러 출력
__13.6 참고 자료


14장. 반복 제어 구조
__14.1 while 루프
____14.1.1 while 루프에서 완전 부울 연산 강제하기
____14.1.2 while 루프에서 단축 부울 연산 강제하기
__14.2 repeatuntil (dountil/dowhile) 루프
____14.2.1 repeatuntil 루프에서 완전 부울 연산 강제하기
____14.2.2 repeatuntil 루프에서 단축 부울 연산 강제하기
__14.3 foreverendfor 루프
____14.3.1 forever 루프에서 완전 부울 연산 강제하기
____14.3.2 forever 루프에서 단축 부울 연산 강제하기
__14.4 유한 루프(for 루프)
__14.5 참고 자료


15장. 함수와 프로시저
__15.1 간단한 함수와 프로시저 호출
____15.1.1 반환 주소 저장
____15.1.2 오버헤드의 다른 원인
__15.2 리프 함수와 프로시저
__15.3 매크로와 인라인 함수
__15.4 함수나 프로시저에 매개변수 전달
__15.5 활성화 레코드와 스택
____15.5.1 활성화 레코드 분석
____15.5.2 지역 변수에 오프셋 할당
____15.5.3 오프셋과 매개변수
____15.5.4 매개변수와 지역 변수에 액세스
____15.5.5 Rescue 레지스터
____15.5.6 자바 VM과 마이크로소프트 CLR 매개변수와 지역 변수
__15.6 매개변수 전달 메커니즘
____15.6.1 값에 의한 전달
____15.6.2 참조에 의한 전달
__15.7 함수 반환 값
__15.8 참고 자료


1부 퍼스널 소프트웨어 엔지니어링

1장 소프트웨어 개발에 대한 은유법
1.1 소프트웨어란 무엇인가?
1.1.1 소프트웨어는 대량 생산되는 공산품이 아니다
1.1.2 소프트웨어는 아무리 써도 닳지 않는다
1.1.3 대부분의 소프트웨어는 커스텀 제품이다
1.1.4 소프트웨어는 쉽게 업그레이드할 수 있어야 한다
1.1.5 소프트웨어는 독립적으로 존재하지 않는다
1.2 다른 전문 영역과의 비교
1.2.1 예술가의 프로그래머
1.2.2 건축가로서의 프로그래머
1.2.3 엔지니어로서의 프로그래머
1.2.4 기술 장인으로서의 프로그래머
1.2.5 여러분은 예술가, 건축가, 엔지니어, 기술 장인 중 어느 쪽에 가까운가?
1.3 소프트웨어 엔지니어링
1.3.1 소프트웨어 엔지니어링에 대한 공식적 정의
1.3.2 프로젝트의 크기
1.3.3 소프트웨어 엔지니어링은 어떻게 실패하는가?
1.4 소프트웨어 장인 정신
1.4.1 교육
1.4.2 도제식 훈련
1.4.3 소프트웨어 방랑객
1.4.4 고수의 경지에 오른 기술 장인
1.4.5 소프트웨어 장인 정신은 어떻게 실패하는가?
1.5 위대한 코드를 작성하기 위한 방법
1.6 참고 자료

2장생산성
2.1 생산성이란 무엇인가?
2.2 프로그래머의 생산성과 팀의 생산성 비교
2.3 인시와 실제 작업 시간
2.4 프로젝트의 개념적 복잡성과 실질적 복잡성
2.5 생산성 예측
2.6 생산성 측정 지표와 그 필요성
2.6.1 실행 파일 크기 측정 지표
2.6.2 머신 인스트럭션 측정 지표
2.6.3 코드 라인 측정 지표
2.6.4 명령문 수 측정 지표
2.6.5 기능 점수 분석법
2.6.6 McCabe 순환 복잡성 측정 지표
2.6.7 기타 측정 지표
2.6.8 측정 지표가 지닌 문제점
2.7 프로그래머가 하루에 열 줄의 코드를 작성한다는 조사 결과에 대해
2.8 개발 기간 예측
2.8.1 소규모 프로젝트 개발 기간 예측
2.8.2 중규모 및 대규모 프로젝트 개발 기간 예측
2.8.3 개발 기간 예측에 따른 문제점
2.9 위기 상황에서의 프로젝트 관리
2.10 생산성 향상의 비법
2.10.1 소프트웨어 개발 도구의 신중한 선정
2.10.2 오버헤드 관리
2.10.3 명확한 목표와 마일스톤 설정
2.10.4 스스로 동기 부여하기
2.10.5 집중력 유지와 방해 요소 제거
2.10.6 지겨움을 느낄 때는 다른 일을 해보자
2.10.7 스스로 발전할 수 있는 분위기를 조성하라
2.10.8 도움이 필요할 때는 요청하라
2.10.9 느슨해진 팀 분위기 되살리기
2.11 참고 자료

3장 소프트웨어 개발 모델
3.1 소프트웨어 개발 수명주기
3.2 소프트웨어 개발 모델
3.2.1 약식 모델
3.2.2 워터폴 모델
3.2.3 V 모델
3.2.4 반복형 모델
3.2.5 나선형 모델
3.2.6 신속 애플리케이션 개발 모델
3.2.7 점증형 모델
3.3 소프트웨어 개발 방법론
3.3.1 전통적 (예측적) 방법론
3.3.2 적응형 방법론
3.3.3 애자일 방법론
3.3.4 익스트림 프로그래밍
간소한 디자인을 위한 가이드
3.3.5 스크럼
3.3.6 목표 기능 주도형 개발
3.4 위대한 프로그래머를 위한 소프트웨어 개발 모델 및 방법론
3.5 참고 자료

2부 UML

4장 UML의 개요와 유스 케이스
4.1 UML 표준
4.2 UML 유스 케이스 모델
4.2.1 유스 케이스 다이어그램 요소
4.2.2 유스 케이스 패키지
4.2.3 유스 케이스 인클루전
4.2.4 유스 케이스 일반화
4.2.5 유스 케이스 익스텐션
4.2.6 유스 케이스 내러티브
4.2.7 유스 케이스 시나리오
4.3 UML 시스템 경계 다이어그램
4.4 유스 케이스 이외의 영역
4.5 참고 자료

5장 UML 액티비티 다이어그램
5.1 UML 액티비티 상태 기호
5.1.1 시작 상태와 종료 상태
5.1.2 액티비티
5.1.3 상태
5.1.4 전환
5.1.5 조건식
5.1.6 합병 지점
5.1.7 이벤트와 트리거
5.1.8 포크 및 조인 동기화
5.1.9 호출 기호
5.1.10 파티션
5.1.11 주석과 주해
5.1.12 커넥터
5.1.13 기타 액티비티 다이어그램 기호
5.2 UML 액티비티 다이어그램의 확장
5.3 참고 자료

6장 UML 클래스 다이어그램
6.1 UML에서의 객체지향 분석 및 디자인
6.2 클래스 다이어그램에서의 가시성
6.2.1 퍼블릭 클래스의 가시성
6.2.2 프라이빗 클래스의 가시성
6.2.3 프로텍티드 클래스의 가시성
6.2.4 패키지 클래스의 가시성
6.2.5 가시성 타입 추가하기
6.3 클래스 속성 요소
6.3.1 속성의 가시성
6.3.2 속성에서 파생된 값
6.3.3 속성 이름
6.3.4 속성의 데이터 타입
6.3.5 연산 데이터 타입(반환값)
6.3.6 속성의 다수성 표현
6.3.7 기본 속성값
6.3.8 프로퍼티 문자열
6.3.9 속성 문법
6.4 클래스 연산 요소
6.5 UML 클래스의 관련성
6.5.1 클래스 의존 관계
6.5.2 클래스 연관 관계
6.5.3 클래스 집합 관계
6.5.4 클래스 구성 관계
6.5.5 클래스 관련성의 특징
6.5.6 클래스 상속 관계
6.6 객체
6.7 참고 자료

7장 UML 인터랙션 다이어그램
7.1 시퀀스 다이어그램
7.1.1 라이프라인
7.1.2 메시지 타입
7.1.3 메시지 라벨
7.1.4 메시지 번호
7.1.5 보호 조건
7.1.6 반복 시행
7.1.7 롱 딜레이 및 시간 제약 조건
7.1.8 외부 객체
7.1.9 액티베이션 바
7.1.10 브랜칭
7.1.11 대체 흐름
7.1.12 객체 생성 및 제거
7.1.13 시퀀스 프래그먼트
7.2 커뮤니케이션 다이어그램
7.3 참고 자료

8장 그 외 다양한 UML 다이어그램
8.1 컴포넌트 다이어그램
8.2 패키지 다이어그램
8.3 배포 다이어그램
8.4 결합 구조 다이어그램
8.5 스테이트차트 다이어그램
8.6 UML에 대한 관심의 확장
8.7 참고 자료

3부 문서화

9장 시스템 문서화
9.1 시스템 문서화 유형
9.2 변경 이력 추적 기능
9.2.1 개발자 문서에 추적 기능 적용하기
9.2.2 태그 형식
9.2.3 요구 사항 이력 추적 매트릭스
9.3 검증, 검토, 확인
9.4 문서화를 통한 개발 비용 절감
9.4.1 사용자 니즈 검증을 통한 비용 절감
9.4.2 요구 사항 부합 여부 검토를 통한 비용 절감
9.5 참고 자료

10장 요구 사항 문서화
10.1 요구 사항의 근원과 추적 가능성
10.1.1 요구 사항 형식 권장안
10.1.2 우수한 요구 사항의 특징
10.2 디자인 목표
10.3 시스템 요구 사항 명세서
10.4 소프트웨어 요구 사항 명세서
10.4.1 서론
10.4.2 전반적 설명
10.4.3 세부적 요구 사항
10.4.4 각종 지원 정보
10.4.5 소프트웨어 요구 사항 명세서 예시
10.5 요구 사항 작성하기
10.6 유스 케이스
10.6.1 디버그 모드 활성화/비활성화
10.6.2 Ethernet 활성화/비활성화
10.6.3 RS-232 활성화/비활성화
10.6.4 테스트 모드 활성화/비활성화
10.6.5 USB 활성화/비활성화
10.6.6 DIP 스위치 읽기
10.7 유스 케이스를 DAQ 소프트웨어 요구 사항으로 작성하기
10.8 SRS에 기초한 DAQ 소프트웨어 요구 사항 작성
10.9 요구 사항 정보를 이용한 RTM 업데이트
10.9.1 리뷰에 의한 요구 사항 검증
10.9.2 테스트에 의한 요구 사항 검증
10.10 참고 자료

11장 소프트웨어 디자인 명세서 문서화
11.1 IEEE Std 1016-1998 vs IEEE Std 1016-2009
11.2 IEEE 1016-2009 개념 모델
11.2.1 디자인 고려 사항과 디자인 업무 참여자
11.2.2 디자인 뷰포인트와 디자인 요소
11.2.3 디자인 뷰, 디자인 오버레이, 디자인 래셔널
11.2.4 IEEE Std 1016-2009 개념 모델
11.3 SDD 필수 콘텐츠
11.3.1 SDD 식별 정보
11.3.2 디자인 작업 참여자와 디자인 고려 사항
11.3.3 디자인 뷰, 뷰포인트, 오버레이, 래셔널
11.4 SDD 추적 가능성 및 태그
11.5 SDD 개요 제안
11.6 SDD 작성 예시
11.7 디자인 정보를 이용한 RTM 업데이트
11.8 소프트웨어 디자인 문서의 작성
11.9 참고 자료

12장 소프트웨어 테스트 문서화
12.1 Std 829 표준안의 소프트웨어 테스트 문서
12.1.1 테스트 프로세스 지원
12.1.2 중요도 레벨과 위험도 평가
12.1.3 소프트웨어 개발 테스트 레벨
12.2 테스트 계획
12.2.1 마스터 테스트 계획
12.2.2 레벨 테스트 계획
12.2.3 레벨 테스트 디자인 문서화
12.3 소프트웨어 리뷰 리스트 문서화
12.3.1 SRL 문서 개요 작성 예시
12.3.2 SRL 작성 예시
12.3.3 RTM에 SRL 아이템 추가하기
12.4 소프트웨어 테스트 케이스 문서화
12.4.1 STC 문서의 서론부
12.4.2 세부 사항
12.4.3 범례
12.4.4 소프트웨어 테스트 케이스 작성 예시
12.4.5 STC 정보를 이용한 RTM 업데이트
12.5 소프트웨어 테스트 프로시저 문서화
12.5.1 IEEE Std 829-2009 소프트웨어 테스트 프로시저
12.5.2 STP 문서 개요의 확장
12.5.3 STP 문서의 서론부
12.5.4 테스트 프로시저
12.5.5 범례
12.5.6 색인
12.5.7 STP 작성 예시
12.5.8 STP 정보로 RTM 업데이트하기
12.6 레벨 테스트 로그
12.6.1 레벨 테스트 로그 문서의 서론부
12.6.2 세부 사항
12.6.3 용어 설명
12.6.4 테스트 로그에 대한 몇 가지 의견
12.7 문제점 보고서
12.7.1 문제점 보고서의 서론부
12.7.2 세부 사항
12.7.3 문제점 보고서에 대한 몇 가지 의견
12.8 테스트 보고서
12.8.1 마스터 테스트 보고서 개요
12.8.2 레벨 테스트 보고서
12.9 여러분에게 정말로 필요한 개발자 문서는 무엇인가?
12.10 참고 자료

후기: 위대한 코드 설계하기

Klover

Klover 리뷰 안내
교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1.리워드 안내
구매 후 90일 이내에 평점과 10자 이상의 리뷰 작성 시 e교환권 200원을 적립해 드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
한달 후 리뷰
구매 후 30일~ 120일 이내에 작성된 두 번째 구매리뷰에 대해 한 달 후 리뷰로 인지하고 e교환권 100원을 추가 제공합니다.

* 강연, 공연, 여행, 동영상, 사은품, 기프트카드 상품은 지급 제외
2.운영 원칙 안내
Klover 리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
3.신고하기
다른 고객이 작성리뷰에 대해 불쾌함을 느끼는 경우 신고를 할 수 있으며, 신고 자가 일정수준 이상 누적되면 작성하신 리뷰가 노출되지 않을 수 있습니다.

구매 후 리뷰 작성 시, e교환권 200원 적립

교환/반품/품절 안내

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

이벤트
TOP

저자 모두보기

할인쿠폰 다운로드

  • 쿠폰은 주문결제화면에서 사용 가능합니다.
  • 다운로드한 쿠폰은 마이 > 나의 통장 에서 확인 가능합니다.
  • 도서정가제 적용 대상 상품에 대해서는 정가의 10%까지 쿠폰 할인이 가능합니다.
  • 도서정가제 적용 대상 상품에 10% 할인이 되었다면, 해당 상품에는 사용하실 수
    없습니다.

적립예정포인트 안내

  • 통합포인트 안내

    • 통합포인트는 교보문고(인터넷, 매장), 핫트랙스(인터넷, 매장), 모바일 교보문고 등 다양한 곳에서 사용하실 수 있습니다.
    • 상품 주문 시, 해당 상품의 적립률에 따라 적립 예정 포인트가 자동 합산되고 주문하신 상품이 발송완료 된 후에 자동으로 적립됩니다.
    • 단, 쿠폰 및 마일리지, 통합포인트, e교환권 사용 시 적립 예정 통합포인트가 변동될 수 있으며 주문취소나 반품시에는 적립된 통합포인트가 다시 차감됩니다.
  • 통합포인트 적립 안내

    • 통합포인트는 도서정가제 범위 내에서 적용됩니다.
    • 추가적립 및 회원 혜택은 도서정가제 대상상품(국내도서, eBook등)으로만 주문시는 해당되지 않습니다.
  • 기본적립) 상품별 적립금액

    • 온라인교보문고에서 상품 구매시 상품의 적립률에 따라 적립됩니다.
    • 단 도서정가제 적용 대상인 국내도서,eBook은 15%내에서 할인율을 제외한 금액내로 적립됩니다.
  • 추가적립) 5만원 이상 구매시 통합포인트 2천원 추가적립

    • 5만원 이상 구매시 통합포인트 2천원 적립됩니다.
    • 도서정가제 예외상품(외서,음반,DVD,잡지(일부),기프트) 2천원 이상 포함시 적립 가능합니다.
    • 주문하신 상품이 전체 품절인 경우 적립되지 않습니다.
  • 회원혜택) 3만원이상 구매시 회원등급별 2~4% 추가적립

    • 회원등급이 플래티넘, 골드, 실버 등급의 경우 추가적립 됩니다.
    • 추가적립은 실결제액 기준(쿠폰 및 마일리지, 통합포인트, e교환권 사용액 제외) 3만원 이상일 경우 적립됩니다.
    • 주문 후 취소,반품분의 통합포인트는 단품별로 회수되며, 반품으로 인해 결제잔액이 3만원 미만으로 변경될 경우 추가 통합포인트는 전액 회수될 수 있습니다.

제휴 포인트 안내

제휴 포인트 사용

  • OK CASHBAG 10원 단위사용 (사용금액 제한없음)
  • GS&POINT 최대 10만 원 사용
더보기

구매방법 별 배송안내

지역별 도착 예정일

수도권 지역

배송 일정 안내 테이블로 결제 완료 시간, 도착예정일 결제 완료 시간 컬럼의 하위로 평일 0시 ~ 12시 토요일 0시 ~ 11시 평일 12시 ~ 22시 평일 12시 ~ 24시 토요일 11시 ~ 21시 을(를) 나타낸 표입니다.
결제 완료 시간 도착예정일
평일 0시 ~ 12시

토요일 0시 ~ 11시
당일배송 오늘

당일배송 오늘
평일 12시 ~ 22시

평일 12시 ~ 24시

토요일 11시 ~ 21시
새벽배송 내일 07시 이전

내일

일요배송 일요일

수도권 외 (천안, 대전, 울산, 부산, 대구, 창원)

배송 일정 안내 테이블로 결제 완료 시간, 도착예정일 결제 완료 시간 컬럼의 하위로 월~토 0시 ~ 11시 30분 을(를) 나타낸 표입니다.
결제 완료 시간 도착예정일
월~토 0시 ~ 11시 30분
당일배송 오늘

배송 유의사항

  • 새벽배송과 일요배송은 수도권 일부 지역을 대상으로 합니다. 상품 상세페이지에서 도착 예정일을 확인해 주세요.
  • 수도권 외 지역에서 선물포장하기 또는 사은품을 포함하여 주문할 경우 당일배송 불가합니다.
  • 무통장입금 주문 후 당일 배송 가능 시간 이후 입금된 경우 당일 배송 불가합니다.
  • 새벽배송의 경우 공동 현관 출입 번호가 누락 되었거나 틀릴 경우 요청하신 방법으로 출입이 어려워, 부득이하게 공동 현관 또는 경비실 앞에 배송 될 수 있습니다.
  • 학교, 관공서, 회사 등 출입 제한 시간이 있는 곳은 당일배송, 새벽배송, 일요배송이 제공되지 않을 수 있습니다.
  • 공휴일과 겹친 토요일, 일요일은 일요일 배송에서 제외됩니다. 일요배송은 한정 수량에 한해 제공됩니다. 수량 초과 시 일반배송으로 발송되니 주문 시 도착 예정일을 확인해 주세요.
  • 주문 후 배송지 변경 시 변경된 배송지에 따라 익일 배송될 수 있습니다.
  • 수도권 외 지역의 경우 효율적인 배송을 위해 각 지역 매장에서 택배를 발송하므로, 주문 시의 부록과 상이할 수 있습니다.
  • 각 지역 매장에서 재고 부족 시 재고 확보를 위해 당일 배송이 불가할 수 있습니다.
  • 기상악화로 인한 도로 사정으로 일부 지역의 배송 지연이 발생될 수 있습니다.
  • 출고 예정일이 5일 이상인 상품의 경우(결제일로부터 7일 동안 미입고), 출판사 / 유통사 사정으로 품/절판 되어 구입이 어려울 수 있습니다. 이 경우 SMS, 메일로 알려드립니다.
  • 분철상품 주문 시 분철 작업으로 인해 기존 도착 예정일에 2일 정도 추가되며, 당일 배송, 해외 배송이 불가합니다.
  • 해외주문도서는 해외 거래처 사정에 의해 품절/지연될 수 있습니다.
  • 스페셜오더 도서나 일서 해외 주문 도서와 함께 주문 시 배송일이 이에 맞추어 지연되오니, 이점 유의해 주시기 바랍니다.

바로드림존에서 받기

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상 시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함 되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해 주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반 코너에서 수령확인이 가능합니다
  • 선물 받는 분의 휴대폰번호만 입력하신 후 결제하시면 받는 분 휴대폰으로 선물번호가 전달됩니다.
  • 문자를 받은 분께서는 마이 > 주문관리 > 모바일 선물내역 화면에서 선물번호와 배송지 정보를 입력하시면 선물주문이 완료되어 상품준비 및 배송이 진행됩니다.
  • 선물하기 결제하신 후 14일까지 받는 분이 선물번호를 등록하지 않으실 경우 주문은 자동취소 됩니다.
  • 또한 배송 전 상품이 품절 / 절판 될 경우 주문은 자동취소 됩니다.

바로드림 서비스 안내

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.
  1. STEP 01
    픽업박스에서 찾기 주문
  2. STEP 02
    도서준비완료 후 휴대폰으로 인증번호 전송
  3. STEP 03
    매장 방문하여 픽업박스에서 인증번호 입력 후 도서 픽업
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.

도서 소득공제 안내

  • 도서 소득공제란?

    • 2018년 7월 1일 부터 근로소득자가 신용카드 등으로 도서구입 및 공연을 관람하기 위해 사용한 금액이 추가 공제됩니다. (추가 공제한도 100만원까지 인정)
      • 총 급여 7,000만 원 이하 근로소득자 중 신용카드, 직불카드 등 사용액이 총급여의 25%가 넘는 사람에게 적용
      • 현재 ‘신용카드 등 사용금액’의 소득 공제한도는 300만 원이고 신용카드사용액의 공제율은 15%이지만, 도서·공연 사용분은 추가로 100만 원의 소득 공제한도가 인정되고 공제율은 30%로 적용
      • 시행시기 이후 도서·공연 사용액에 대해서는 “2018년 귀속 근로소득 연말 정산”시기(19.1.15~)에 국세청 홈택스 연말정산간소화 서비스 제공
  • 도서 소득공제 대상

    • 도서(내서,외서,해외주문도서), eBook(구매)
    • 도서 소득공제 대상 상품에 수반되는 국내 배송비 (해외 배송비 제외)
      • 제외상품 : 잡지 등 정기 간행물, 음반, DVD, 기프트, eBook(대여,학술논문), 사은품, 선물포장, 책 그리고 꽃
      • 상품정보의 “소득공제” 표기를 참고하시기 바랍니다.
  • 도서 소득공제 가능 결제수단

    • 카드결제 : 신용카드(개인카드에 한함)
    • 현금결제 : 예치금, 교보e캐시(충전에한함), 해피머니상품권, 컬쳐캐쉬, 기프트 카드, 실시간계좌이체, 온라인입금
    • 간편결제 : 교보페이, 네이버페이, 삼성페이, 카카오페이, PAYCO, 토스, CHAI
      • 현금결제는 현금영수증을 개인소득공제용으로 신청 시에만 도서 소득공제 됩니다.
      • 교보e캐시 도서 소득공제 금액은 교보eBook > e캐시 > 충전/사용내역에서 확인 가능합니다.
      • SKpay, 휴대폰 결제, 교보캐시는 도서 소득공제 불가
  • 부분 취소 안내

    • 대상상품+제외상품을 주문하여 신용카드 "2회 결제하기"를 선택 한 경우, 부분취소/반품 시 예치금으로 환원됩니다.

      신용카드 결제 후 예치금으로 환원 된 경우 승인취소 되지 않습니다.

  • 도서 소득공제 불가 안내

    • 법인카드로 결제 한 경우
    • 현금영수증을 사업자증빙용으로 신청 한 경우
    • 분철신청시 발생되는 분철비용
패키지 Great Code Vol.1~3 (3권 세트)
| 전 3권
신고

신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.

허위 신고일 경우, 신고자의 서비스 활동이 제한될 수 있으니 유의하시어
신중하게 신고해주세요.

상세보기

    문장수집

    구매 후 리뷰 작성 시, e교환권 100원 적립

    이 책의 첫 기록을 남겨주세요.
    EBS X 교보문고 고객님을 위한 5,000원 열공 혜택!
    자세히 보기

    해외주문양서 배송지연 안내

    현재 미국 현지 눈폭풍으로 인해
    해외 거래처 출고가 지연되고 있습니다.

    해외주문양서 주문 시
    예상 출고일보다 배송기간이 더 소요될 수 있으니
    고객님의 너그러운 양해 부탁드립니다.

    감사합니다.