이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
[Part 1 전문가를 향한 C 의 첫걸음]CHAPTER 1 C 와 표준 라이브러리 초단기 속성 코스_1.1 C 의 기초_1.2 C 의 고급 기능_1.3 C 의 객체지향 언어 특성_1.4 유니폼 초기화_1.5 표준 라이브러리_1.6 첫 C 프로그램_1.7 정리CHAPTER 2 스트링과 스트링 뷰 다루기_2.1 동적 스트링_2.2 정리CHAPTER 3 코딩 스타일_3.1 코딩 스타일의 중요성_3.2 코드 문서화_3.3 코드 분할_3.4 명명 규칙_3.5 언어의 기능에 스타일 적용하기_3.6 포매팅_3.7 스타일과 관련하여 해결할 문제_3.8 정리[Part 2 전문가답게 C 소프트웨어 디자인하기]CHAPTER 4 전문가다운 C 프로그램 디자인_4.1 프로그램 디자인의 정의_4.2 프로그램 디자인의 중요성_4.3 C 에 적합한 디자인 방법_4.4 C 디자인에 관련된 두 가지 원칙_4.5 코드 재사용_4.6 체스 프로그램 디자인_4.7 요약CHAPTER 5 객체지향 디자인_5.1 절차형 사고방식_5.2 객체지향 철학_5.3 객체의 관점에서 바라보기_5.4 객체 관계_5.5 추상화_5.6 요약CHAPTER 6 재사용을 고려한 디자인_6.1 재사용 철학_6.2 코드를 재사용할 수 있도록 디자인하는 방법_6.3 요약[Part 3 전문가답게 C 코딩하기]CHAPTER 7 메모리 관리_7.1 동적 메모리 다루기_7.2 배열과 포인터의 두 얼굴_7.3 로우레벨 메모리 연산_7.4 스마트 포인터_7.5 흔히 발생하는 메모리 문제_7.6 요약CHAPTER 8 클래스와 객체 숙달하기_8.1 스프레드시트 예제_8.2 클래스 작성 방법_8.3 객체의 라이프 사이클_8.4 요약CHAPTER 9 클래스와 객체 마스터하기_9.1 friend_9.2 객체에 동적 메모리 할당하기_9.3 메서드의 종류_9.4 데이터 멤버의 종류_9.5 중첩 클래스_9.6 클래스에 열거 타입 정의하기_9.7 연산자 오버로딩_9.8 안정된 인터페이스 만들기_9.9 요약CHAPTER 10 상속 활용하기_10.1 상속을 이용한 클래스 구현_10.2 코드 재사용을 위한 상속_10.3 부모를 존중하라_10.4 다형성을 위한 상속_10.5 다중 상속_10.6 상속에 관련된 미묘하면서 흥미로운 문제들_10.7 요약CHAPTER 11 C 의 까다롭고 유별난 부분_11.1 레퍼런스_11.2 키워드 혼동_11.3 타입과 캐스팅_11.4 스코프_11.5 어트리뷰트_11.6 사용자 정의 리터럴_11.7 헤더 파일_11.8 C 유틸리티_11.9 요약CHAPTER 12 템플릿으로 제네릭 코드 만들기_12.1 템플릿 소개_12.2 클래스 템플릿_12.3 함수 템플릿_12.4 변수 템플릿_12.5 요약CHAPTER 13 C I/O 완전 분석_13.1 스트림 사용법_13.2 스트링 스트림_13.3 파일 스트림_13.4 양방향 I/O_13.5 요약CHAPTER 14 에러 처리하기_14.1 에러와 예외_14.2 익셉션 처리 과정_14.3 익셉션과 다형성_14.4 익셉션 다시 던지기_14.5 스택 풀기와 청소_14.6 익셉션 처리 과정에서 흔히 발생하는 문제_14.7 모두 합치기_14.8 요약CHAPTER 15 C 연산자 오버로딩하기_15.1 연산자 오버로딩 개요_15.2 산술 연산자 오버로딩하기_15.3 비트 연산자와 논리 연산자 오버로딩하기_15.4 스트림 입출력 연산자 오버로딩하기_15.5 인덱스 연산자 오버로딩하기_15.6 함수 호출 연산자 오버로딩하기_15.7 역참조 연산자 오버로딩하기_15.8 변환 연산자 구현하기_15.9 메모리 할당과 해제 연산자 오버로딩하기_15.10 요약CHAPTER 16 C 표준 라이브러리 둘러보기_16.1 코드 작성법_16.2 C 표준 라이브러리 둘러보기_16.3 요약CHAPTER 17 컨테이너와 반복자 살펴보기_17.1 컨테이너 개요_17.2 순차 컨테이너_17.3 컨테이너 어댑터_17.4 정렬 연관 컨테이너_17.5 비정렬 연관 컨테이너(해시 테이블)_17.6 기타 컨테이너_17.7 요약CHAPTER 18 표준 라이브러리 알고리즘 마스터하기_18.1 알고리즘 개요_18.2 std::function_18.3 람다 표현식_18.4 함수 객체_18.5 표준 라이브러리 알고리즘 심층 분석_18.6 알고리즘 예제: 선거인 명부 검사_18.7 요약CHAPTER 19 스트링 현지화와 정규 표현식_19.1 현지화_19.2 정규 표현식_19.3 요약CHAPTER 20 여러 가지 유틸리티 라이브러리_20.1 ratio 라이브러리_20.2 chrono 라이브러리_20.3 무작위수 생성_20.4 optional_20.5 variant_20.6 any_20.7 tuple_20.8 파일시스템 지원 라이브러리_20.9 요약[Part 4 C 고급 기능 마스터하기]CHAPTER 21 표준 라이브러리 커스터마이즈 및 확장_21.1 할당자_21.2 스트림 반복자_21.3 반복자 어댑터_21.4 표준 라이브러리 확장하기_21.5 요약CHAPTER 22 고급 템플릿_22.1 템플릿 매개변수에 대한 심화 학습_22.2 클래스 템플릿 부분 특수화_22.3 오버로딩으로 함수 템플릿 부분 특수화 흉내내기_22.4 템플릿 재귀_22.5 가변 인수 템플릿_22.6 메타프로그래밍_22.7 요약CHAPTER 23 C 멀티스레드 프로그래밍_23.1 들어가며_23.2 스레드_23.3 아토믹 연산 라이브러리_23.4 상호 배제_23.5 조건 변수_23.6 promise와 future_23.7 멀티스레드 Logger 클래스 예제_23.8 스레드 풀_23.9 바람직한 스레드 디자인과 구현을 위한 가이드라인_23.10 요약[Part 5 C 소프트웨어 공학]CHAPTER 24 소프트웨어 공학 기법_24.1 프로세스의 필요성_24.2 소프트웨어 라이프 사이클 모델_24.3 소프트웨어 공학 방법론_24.4 나만의 프로세스와 방법론 만들기_24.5 소스 코드 관리_24.6 요약CHAPTER 25 효율적인 C 코드 작성법_25.1 성능과 효율성에 대하여_25.2 언어 차원의 효율성_25.3 디자인 차원의 효율성_25.4 프로파일링_25.5 요약CHAPTER 26 테스트 숙달하기_26.1 품질 관리_26.2 단위 테스트_26.3 하이레벨 테스트_26.4 성공적인 테스트를 위한 팁_26.5 요약CHAPTER 27 디버깅 완전 정복_27.1 디버깅 기본 원칙_27.2 버그 분류_27.3 버그 방지_27.4 버그 대비_27.5 정적 어서션_27.6 디버깅 테크닉_27.7 요약CHAPTER 28 디자인 기법과 프레임워크_28.1 흔히 사용하지만 까먹기 쉬운 문법_28.2 고급 기법_28.3 객체지향 프레임워크_28.4 요약CHAPTER 29 디자인 패턴_29.1 반복자 패턴_29.2 싱글턴 패턴_29.3 추상 팩토리 패턴_29.4 프록시 패턴_29.5 어댑터 패턴_29.6 데코레이터 패턴_29.7 책임 사슬 패턴_29.8 옵저버 패턴_29.9 요약CHAPTER 30 크로스 플랫폼과 크로스 언어 애플리케이션 개발 방법_30.1 크로스 플랫폼 개발_30.2 크로스 언어 개발_30.3 요약[부록 A] C 면접 예상 질문 [부록 B] 참고 문헌 [부록 C] 표준 라이브러리 헤더 파일 [부록 D] UML 기초
|
Marc Gregoire
마크 그레고리의 다른 상품
남기혁의 다른 상품
|
★ 최신 C 를 마스터하려면 알아야 할 C 와 C 17의 모든 것C 전문가가 되기 위해 필요한 내용을 조목조목 옮겼다. C 의 기본 기능에서 널리 알려지지 않았던 기능까지 설명한다. 오랜 역사를 지닌 C 언어에 대한 오해와 올바른 프로그래밍 방법을 소개한다. C 17까지 추가된 최신 기능을 기반으로 C 언어의 핵심 기능, 람다, 파일시스템, 템플릿, 표준 라이브러리(STL), 문자열, 입출력과 같은 기본부터 제네릭 코드 작성, 타입 추론, 템플릿 재귀, 메타프로그래밍, 메모리 관리, 멀티스레드 같은 고급 기능까지 다룬다. 소프트웨어 엔지니어링 측면에서 알아야 할 버전 관리, 소프트웨어 개발 방법론, 코드 최적화, 테스팅, 디버깅, 프레임워크, 디자인 패턴까지 소개해 C 전문가가 되고 싶은 독자는 물론 현업 C 전문가도 전체 지식을 복습할 수 있게 했다.★ 대상 독자C 를 수년 동안 사용하더라도 C 고급 기능에 익숙하지 않거나 고급 기능을 사용한 적이 거의 없는 사람이 있다. C 코딩에는 자신 있지만 C 로 디자인하는 방법이나 바람직한 프로그래밍 스타일을 자세히 알고 싶은 사람도 있다. 또한 C 경험은 부족하지만 실전에 제대로 활용하는 방법을 배우고 싶은 사람도 있다. 이 책은 C 실력을 전문가 수준으로 끌어올리려는 분 모두를 대상으로 한다.★ 이 책의 내용- C 의 방대한 기능을 최대한 활용하여 효과적인 솔루션을 개발할 수 있도록 C 사고방식을 제시한다.- 어설프게 알고 있거나 실수하기 쉬운 부분을 바로 잡고 효율과 성능을 높이는 다양한 팁과 기법, 우회전략을 소개한다.- 당장 프로젝트에서 마주치고 적용할 수 있는 현실적인 문제와 프로그램 예제를 소개한다.- 구조적 바인딩, 중첩 네임스페이스, constexpr if를 비롯한 C 17부터 새로 추가된 기능을 소개한다.- string_view, optional, 병렬 알고리즘, 파일시스템 API 등 C 17부터 새로워진 표준 라이브러리의 주요 기능을 심도 있게 살펴본다.★ 이 책의 상세 구성〈1부 전문가를 향한 C 의 첫걸음〉C 기초를 다지기 위한 초단기 속성 코스부터 시작한다. 이어지는 장에서 스트링과 스트링 뷰를 다루는 방법을 깊이 있게 살펴본다. 스트링은 이 책의 거의 모든 예제에서 사용하기 때문이다. 1부의 마지막 장은 C 코드를 읽기 쉽게 작성하는 방법을 소개한다.〈2부 전문가답게 C 소프트웨어 디자인하기〉C 디자인 방법론을 소개한다. 디자인의 중요성, 객체지향 방법론, 코드 재사용의 중요성 등을 설명한다.〈3부 전문가답게 C 코딩하기〉전문가처럼 C 를 다루는 기법을 소개한다. C 에서 메모리를 관리하기 위한 바람직한 방법, 재사용 가능한 클래스 작성법, 상속과 같이 언어의 주요 기능을 최대한 활용하는 방법 등을 소개한다. 또한 C 의 까다롭고 미묘한 기능, 입력과 출력을 다루는 방법, 에러 처리 방법, 스트링 현지화 방법, 정규 표현식 사용법 등도 소개한다. 연산자 오버로딩, 템플릿 작성법도 설명한다. 컨테이너, 반복자, 제네릭 알고리즘 등을 제공하는 C 표준 라이브러리도 소개한다. 표준 라이브러리에서 제공하는 시간, 무작위수, 파일시스템 등과 관련된 기능도 살펴본다.〈4부 C 고급 기능 마스터하기〉C 를 최대한 활용하는 방법을 제시한다. C 에서 잘 알려지지 않은 기능을 소개하고, 고급 수준에 해당하는 기능을 사용하는 방법을 설명한다. 필요에 따라 C 표준 라이브러리를 커스터마이즈하고 확장하는 방법, 템플릿 메타프로그래밍 같은 템플릿 프로그래밍의 고급 기법, 멀티프로세서 및 멀티코어 시스템을 최대한 활용하기 위한 멀티스레드 프로그래밍 방법도 다룬다.〈5부 C 소프트웨어 공학〉엔터프라이즈 수준의 소프트웨어를 작성하는 방법을 소개한다. 최근 소프트웨어 회사에서 흔히 사용하는 소프트웨어 공학 기법을 소개하고, 효율적인 C 코드를 작성하는 방법, 단위 테스트나 회귀 테스트를 비롯한 다양한 테스트 방법론, C 프로그램 디버깅 기법을 설명한다. 또한 디자인 기법, 프레임워크, 객체지향 패턴을 한데 엮는 방법을 설명하며, 크로스 언어 및 크로스 플랫폼을 위한 코드 작성 방법을 소개한다.〈부록〉기술 면접에서 나올 수 있는 C 예상 질문을 각 장별로 소개하고, 다양한 참고 문헌을 부연 설명과 함께 제시하고, 표준에서 정의한 C 헤더 파일을 간략히 정리하고, UML을 가볍게 소개하는 것으로 이 책을 마무리한다.
|