전문가를 위한 C (동시성, OOP부터 최신 C, 고급 기능까지! | 극한의 C를 마주하려는 여행자를 위한 가이드북)

전문가를 위한 C (동시성, OOP부터 최신 C, 고급 기능까지! | 극한의 C를 마주하려는 여행자를 위한 가이드북)

$55.00
Description
C의 가능성을 믿는 이들에게 선사하는
가장 진보된 기능으로 떠나는 여행
오랜 역사를 자랑하는 C는 여전히 프로그래밍에서 가장 중요한 언어다. 특히 C는 임베디드 시스템과 고성능 하드웨어를 개발할 때 진면모를 발휘하며, 소프트웨어 엔지니어링, 항공우주 연구의 핵심 언어로 자리 잡았다. 무궁무진한 C의 가능성을 믿고, C의 심화 개념과 활용법을 알아보고 싶다면 이 책을 펼칠 차례다.

실제 애플리케이션 개발과 유지 보수에 필요한 기초와 고급 지식을 모두 담았다. C와 유닉스의 역사부터 객체지향, 커널, 스레드, 프로세스, 다른 언어와의 통합에 이르기까지 폭넓은 주제를 살펴본다. 이 책을 통해 여러분의 스킬을 한 단계 높여 배운 내용을 실질적으로 활용할 수 있는 C 전문가로 거듭나길 바란다.
저자

캄란아미니

KamranAmini
임베디드및커널전문개발자.이란의여러유명회사에서시니어엔지니어,아키텍트,컨설턴트,CTO로근무했습니다.2017년에는유럽으로건너가제퍼슨(Jeppesen),아데코(Adecco),톰톰(TomTom),액티브비디오네트웍스(ActiveVideoNetworks)와같은명망높은회사에서시니어아키텍트겸엔지니어로근무했습니다.암스테르담에머무르는동안이책을집필했으며주된관심분야는컴퓨터이론,분산시스템,머신러닝,정보이론,양자컴퓨터입니다.직업적커리어를쌓으면서천문학과행성학도공부합니다.우주의초기발생,블랙홀의기하학,양자장론,끈이론분야에학술적관심을두고있습니다.

목차

[PARTIC프로젝트빌드]

CHAPTER1필수요소
1.1전처리기지시자
1.2포인터변수
1.3함수
1.4함수포인터
1.5구조체
1.6마무리

CHAPTER2소스코드에서이진파일로
2.1표준컴파일파이프라인
2.2전처리기
2.3컴파일러
2.4어셈블러
2.5링커
2.6마무리

CHAPTER3목적파일
3.1ABI
3.2목적파일형식
3.3재배치가능한목적파일
3.4실행가능한목적파일
3.5정적라이브러리
3.6동적라이브러리
3.7마무리

[PARTII메모리]

CHAPTER4프로세스메모리구조
4.1프로세스메모리레이아웃
4.2메모리구조알아보기
4.3정적메모리레이아웃검사하기
4.4동적메모리레이아웃검사하기
4.5마무리

CHAPTER5스택과힙
5.1스택
5.2힙
5.3제한된환경에서의메모리관리
5.4마무리

[PARTIII객체지향]

CHAPTER6OOP와캡슐화
6.1객체지향적사고
6.2C가객체지향이아닌이유
6.3캡슐화
6.4마무리

CHAPTER7합성과집합
7.1클래스간의관계
7.2객체대클래스
7.3합성
7.4집합
7.5마무리

CHAPTER8상속과다형성
8.1상속
8.2다형성
8.3마무리

CHAPTER9추상화와C++의OOP
9.1추상화
9.2C++의객체지향구성물
9.3마무리

[PARTIV유닉스]

CHAPTER10유닉스의역사와아키텍처
10.1유닉스의역사
10.2유닉스아키텍처
10.3사용자응용프로그램에대한셸인터페이스
10.4셸링에대한커널인터페이스
10.5커널
10.6하드웨어
10.7마무리

CHAPTER11시스템호출과커널
11.1시스템호출
11.2유닉스커널
11.3마무리

CHAPTER12최신C
12.1C11
12.2C표준지원버전찾기
12.3gets함수의제거
12.4fopen함수로의변화
12.5경계검사함수
12.6값을반환하지않는함수
12.7타입제네릭매크로
12.8유니코드
12.9익명구조체와익명공용체
12.10멀티스레딩
12.11마무리

[PARTV동시성]

