본문 바로가기

추천 검색어

실시간 인기 검색어

크로스 플랫폼 핵심 모듈 설계의 기술

모바일, 리눅스, 맥, 윈도우를 아우르는 C++ 라이브러리 구축 바이블
전상현 지음
로드북

2020년 06월 19일 출간

종이책 : 2018년 08월 27일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (15.86MB)
ECN ECN01022020560000648921
쪽수 800쪽
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 30,400원

쿠폰적용가 27,360

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

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

작품소개

이 상품이 속한 분야

이 책은 지금 당장 유행하는 기술에 관한 책이 아니다. 기술 트렌드에 관계 없이 개발자라면 언젠가 누구나 겪을 법한 내용을 핵심 모듈과 크로스 플랫폼 설계의 관점에서 정리하였다. 변수, 문자열, 예외 처리, 암호화, 디버깅, 테스팅 등 수많은 분야에서 여러분이 알고 있는 지식들을 더욱 더 견고하게 해줄 것이다. 지금 당장은 아니더라도 앞으로 닥칠 위기에 크게 도움을 줄 수도 있다. 차근차근 처음부터 읽어볼 수도 있고 관심 분야를 선택해서 읽어볼 수 있게 구성하였다.

대상 독자
1. 개발 기본기가 부족해 실무에서 삽질이 많은 개발자
2. 개발 경력이 많지만 특급 개발자로 내세우기엔 2%가 부족한 개발자
3. JAVA 등의 다른 언어의 한계에 도달해 C++을 배우고 싶은 개발자
4. 윈도우 개발자가 리눅스로, 리눅스 개발자가 윈도우로 영역을 넓히고 싶은 개발자
5. 대칭키와 공개키 암호화에 대해 제대로 알고 싶은 개발자
6. 시스템 API와 친하지 않은 개발자
7. 리눅스 서버와 통신하는 윈도우 클라이언트 개발자 혹은 그 반대
8. 정적 라이브러리와 동적 라이브러리를 자유자재로 다루고 싶은 개발자
9. 프로세스 생성과 공유 메모리, 파일 시스템 등을 잘 이해하고 싶은 개발자
10. 타임존과 그 프로그래밍 방법에 대해 배우고 싶은 개발자
11. 스레드와 동기화 객체에 대해 뿌리 깊이 이해하고 싶은 개발자
12. 나만의 공통 모듈을 개발하고 싶은 개발자
13. 유니코드로 인해 고통받는 개발자
14. 이 모든 것을 다 떠나서 친구 같은 개발 바이블을 갖고 싶은 개발자
지은이의 말
이 책을 읽는 방법

1장 크로스 플랫폼으로 개발하라
1.1 왜 C++인가?
1.2 핵심 모듈은 무엇인가?
 1.2.1 핵심 모듈의 첫 번째 특성 : 목적
 1.2.2 핵심 모듈의 두 번째 특성 : 생명력
 1.2.3 핵심 모듈의 세 번째 특성 : 진입장벽
1.3 아키텍트는 누구인가?
1.4 크로스 플랫폼으로 개발하라
 1.4.1 크로스 플랫폼 개발 기법 : 런타임 기법과 컴파일 기법
 1.4.2 크로스 플랫폼 개발이 필요한 두 가지 관점: 디바이스와 개발 인력

2장 개발 기법
2.1 개발 기법의 필요성
2.2 컴파일러의 활용
 2.2.1 상호 참조 오류
 2.2.2 선언과 구현의 분리
 2.2.3 선언에 직접 구현하는 경우
2.3 링커
 2.3.1 링커의 역할
 2.3.2 정적 라이브러리 생성
 2.3.3 동적 라이브러리 생성
 2.3.4 템플릿의 사용과 링크 에러
2.4 모듈 트리
 2.4.1 규모가 큰 모듈의 종속성 문제
 2.4.2 모듈의 순환 참조 구조
 2.4.3 핵심 모듈의 형태
2.5 공통 헤더 파일(stdafx.h)과 대표 헤더 파일의 활용 68
2.6 테스트 기법
 2.6.1 가장 간단한 테스트 코드
 2.6.2 테스트 모듈의 일반화
 2.6.3 테스트 조건 구성

