장바구니 담기 close

장바구니에 상품을 담았습니다.

아무도 알려주지 않은 C++ 코딩의 기술

아무도 알려주지 않은 C++ 코딩의 기술

  • 전상현
  • |
  • 로드북
  • |
  • 2023-04-20 출간
  • |
  • 432페이지
  • |
  • 172 X 224mm
  • |
  • ISBN 9791198268631
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
27,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

C++만 20년 하면서 깨달은 것은 고급 개념이 아니라 기본적인 C++의 동작 원리와 문법이었다

불굴의 의지로 여기까지 왔습니다. 어떤 경우에는 회사의 일정에 쫓기는 와중에 2주나 걸려 간신히 해결한 문제도 있었고, 무려 5년 만에 알게 된 것도 있습니다. 그렇다고 그게 엄청나게 어려운 고급 개념이 아니라 기본적인 C++의 동작 원리나 문법들이었다는 게 저를 더 맥 빠지게 했습니다.
나는 이 지식들을 힘들게 얻었지만 여러분은 안 그랬으면 좋겠습니다. 재밌게 코딩했으면 좋겠습니다. 그리고 저보다 더 많은 지식을 또다시 후배들에게 나눠주었으면 합니다. 여러분이 힘들었던 부분이 되풀이되지 않게요. 그렇게 지속적으로 이어질 때 개발자들이, 그리고 나아가서는 인류가 ‘재미’라는 본질에 충실하며 살게 될 것이라고 믿습니다.

_주요 내용
_여행을 떠나기 전 알아야 할 것들
_소스코드 관리 기술
_윈도우 빌드 옵션 이해하기
_리눅스와 맥을 위한 크로스 플랫폼 빌드 - CMAKE
_C++의 꽃, 정적 라이브러리 정복하기 
_오픈소스 사용하기
_긴 코드를 작성할 수 있는 기술
_STL 자료구조 응용하기 
_메모리 정복하기
_전역변수와 정적변수, 그리고 함수들  
_데이터 정복하기
_멀티 스레드 정복하기
_소켓 정복하기
_네트워크 정복하기
_프로토콜 구현하기
_집중과 각성의 기술, 월급은 명세에 비례한다, 방황하는 분들을 위해

목차

작가의 말

Chapter 1_ 시작하기
1.1 여행을 떠나기 전에
1.2 왜 코딩을 잘해야 하는가
1.3 소스파일이 난잡해서 정신이 혼미해요
1.4 내가 만든 exe를 친구가 실행할 수 없어요
1.5 과제로 제출한 소스코드 용량이 수백메가?
1.6 저는 윈도우즈에서만 개발합니다
1.7 재사용 가능한 코드란 무엇인가
1.8 더 이상 파이썬을 모욕하지 마라
1.9 코드가 길어지면 현기증이 나요
1.10 잘 배운 STL 하나, 열 알고리즘 부럽지 않다
1.11 C++의 보물, 스택 메모리
1.12 정적변수로 묘수를 두자
1.13 프로그램은 데이터를 가공하는 것뿐이다
1.14 스레드로 팀 플레이를 배우자
1.15 소켓 프로그래밍으로 네트워크 세계를 누비자

Chapter 2_ 소스코드 관리기술
2.1 처음에는 깨끗하게 비우는 것부터
2.2 공통 헤더파일 만들기
2.3 리소스파일 추가하기
2.4 산출물을 관리하기 위한 파일 정리 기술
2.5 빌드된 산출물 경로 관리하기
2.6 중요한 파일과 그렇지 않은 파일

Chapter 3_ 윈도우즈 빌드 옵션 이해하기
3.1 다양한 빌드 방법
3.2 구성과 플랫폼
3.3 일괄 빌드
3.4 구성 관리자
3.5 코드 생성(런타임 라이브러리)
3.6 컴파일러 버전(플랫폼 도구 집합)
3.7 문자 집합
3.8 여러 프로젝트 관리
3.9 여러 프로젝트 중 시작 프로젝트 설정하기
3.10 동적 라이브러리 실행 설정
3.11 미리 컴파일된 헤더

Chapter 4_ 리눅스와 맥을 위한 크로스플랫폼 빌드 - CMake
4.1 리눅스와 맥 플랫폼 빌드 환경의 특징
4.2 CMake의 동작원리
4.3 CMake 설정파일과 위치
4.4 프로젝트 타입의 설정파일 구성
4.5 솔루션 타입의 설정파일 구성
4.6 전체 빌드는 개별 빌드의 합이 아니다
4.7 두근두근, CMake 빌드 수행
4.8 CMake 빌드 시 주의사항

Chapter 5_ C++의 꽃, 정적 라이브러리 정복하기
5.1 함수의 집합인 프로그램
5.2 컴파일 및 링크 오류
5.3 오픈소스가 만드는 오류
5.4 정적 라이브러리 만들기
5.5 정적 라이브러리 가져다 쓰기
5.6 정적 라이브러리 배포하기
5.7 대체 왜 꽃인가

