Effective C

로버트 C. 시코드 (지은이), 박정재, 장준원, 장기식 (옮긴이) | 에이콘출판 | 2023년 6월 정가 33,000원 판매가 29,700원 배송비 0원 (0원 이상 무료) 페이지 356쪽 판형 188*235mm 676g ISBN 9791161757599 상태 새책 or 중고 수량 합계 29,700

책소개

시간이 지나도 변하지 않고 컴퓨팅 세계의 기반을 강화하는 데 도움이 되는 전문적이고 안전하며 이식 가능한 C 코드를 작성하는 방법을 저자의 경험을 바탕으로 설명한다. C와 C 표준 라이브러리를 사용하는 모범 사례와 사용 중에 발생할 수 있는 일반적인 오류 등을 설명한다. C 프로그램을 디버깅하고 테스트하고 분석하는 방법도 소개한다.

저자소개

로버트 C. 시코드 (Robert C. Seacord) (지은이)  
신간알리미 신청
박정재 (옮긴이)  
신간알리미 신청
경찰대학교 행정학과를 졸업하고, 서강대학교 정보통신대학원에서 블록체인 전공으로 공학석사 학위를 받았다. 경찰청 보안 사이버수사대에서 첩보수집·분석 업무, 서울경찰청 사이버수사대에서 디지털포렌식팀장으로 근무했다.
현재 법무법인 율촌 전문위원으로 기업 내부조사, 디지털 증거분석, 블록체인 자문 등
IT 분야 조사업무를 담당하고 있다.
장준원 (옮긴이)  
신간알리미 신청
장기식 (옮긴이)  
신간알리미 신청
역자후기
사이버 보안 관련 일을 하기 시작하면서 C 언어로 작성된 코드에서 사소한 오류로 인해 큰 보안 사고가 발생하는 것을 직접 목격했습니다. 이로 인해 시큐어 코딩이라는 개념을 접하게 됐고, 이제는 시큐어 코딩을 코드 작성 초기부터 적용하는 것이 기본이 됐습니다.
이 책은 다른 C 언어 프로그래밍 입문서와는 다릅니다. 표준 C 언어 문법부터 시큐어 코딩에 필요한 디버깅, 정적 분석 및 동적 분석에 이르기까지 폭넓은 내용을 담고 있습니다. 그래서 초보자에게는 다소 어려울 수 있는데, 특히 안전한 코드 작성에 필요한 취약점에 관한 내용이 나오고, 버그가 발생할 수 있는 코드의 예와 이를 해결할 방법까지도 제시합니다.
C 언어의 기본 문법을 어느 정도 알고 있는 독자라면 책 뒷부분에 나오는 메모리 할당과 입출력, 프로그램 구조, 디버깅, 단위 테스트 그리고 정적 분석 및 동적 분석의 내용을 꼼꼼하게 익히길 바랍니다. 전부 시큐어 코딩에 필요한 요소입니다.
저자는 성능이 우수하면서도 안전하며 보안성을 갖춘 코드를 작성하는 것을 강조합니다. C 프로그램에서 정의되지 않은 동작이 발생하는 것을 막을 수 있도록 저자가 소개하는 모든 방법과 도구를 활용해 시큐어 코딩을 익힐 수 있길 바랍니다.

출판사소개

목차

1장. C 시작하기
__첫 번째 C 프로그램 개발하기
____프로그램 컴파일 및 실행
____전처리기 지시문
____main 함수
____함수 반환 값 확인
____출력 형식
__편집기 및 통합 개발 환경
__컴파일러
____GNU 컴파일러 모음
____Clang
____마이크로소프트 Visual Studio
__이식성
____구현 정의 동작
____미지정 동작
____미정의 동작
____로케일 별 동작 및 공통 확장
__요약

2장. 개체와 함수, 형식
__개체와 함수, 형식, 그리고 포인터
__변수 선언
____값 바꾸기 (첫 번째 시도)
____값 바꾸기 (두 번째 시도)
__범위
__스토리지 기간
__맞춤
__개체 형식
____부울 형식
____문자 형식
____숫자 형식
____void 형식
__함수 형식
__파생된 형식
____포인터 형식
____배열
____구조체
____공용체
__태그
__형식 한정자
____const
____volatile
____restrict
__연습 문제
__요약