3장 핵심 모듈 설계
3.1 네임스페이스의 사용
3.2 세부 모듈 정의
3.3 모듈 매트릭스
3.4 크로스 플랫폼
3.5 오픈소스의 적용
3.6 소스코드 구조
3.7 개발 환경 구축
 3.7.1 GUI 개발 환경
 3.7.2 콘솔 개발 환경
3.8 코드 중복의 제거를 위한 원소스 듀얼 컴파일

4장 변수형 정의
4.1 기본적으로 제공되는 변수형
4.2 long형 변수에 대해서
 4.2.1 개발자들 사이에 논란이 있는 각 변수형의 크기
 4.2.2 플랫폼에 따라 달라지는 변수의 크기
 4.2.3 왜 long형 변수만 차이가 날까?
4.3 개념적 변수형 정의
4.4 포인터 변수형 정의
4.5 const 변수형 정의
4.6 문자 변수형 정의
4.7 리눅스 계열 정의

5장 문자열 함수들
5.1 TCHAR 타입
5.2 char형 함수들과 wchar_t형 함수들
5.3 문자열 함수 구현의 필요성
5.4 중복 코드 회피 기법
[여기서잠깐] 반복적인 코드를 회피하는 방법
5.5 표준 문자열 함수들
[여기서잠깐] static 함수에 대해서
5.6 StringCch, StringCb 함수들
5.7 String..Ex 함수들
5.8 std::string 함수들
5.9 와일드카드가 포함된 문자열 비교 함수
5.10 숫자 변환 함수들
 5.10.1 숫자에서 문자열로 변환하는 함수군
 5.10.2 자연수 파싱 함수  
 5.10.3 8진법, 16진법 파싱 함수
 5.10.4 정수 파싱 함수
 5.10.5 실수 파싱 함수
 5.10.6 지수 표기 파싱 함수
 5.10.7 문자열에서 변수로 변환하는 함수군
 5.10.8 문자열에서 템플릿 변수로 변환하는 함수군

6장 유니코드
6.1 ASCII 코드와 EUCKR, 멀티바이트 스트링
6.2 코드 페이지와 유니코드 문자 집합
[여기서잠깐] EUCKR과 코드페이지 949에 대해서
6.3 유니코드 인코딩
6.4 UTF8, UTF16, UTF32
6.5 유니코드와 char, wchar_t 변수형의 관계
6.6 유니코드 인코딩 변환 함수들
6.7 코드를 작성할 때 필요한 변환 함수들
6.8 BOM에 대해서
6.9 유니코드 변환 함수 구현
 6.9.1 유니코드 인코딩 변환 함수 선언
 6.9.2 WCS 및 MBS 변환 함수 선언
 6.9.3 TCS 및 NTCS 변환 함수 선언 및 구현
 6.9.4 WCS 및 MBS 변환 함수 구현
 6.9.5 윈도우용 유니코드 문자셋 변환 함수 구현  
 6.9.6 리눅스용 유니코드 문자셋 변환 함수 구현
 6.9.7 유니코드 인코딩 변환 함수 구현

7장 예외처리
7.1 예상치 못한 예외 상황
7.2 try-catch 구문 사용
7.3 무엇을 던지고 무엇을 받을 것인가?
7.4 exception 객체의 생명 주기
7.5 함수 바깥으로 예외 던지기
7.6 실무에서의 예외처리 기법

8장 인코딩, 암호화, 암호식
8.1 용어의 정리
8.2 인코딩의 여러 개념
8.3 해시 함수 구현
8.4 Base64 구현
[여기서잠깐] 메모리 반환 방식에 대해서
8.5 대칭키 암호화 구현
 8.5.1 블록 암호화 알고리즘
 8.5.2 블록 암호화 키와 함수
 8.5.3 블록 암호화 운용 방식
 8.5.4 블록 암호화의 설계
 8.5.5 인터페이스 코드 작성  
