ghcjs***
2023-04-22

더 쉽게, 더 빠르게, 더 깔끔하게! 프로그래머가 알아야 할 C++와 C++20의 모든 것
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
책을 받고 충격을 받다
보통 책이 배송이 되면 공기가 들어간 통통한 비닐 같은 것에 들어온다거나...
아니면 책 한 권 들어갈 정도의 작은 사이즈의 상자에 담겨 온다.
그런데 뭔가 거대한 박스가 왔길래 내가 뭘 주문했었나? 하고 주웠더니...
뭔가 어마어마하게 묵직한 게...
뭔지 잘 모르겠지만 뭔가 어마어마한 게 들어있다는 생각이 들었고
눈을 크게 뜨고 박스에 쓰인 보낸 사람 정보를 읽어보았다.
으잉?
한빛미디어?
이상하다... 나는 리뷰어다를 오래 해서 뭐 선물 같은 걸 보냈나?
이런 마음으로 상자를 열어 보았는데...
이런 무지막지한 녀석이 나왔다.
이 책은 뭐 하는 책인가?
말 그대로 c++ 책이다.
그것도 전문가를 위한 수준의 책이다.
c++ 공부하기 기본 문법 이런 책은 아니라는 것이다.
내용을 보면 굉장히 많은 범위를 다루고 있다.
그래서 책이 두껍다 그것도 아주 많이...
- 책은 대략 1700페이지 가량의 분량이다.
- 파트가 6개이고
- 챕터가 34개로 구성되어 있다.
1부는 c++ 기초
2부는 c++ 설계
3부는 c++ 전문가 코딩 : 메모리 관리, 적절한 클래스 작성법, 미묘한? 기능, I/O, 등...
4부는 c++ 고급 기능 : c++을 최대한 활용하는 방법, c++ 라이브러리 커스텀 하기, 템플릿 메타 프로그래밍, 멀티 스레드 처리
5부는 c++ 엔터프라이즈급 소프트웨어 작성 방법 : tdd, 디버깅, 디자인 패턴 등..
6부는 부록 기술면접
C++을 왜 할까?
나는 주로 웹 개발을 해와서 c 쪽은 다룰 일이 거의 없었다.
하지만 하드웨어를 다루는 프로젝트들을 호기심으로 좀 해봤는데 웬만한 건 다 C/C++으로 되어있었다.
아무래도 임베디드 쪽은 C 계열 언어가 많이 사용되는 듯하다.
지금도 난리 나고 있지만 아무래도 로보틱스 쪽이 계속 발달하게 되면
C++을 깊게 사용하는 능력이 필요하다고 생각한다.
이 책 왜 이렇게 두껍나?
사실 두꺼운 책들은 다 이유가 있다.
일단. 굉장히 많은 내용을 다 넣었기 때문이다.
어떻게 보면 굉장히 친절하기 때문이라고 할 수 있다.(쉽게 쓰였다는 전제하에)
어디 한번 볼까?
파트 1 챕터 3 코딩 스타일만 해도
말 그대로 챕터 하나를 그냥 다 쓴다.
코딩 스타일의 중요성부터 문서화, 리팩토링을 통한 코드 분해, 설계 기준으로 코드 분해
명명 규칙, 언어의 기능에 스타일 적용하기, 코드 서식, 등..
아주 세세하게 설명을 해준다. 이 정도면 친절한 거 맞는 듯?
파트 2에 챕터 4를 보면
프로그램 설계하는 내용이다. 객체지향 설계, 재사용을 고려한 설계
사실 다 알아야 하는 내용인데 이 주제만 해도 따로 책으로 수두룩 출판되어 나와있다.
다시 생각해 보자면... 어차피 공부할 것들 책 하나에 몽땅 담은 느낌이랄까?
챕터 7 메모리 관리
이런 부분들이 고급 내용에 해당한다고 할 수 있겠다.
동적 메모리 다루기, 배열, 포인터, 메모리 연산, 메모리 관련 문제 해결, 스마트 포인터(이건 나도 첨 봄)
하도 많아서 다 이야기할 수도 없고.
어쨌든 정리하자면 C++으로 개발할 때 필요한 웬만한 내용, 코드 이야기가 아니라 개념적인 내용도 많이 담겨 있어서 아주 두꺼운 책이 되었다. 뭐 그렇다는 이야기
이 책 어떻게 활용할까?
일단 너무 두꺼워서 정공법으로 처음부터 쭉 읽을 순 없고
c++ 프로젝트 하고 싶은 거 나올 때 처음 기초 부분 쭉 진행하고
그다음 코드 보면서 애매한 부분 책에서 찾아봐야겠다.
그리고 전체적으로 프로젝트가 어느 정도 돌아가면
좀 아쉬운 부분이 없나? 생각하면서 이 책을 훑어볼 듯하다.
아무튼 옆에 두고 일단 모니터 받침이나 뭔가 받치고 있어야 할 듯 ㅎㅎ
누구에게 추천하는가?
임베디드 쪽 작업하시는 분
C++을 통해서 기존 프로젝트의 효율성을 향상시키고 싶으신 분
두꺼운 배게 좋아하시는 분?
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."