CHAPTER13동시성
13.1동시성소개
13.2병렬성
13.3동시성
13.4작업스케줄러유닛
13.5프로세스와스레드
13.6발생전제약
13.7동시성을사용해야하는경우
13.8공유상태
13.9마무리

CHAPTER14동기화
14.1동시성문제
14.2고유한동시성문제
14.3동기화이후문제
14.4동기화기술
14.5스핀락
14.6POSIX의동시성
14.7멀티프로세싱
14.8멀티스레딩
14.9마무리

CHAPTER15스레드실행
15.1스레드
15.2POSIX스레드
15.3POSIX스레드스폰하기
15.4경쟁상태에대한예제
15.5데이터경쟁에대한예
15.6마무리

CHAPTER16스레드동기화
16.1POSIX동시성제어
16.2POSIX스레드와메모리
16.3마무리

[PARTVI프로세스간통신]

CHAPTER17프로세스실행
17.1프로세스실행API
17.2프로세스실행단계
17.3공유상태
17.4멀티스레딩대멀티프로세싱
17.5마무리

CHAPTER18프로세스동기화
18.1싱글호스트동시성제어
18.2기명POSIX세마포어
18.3기명뮤텍스
18.4기명조건변수
18.5분산된동시성제어
18.6마무리

CHAPTER19싱글호스트IPC와소켓
19.1IPC기법
19.2통신프로토콜
19.3싱글호스트통신
19.4소켓프로그래밍
19.5마무리

CHAPTER20소켓프로그래밍
20.1소켓프로그래밍복습
20.2계산기프로젝트
20.3유닉스도메인소켓
20.4네트워크소켓
20.5마무리

CHAPTER21다른언어와의통합
21.1통합이가능한이유
21.2필수자료획득하기
21.3스택라이브러리
21.4C++과통합하기
21.5자바와통합하기
21.6파이썬과통합하기
21.7고와통합하기
21.8마무리

[PARTVII테스트와유지보수]

CHAPTER22유닛테스트와디버깅
22.1소프트웨어테스트
22.2유닛테스트
22.3컴포넌트테스트
22.4C의테스트라이브러리
22.5디버깅
22.6마무리

CHAPTER23빌드시스템
23.1빌드시스템소개
23.2메이크
23.3CMake:빌드시스템이아닙니다
23.4닌자
23.5바젤
23.6빌드시스템비교하기
23.7마무리

출판사 서평

전문가로발돋움하기위한C의모든것파헤치기

C전문가가되고싶은개발자를위해실무에유용한예제와실습을모두담았습니다.프로그램을작성할때유용한C의구성요소부터프로세스메모리구조,스택과힙,유닉스의역사,최신C의새로운기능,테스트와유지보수방법까지설명합니다.C를이용해효율적인프로그램을작성하는방법과객체지향원칙을구현하는방법,프로세스간통신하는방법도소개합니다.

이책은C개발자를위한훌륭한책일뿐만아니라컴퓨터가실제로어떻게작동하는지조금더깊이파고들고싶은개발자에게도유용합니다.책을읽으며스스로생각하고,질문하고,실습해보면서탄탄한기초를가진C전문가로성장해보세요.C의가장진보된기능으로떠나는대장정을마치고나면,소프트웨어시스템을더넓은관점에서바라보는더나은C개발자가될것입니다.

대상독자
● C/C++프로그래밍초급과정을이수한학부생이나주니어엔지니어
● 현업에C를사용하는개발자
● 공학이나과학을공부하는학부생이나연구원

필요지식
● 컴퓨터아키텍처지식:메모리,CPU,주변장치와이들의특성에관한내용
● 프로그래밍기초지식:알고리듬,이진수,산술연산등
● 프로그래밍중급지식:조건문,루프,구조체,클래스,포인터,함수에관한중급지식
● 터미널과셸명령어사용법
● 객체지향프로그래밍기초지식(3부에서객체지향을자세히다루지만기초지식이있다면내용을이해하기가수월합니다)

주요내용
● 메모리구조와컴파일파이프라인의작동방식과최대활용법
● 절차지향C코드에객체지향설계원칙적용하기
● 컴퓨터시스템의최대성능을끌어내는저수준코드작성하기
● 동시성,멀티프로세싱,멀티프로세싱의주요개념
● C++,자바,파이썬,고(Go)에서C라이브러리통합하기
● 유닛테스트,디버깅,빌드시스템으로테스트및유지보수하기