[여기서잠깐] 인터페이스를 class가 아닌 struct로 선언하는 이유는?
[여기서잠깐] 다이아몬드 상속 구조에 대해서
 8.5.6 알고리즘 코드 작성
 8.5.7 운용 방식 코드 작성
[여기서잠깐] 인터페이스 소멸자 virtual 선언의 중요성
8.6 비대칭키 암호화
 8.6.1. 디피-헬먼 키 교환
 8.6.2. RSA 암호식
 8.6.3. 엘가말 암호식
 8.6.4. ECC 암호식
[여기서잠깐] 타원 곡선 암호화에 대해서
 8.6.5. 비대칭키 암호화 함수 정의
 8.6.5. 비대칭키

어떤 플랫폼에서도 자유롭게 실행되는 코딩의 기술

_중복 코드를 제거하기 위해 컴파일러와 링커를 응용하는 방법들
_윈도우와 리눅스의 유니코드 처리방식에 대해 정확하게 이해할 수 있는 TCHAR의 기술
_견고한 코드를 작성하게 하는 예외 처리의 기술
_오픈 소스 혹은 상용 제품들의 로그 옵션들에 대해 속속들이 알게 해주는 디버그 로그 개발 기법
_서로 다른 인코딩을 쉽게 사용하기 위한 인터페이스를 구축하기 위한 기술
_윈도우와 리눅스, 맥뿐 아니라 모바일 플랫폼 안드로이드와 아이폰까지 전천후로 개발할 수 있는 크로스 플랫폼의 기술
_규칙성과 불규칙성에서 배우는 윈도우 시스템 함수들
_윈도우 시스템과 차이점과 공통점을 배울 수 있는 리눅스 시스템 함수들
_리눅스와 아주 유사하며 일부가 다른 맥 시스템 함수들
_크로스 플랫폼 완성 후에 주요한 기능 중심으로 클래스와 함수를 만들어내는 기술

최근에는 Boost 등의 이미 잘 만들어진 크로스플랫폼 모듈들이 제공되고 있는데, 왜 그와 비슷한 코드를 다시 작성해야 하느냐고 비판할지 모릅니다. 물론 결과물 자체는 무의미할 수 있습니다.
하지만 개발하는 과정에서 겪는 여러 가지 문제들의 해결책을 찾으면서 얻게 되는 설계 및 개발 지식들은 이후의 다른 소프트웨어를 개발할 때 분명히 큰 도움이 될 것입니다. 단순히 사용하기만 해서는 그런 내공을 쌓을 수가 없습니다.
게다가 다른 사람보다 더 깊이 있는 지식을 얻기 위해서는 무의미한 이런 시도가 거의 유일한 방법일지도 모릅니다.
_저자 서문 중에서

작가정보

저자(글) 전상현

저자 : 전상현
리팩토링에 능합니다. 항상 구조를 뒤바꾸며 좀더 효율적인 형태를 창안하려 노력합니다. 이 능력은 프로젝트 중장기 시점에 빛을 발합니다. 안정성을 도모하고 지속적으로 변화하는 요구사항을 무리없이 수용하는 가치를 지니고 있으니까요.
더 큰 가치도 숨어있습니다. 바로 “인생을 압축해서 살게 해주는 기술”이라는 점에서요. 안정적이고 변화에 유연하다는 것은 같은 일을 더 짧은 시간에 적은 노력으로 해결할 수 있다는 것과 같습니다.
남들이 프로젝트 하나를 마칠 기간에 둘 혹은 셋을 마칠 수 있다는 것이죠. 그것들이 모이면 개발 인생이 압축됩니다. 덕분에 좀더 빠르게 성장한 것 같습니다. 꽤 많은 경험과 풍파를 거치고도 아직은 서른 일곱이라는 나이가 감사할 따름입니다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

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

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    크로스 플랫폼 핵심 모듈 설계의 기술 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    크로스 플랫폼 핵심 모듈 설계의 기술 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

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

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


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    크로스 플랫폼 핵심 모듈 설계의 기술
    모바일, 리눅스, 맥, 윈도우를 아우르는 C++ 라이브러리 구축 바이블
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)