3장. 산술 형식
__정수
____패딩과 정밀도
____ 헤더 파일
____정수 선언하기
____부호가 없는 정수
____부호가 있는 정수
____정수 상수
__부동 소수점
____부동 소수점 형식
____부동 소수점 산술
____부동 소수점 값
____부동 소수점 상수
__산술 변환
____정수 변환 순위
____정수 확장
____일반 산술 변환
____암시적 변환의 예
____안전한 변환
__요약

4장. 식과 연산자
__단순 할당
__평가
__함수 호출
__증가 및 감소 연산자
__연산자 우선순위 및 결합성
__평가 순서
____비순차적 평가와 규정되지 않은 순차적 평가
____시퀀스 포인트
__sizeof 연산자
__산술 연산자
____단항 연산자 +와 -
____논리 부정 연산자
____곱하기 연산자
____더하기 연산자
__비트 연산자
____보수 연산자
____시프트 연산자
____비트 AND 연산자
____비트 배타적 OR 연산자
____비트 포괄적 OR 연산자
__논리 연산자
__캐스트 연산자
__조건부 연산자
___Alignof 연산자
__관계형 연산자
__복합 할당 연산자
__쉼표 연산자
__포인터 산술
__요약

5장. 흐름 제어
__식 문
__복합 문
__선택 문
____if 문
____switch 문
__반복문
____while 문
____do...while
____for 문
__점프 문
____goto 문
____continue 문
____break 문
____return 문
__연습 문제
__요약

6장. 동적으로 할당된 메모리
__스토리지 기간
____힙과 메모리 관리자
____동적으로 할당된 메모리를 사용하는 경우
__메모리 관리 함수
____malloc 함수
____aligned_alloc 함수
____calloc 함수
____realloc 함수
____reallocarray 함수
____free 함수
__메모리 상태
__유연한 배열 멤버
__동적으로 할당된 다른 스토리지
____alloca 함수
____가변 길이 배열
__할당된 스토리지 문제 디버깅하기
____Dmalloc
____안전이 중요한 시스템
__연습 문제
__요약

7장. 문자와 문자열
__문자
____ASCII
____유니코드
____소스 및 실행 문자 집합
____데이터 형식
____문자 상수
____이스케이프 문자
____Linux
____Windows
____문자 변환
__문자열
____문자열 리터럴
__문자열 처리 함수
____
____부속서 K 경계 검사 인터페이스
____POSIX
____Microsoft
__요약

8장. 입출력
__표준 입출력 스트림
____스트림 버퍼링
____미리 정의된 스트림
____스트림 방향
____텍스트 및 이진 스트림
__파일 열기 및 만들기
____fopen 함수
____POSIX open 함수
__파일 닫기
____fclose 함수
____POSIX close 함수
__문자와 줄을 읽고 쓰기
__스트림 플러싱
__파일에서 위치 설정하기
__파일 삭제하기 및 이름 바꾸기
__임시 파일 사용하기
__형식이 있는 텍스트 스트림 읽기
__이진 스트림에서 읽기 및 쓰기
__요약

9장. 전처리기
__컴파일 과정
__파일 포함
____따옴표 및 홑화살괄호 포함 문자열
__조건부 포함
____오류 만들기
____헤더 보호기 사용하기
__매크로 정의
____매크로 대체
____형식 제네릭 매크로
____미리 정의된 매크로
__요약

10장. 프로그램 구조
__구성 요소화의 원칙
____결합도와 응집도
____코드 재사용
____데이터 추상화
____불투명 형식
__실행 파일
__링크
__간단한 프로그램 구조화하기
__코드 빌드하기
__요약

11장. 디버깅과 테스트, 분석
__어설션
____정적 어설션
____런타임 어설션
__컴파일러 설정 및 플래그
____GCC 및 Clang
____Visual C++
__디버깅
__단위 테스트
__정적 분석
__동적 분석
____AddressSanitizer
__연습 문제
__요약

더보기

배송

- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.

상품 품절

- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.

주문취소/변경

- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.

반품/교환

- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.

반품/교환 불가 사유

- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

소비자 피해보상 환불 지연에 따른 배상

- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.

Copyright © 2022 이츠북. All Rights Reserved.