Chapter 6_ 오픈소스 사용하기
6.1 리눅스에서 오픈소스 빌드하기
6.2 맥OSX에서 오픈소스 빌드하기
6.3 윈도우즈에서 오픈소스 빌드하기
6.4 OpenSSL 빌드하기
6.5 SQlite 빌드하기
6.6 zlib 빌드하기
6.7 오픈소스 빌드하는 것을 두려워하지 말자

Chapter 7_ 긴 코드를 작성할 수 있는 기술
7.1 변수와 함수 네이밍
7.2 함수는 어떻게 나눌 것인가
7.3 클래스와 구조체 네이밍
7.4 클래스에 Manager라는 용어 피하기
7.5 For문에 사용하는 i, j, k 네이밍
7.6 파일 시스템과 Path 네이밍
7.7 전치사 From/To를 사용한 네이밍
7.8 조건문에서의 부등호 사용 기술
7.9 다양한 코딩 규칙

Chapter 8_ STL 자료구조 응용하기
8.1 자료구조의 개념적 이해
8.2 벡터와 그 응용
8.3 벡터를 동적 버퍼처럼 활용하기
8.4 리스트와 그 응용
8.5 맵과 그 응용
8.6 맵을 정렬 알고리즘처럼 활용하기
8.7 셋과 그 응용
8.8 유일한 항목으로 추릴 때 활용하기
8.9 문자열과 그 응용
8.10 STL 문자열의 단점들
8.11 STL의 일관성을 알아두자

Chapter 9_ 메모리 정복하기
9.1 이미 잘 알고 있는 힙 메모리
9.2 잘 알고 쓰면 너무나 훌륭한 스택 메모리
9.3 스택 메모리 크기의 한계
9.4 스택 메모리 침범 오류
9.5 스택 메모리 구조 이해하기
9.6 스택 메모리 가드
9.7 스택 메모리 현명하게 사용하기
9.8 링 메모리

Chapter 10_ 전역변수와 정적변수, 그리고 함수들
10.1 데이터 영역에 기록되는 변수
10.2 전역변수 이해하기
10.3 전역변수와 정적변수 그리고 extern 키워드
10.4 함수 안으로 범위를 한정하는 정적변수
10.5 전역함수와 정적함수
10.6 정적 멤버함수
10.7 정적 멤버변수
10.8 완벽한 싱글턴 패턴 구현하기

Chapter 11_ 데이터 정복하기
11.1 개념잡기
11.2 데이터 기획하기
11.3 포매터 설계하기
11.4 채널과 포매터의 공통 인터페이스
11.5 포매터와 구조체의 인터페이스
11.6 최상위 인터페이스 설계
11.7 최상위 인터페이스 구현
11.8 포매터 구현하기
11.9 포매터 사용하기

Chapter 12_ 멀티 스레드 정복하기
12.1 멀티 프로세스와 멀티 스레드
12.2 스레드 기능 나누기
12.3 스레드에 직접 데이터 넘겨주기
12.4 큐를 이용한 자료 교환
12.5 재사용 가능한 스레드
12.6 지시자-수행자 모델
12.7 생성자-소비자 모델
12.8 발행자-구독자 모델

Chapter 13_ 소켓 정복하기
13.1 소켓이란
13.2 소켓 프로그래밍의 시작
13.3 TCP 소켓 이해하기
13.4 TCP 서버 코드 작성하기
13.5 TCP 클라이언트 코드 작성하기
13.6 UDP 소켓 이해하기
13.7 UDP 서버 코드 작성하기
13.8 UDP 클라이언트 코드 작성하기
13.9 UDP 천공

Chapter 14_ 네트워크 정복하기
14.1 OSI 7 계층과 네트워크 패킷
14.2 패킷은 원자단위 데이터
14.3 TCP 패킷을 읽어오는 recv 함수의 비밀
14.4 UDP 패킷을 읽어오는 recvfrom 함수의 비밀
14.5 순서가 바뀌거나 유실되는 이유

Chapter 15_ 프로토콜 구현하기
15.1 이제 STX, ETX 개념은 졸업하자
15.2 프로토콜 기획하기
15.3 패킷 정의하기
15.4 패킷 헤더 선언
15.5 패킷 헤더와 패킷 결합, 패키타이저
15.6 데이터 패딩 문제와 패킷 최적화
15.7 가변 패킷을 위한 패키타이저
15.8 포매터를 이용한 가변 패키타이저
15.9 패킷 스타일에 따른 차이

Chapter 16_ 맺음말, 그리고 하고 싶은 이야기
16.1 집중과 각성의 기술을 이해하자
16.2 월급은 명성에 비례한다
16.3 방황하는 분을 위해서
찾아보기

도서소개

 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.