처음 처음 | 이전 이전 | 1 | 2 | 3 |다음 다음 | 마지막 마지막
C++ 최적화 - 최고 성능을 구현하는 10가지 검증된 기법
커트 건서로스 지음, 옥찬호 옮김 / 한빛미디어 / 2019년 7월
평점 :
장바구니담기




어린 시절 공부 잘하는 친구에게 노트를 빌려서 시험공부를 했던 적이 있다. 그때 친구의 노트에는 시험 관련 내용이 꼼꼼하게 정리되어 있어 모르는 부분마다 찾아서 공부하기 좋았다.




이번 C++ 최적화 저서 또한 검증된 연구 노트를 열어본 느낌이다. 저서의 핵심을 어떻게 최적화를 것인가 의문에서 시작한다. 특히 C++ 코드의 행동 패턴을 참조해 C++ 프로그램을 최적화하는 내용을 다룬다. 임베디드 C++ 개발자 경력을 가지고 있으며 성능 향상을 위한 경험사례들을 이야기해 준다.


최고 성능을 구현하는 10가지 검증된 기법 내용으로 

1. 성능에 영향을 주는 컴퓨터 하드웨어 기본 지식

2. 프로파일러와 소프트웨어 타이머를 활용한 측정 기법

3. 최신 C++에서 문자열의 기능을 최적으로 조합하는 방법

4. 비효율적인 알고리즘을 개선하고 C++ 코드의 행동 패턴을 참조해 최적화하는 방법

5. 동적 할당 변수를 제대로 사용하고 메모리 관리자의 호출 횟수를 줄이는 방법

6. 실행에 불필요한 명령어를 제거하여 문장 수준에서 최적화를 이루는 방법

7. 처음부터 고성능을 목표로 하는 라이브러리를 설계하는 방법

8. C++ 컨테이너 클래스의 장단점을 이해하고 활용하는 방법

9. C++ 스트리밍 입출력 함수를 효율적으로 사용하는 방법

10. 성능 저하를 일으키는 요인을 찾아내고 수정하는 방법

10가지 기법 중심으로 C++ 설계의 모범 사례를 올바른 코드로 구현하는 방법을 다룬다. C++ 설계를 훌륭하게 구현하면서 올바른 코드를 작성해 거의 모든 컴퓨터에서 실행 속도가 빠르며 자원을 적게 사용하게 바꾸는 방법을 설명하고 있는 점이 책에 장점인데요.




최적화라는 분야는 소프트웨어나 하드웨어를 개발하는 필수적인 요소라고 생각한다. 책은 C++ 설계의 모범 사례를 올바른 코드로 구현하는 방법을 다룬다. C++ 설계를 훌륭하게 구현하면서 올바른 코드를 작성해 거의 모든 컴퓨터에서 실행 속도가 빠르며 자원을 적게 사용하게 바꾸는 방법을 설명한다. 주로 설명 글로 되어 있어서 번에 최적화를 마스터하기엔 방대한 양이다. 차근차근 설명을 보고 챕터 속에 작은 상자에 속에 다양한 코멘트 같은 정보들이 담겨 있다. ‘ 잠시 멈추고 생각해봅시다’, ‘최적화 전쟁 이야기 알찬 정보들을 얻을 있는 연구 노트이다. 




저서는 C++11 기준으로 설명하고 있으며, 실무에서 C++ 사용 중인 신입, 주니어 개발자에게 도움이 것이다. 하지만 지금의 C++17 릴리즈에도 적용되는 내용이다. 실제 테스트해보고 어떤 것이 효율적인지 어떤 것이 빠르게 연산하는지 확실한 답을 해준다. 단순히 최적화에 대해서 설명해 주는 쉬운 수준의 책이 아니다 컴퓨터 하드웨어 메커니즘에 대한 이해가 어느 정도 있어야 한다. C++ 문법을 전체적으로 파악하고 있거나 실제 여러 코딩 경험이 있는  어느 정도 문법적 지식과 동작 원리를 알아야 도움을 받을 있다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
프로그래밍 면접 이렇게 준비한다 - 4판
존 몽건 & 에릭 기게리 & 노아 수오야넨 킨들러 지음, 서환수 옮김 / 한빛미디어 / 2019년 7월
평점 :
장바구니담기


이 글에는 스포일러가 포함되어 있습니다.



취업하기 위해선 거쳐 가야 하는 관문이 있다. 그건 바로 면접이다. 다양한 면접 후기들을 인터넷에서 볼 수 있지만, IT분야를 지원하는 사람들에게 딱 좋은 면접 후기를 보기는 하늘의 별 따기라고 생각한 적이 있다. 그러다가 프로그래밍 면접 이렇게 준비한다를 저서를 만나는 순간 이때 동안 몰랐던 부분 알려주는 길 안내서 같았다.




구직을 준비하는 단계부터 인사 지원 절차, 전화 면접, 문제 접근법, 면접 질문 등등 알찬 내용을 담고 있다. 처음 시작하는 문구부터 이 저서에서 손을 놓지 못하고 계속 읽게 되었다. 그 문구는 바로 너 자신을 알라프로그래밍 분야도 다양하다 정확히 내가 지원하는 분야가 어떤 부분이고 내가 좋아하는 부분이 어떤 것인지 다양한 예시를 제시해준다.


그리고 면접을 준비를 위한 나의 팔릴 만한 능력에 대해서 이야기한다. 꼭 길 안내서에서 목적지를 가기 위한 준비물을 알려준 것 같다. 회사 필요한 직원은 일을 제대로 해낼 줄 아는 개발자이다. 무엇인가 이뤄낼 수 있는 능력이 필요하다고 말한다.


전화 면접에 대한 이해에서 면접자가 갖춰야 하는 자세, 준비 사항, 면접 질문 등을 만나 볼 수 있었다. 최대한 그 질문에 대한 상세한 설명을 담고 있다. 그러면서 자연스럽게 그 질문에 대해 꼼꼼히 생각하는 시간도 가질 기회였다.


프로그래밍 개발자라면 코딩 문제를 답을 찾아가야 한다. 코딩 문제는 면접 합격 여부를 가리는 가장 중요한 요인 중 하나이다. 문제는 당연히 어렵다. 그래서 프로그래밍 문제 접근법에 자세하게 설명하고 있다. 문제를 풀 때는 면접과 의사소통 또한 하나의 팁이다. 제일 먼저 할 일은 문제를 확실히 이해하고 있는지, 적절한 알고리즘 선택 그 알고리즘이 예제에 잘 들어맞는지 확인까지 이야기하고 있다.



연결 리스트, 트리와 그래프, 배열과 문자열, 재귀 호출, 정렬, 동시성, 객체지향 프로그래밍, 디자인 패턴, 데이터베이스, 그래픽스와 비트조작 등 주제마다 대표적인 문제로 구성되어 있다. 프로그래밍 언어는 매우 다양한데 주로 C/C++, JAVA, C# 등 최대한 다양한 언어로 문제 풀이해 준다.


또한 머신러닝, 딥러닝, 인공지능 분야의 기술 발전에 다른 데이터 과학, 난수 그리고 통계학 등 설명해 줌으로써 통계학에 익숙하지 않은 내용에 대한 개념을 잡는 데 큰 도움을 받을 수 있다.


이뿐만이 아니라 지식 기반 문제, 기술과 무관한 질문에 관해서도 알려주고 있다. 이 책의 핵심은 적어도 프로그래밍 면접을 보는 면접자라면 각 챕터로 구성된 주제에 대한 핵심은 알고 있어야 하는 부분을 일깨워 주는 것 같다. 그리고 챕터마다 끝나는 부분에 요약이 있다. 이 요약은 왠지 주제에 대한 핵심을 한번 꼬집어 주는 코멘트 같아서 좋았다.



이 책의 매력은 프로그래밍 면접 성공을 위한 기술과 접근법을 가르친다. 하지만 주어진 문제를 스스로 풀어보지 않으면 아무 소용이 없다. 문제를 풀어가면서 막힌 부분들을 해결해 나아가는 능력을 만들어주는 책이다. 마지막으로 비전공자분들에게도 이 책을 추천하고 싶다. 프로그래밍 개발자를 시작하는 사람들에게도 결국에 목적지는 회사 취업이다. 시작하는 단계에서 면접까지 많은 부분을 준비해야 한다.


하지만 어떤 부분을 어떻게 준비해야 하는지 모른 사람들이 많이 있다. ‘프로그래밍 면접 이렇게 준비한다책을 통해 어떻게 준비하고 공부해야 하는 지 알아갈 수 있는 시간이었다. 그리고 글로벌 구인구직이 활발해지고 있는 상황에서 번역서의 힘은 최고라고 생각한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
맛있는 디자인 애프터 이펙트 CC 2019 - 누구나 쉽게 배워 제대로 써먹는 그래픽 입문서 맛있는 디자인 시리즈
이수정 지음 / 한빛미디어 / 2019년 5월
평점 :
구판절판


이 글에는 스포일러가 포함되어 있습니다.


급속히 발전하는 문화 중에 인기는 1인 미디어 시대라고 말할 정도로 영상 문화가 많이 발전했습니다. 그러면서 제 주위에도 취미로나 아님 본업으로 영상에 관련해서 배우고 싶어하는 사람들이 많이 생기고 있는데요.



이번 맛있는 디자인 애프터 이펙트 CC 2019’에서는 누구나 쉽게 배워서 사용할 수 있는 영상 기술들을 3단계 학습으로 구성하고 있어서 부담을 없이 볼 수 있는 게 이 저서의 큰 장점입니다. 애프터 이펙트를 처음 시작하기, 기본편, 활용편 이렇게 3단계로 구성 되어 있어서 자신에 상황에 맞춰서 부족한 단계부터 채워 갈 수 있습니다.


초반에는 영상 그래픽이 어떤 방식으로 실무에서 일을 하는지 현실적인 대화 형식으로 말해줍니다. 실무에 대한 전체적인 프로세스를 보여줌으로써 이해도가 빠르고 큰 틀을 볼 수 있어서 영상 그래픽에 대해 알아 갈 수 있는데요.


책의 제목처럼 맛있는 디자인 레시피를 알려줍니다. 우리가 요리하는 전에는 가장 필요한 게 재료인데요. 재료 관리에 속한 Project 패널에 대한 설명, 요리 재료를 가지고 요리하는 도마 같은 작업 공간 Timeline 패널, 요리의 완성된 모습을 볼 수 있는 Composition 패널 등에 대한 인터페이스 설명으로 시작합니다.




이뿐만 아니라 Info, Preview, Effects&Presets 등 다른 패널에 대한 설명까지 있어서 기초가 부족하다고 생각하는 독자분들에게 알찬 내용들로 구성되어 있으며, 중간중간에 나오는 기능 익히기, 한눈에 실습, 간단 실습으로 많은 정보들을 얻어 갈 수 있습니다.


기본편에서는 확실히 모션 그래픽을 위한 기본을 잡아주기 위해서 각각의 인터페이스에 대한 자세하게 설명해 줘서 패널들이 어떻게 사용되는지 뭐 하나 놓치지 않고 보는 재미가 좋았는데요. 여기서 핵심적으로 보아야 되는 부분은 기능 꽁꽁 익히기라고 생각합니다. 각 속성에 대한 상세한 설명이 있어서 어떤 부분에 이 속성을 적용하는지 이해하기 쉬웠습니다. 예전에는 사용한 속성만 사용했는데 다른 속성에 대한 기능들을 알 수 있어서 좋았습니다.



활용편에서는 기본편 느낌하고 다르게 본격적으로 하나의 작품을 만드는 느낌으로 실습이 진행되는데요. 여기서 핵심적으로 사용되는 기능들을 설명해주고 초반에는 귀여운 체크박스로 그 기능에 대한 버전까지 센스 있게 알려줍니다. 꿀팁으로 애프터 이펙트 CC 2019에서 새로 나온 신기능까지 배울 수 있습니다.



가장 매력 있었던 부분은 실습하는 프레임마다 한눈에 볼 수 있게 속성 값을 표로 제시해주는데요. 한 단계씩 따라 하면서 기능들을 배워가는 과정들이 즐겼습니다. 초반에 기본편을 확실하게 익혀 두면 활용편에서 실습을 통해 어떤 기능들이 이용되는지 알기 쉽고 나중에 나만의 작품으로 만들 수 있을 것 같은 느낌이 듭니다.


활용편에서 알찬 내용을 담고 있는 이유가 베이직 애니메이션부터 비디오, 3D, 특수효과까지 다양한 애니메이션에 대한 내용이 있어서 영상을 시작하시는 분이랑 영상에서 대해 다양한 기능을 배우고 싶은 독자분들에게 추천합니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
모던 웹을 위한 HTML5+CSS3 바이블 - 3판, 표준을 적용한 480개의 코드로 배우는 웹 페이지 제작의 모든 것
윤인성 지음 / 한빛미디어 / 2019년 5월
평점 :
장바구니담기


이 글에는 스포일러가 포함되어 있습니다.


오랜만에 성취감을 맛볼 수 있는 책을 만났습니다. 바로 모던 웹을 위한 HTML+CSS3 바이블 3이에요. 비전공자 출신으로 항상 혼자 공부하면서 좀 더 알차게 기본적인 틀을 쌓아가고 싶다는 생각을 많이 했는데요.


이 책을 만나면서 하루에 chapter 1개 정도의 분량으로 20일에 끝내는 학습 계획표가 있어서 목표를 잡고 공부할 수 있는 동기를 만들어주는 느낌이 좋았어요. (자기에 맞게 플랜을 짜면서 공부할 수 있습니다.)


처음 시작하는 단계에서 독자들의 흥미?? 호기심을 자극하는 웹에 대한 역사가 들어있어서 약간의 신선하다는 느낌을 느낄 수 있었습니다.


책의 가장 큰 구성으로 장마다 무엇을 배우나요?, 미리 보기, , 연습문제라는 큰 구성을 가지고 있어서 시작과 끝을 확실히 맛볼 수 있으며, 결론부터 말씀드리면 한 챕터 시작과 마무리를 지으면서 결과값을 나왔을 때 완성한 자신의 모습을 보면 학창시절 느꼈던 성취감을 느낄 수 있어서 좋았습니다.


기본적으로 알고 있어야 하는 HTML 태그들을 먼저 알려줍니다. 공부를 첨 시작하는 사람들에게도 더 기본적인 지식을 쌓고 싶은 사람들에게 한눈에 알아볼 수 있게 태그들을 설명하시고 알록달록한 느낌으로 그 태그에 대한 정확한 포인트를 집어주는 느낌 가독성이 좋아서 쉽게 HTML에 다가갈 수 있었습니다.


솔직히 직관적으로 보여주는 포인트가 맘에 속 들었어요.



, 한 챕터를 공부하시다가 보면서 중간에 틈틈이 나오는 팁 부분은 놓치지 않고 보면 웹 분야에 대한 지식재산??을 쌓을 수 있는 느낌을 받았습니다.


경험담으로 HTML 챕터에서 이미지 크기에 대한 팁 설명이 있는데요. 웹페이지 구상에서 이미지가 정확하게 정해지지 않았을 경우, 사이즈만 알고 있을 때가 가끔 있어서 항상 고민하던 중 유용하게 사용할 수 있는  placehold.it 사이트를 알려주셔서 감사합니다.



이미지가 정확하게 안 정해져 있을 때 사이즈만 알고 있으면 미리 적용할 수 있어서 큰 틀을 간편하게 짤 수 있는 게 큰 도움을 받을 수 있습니다.


더 나아가 이 책의 핵심은 CSS에 있다고 생각하는데요.


비전공자 입장에서 혼자 공부하다가 보면 항상 알고 있는 부분의 선택자, 속성으로만 웹페이지를 만드는 경향이 생기는데 이번엔 CSS에 대한 전반적인 숲을 본 기분이라고 표현할까요CSS3 선택자 기본부터 스타일 속성까지 다루면서 몰랐던 선택자랑 스타일 속성을 배울 수 있어서 흥미로웠습니다.



차근차근 공부 하다 보니 알차다는 생각했던 부분은 레이아웃에 대한 구성인데요. 웹디자인을 하기 위해 기본적인 레이아웃을 구성할 수 있어야 하는데 다양한 스마트폰, 태블릿PC, 소셜커머스 메인 페이지 등 예제를 통해 경험할 수 있습니다.


또한, 독학으로 공부하다가 보면 해외 레퍼런스를 자주 보게 되는데 가끔 사용되는 규칙들이 있어서 이게 뭔지 하고 궁금증을 가지고 있다가 이번 책을 통해 제대로 알아 갈 수 있는 시간이 되었습니다. 그래서 입문자뿐만 아니라 CSS3에 대해 심도 있는 공부를 원하시는 독자분들에게 추천하고 싶습니다.


웹 디자인을 첨 시작하는 사람이라서 코드랑 친해지기 우선이라고 생각하면서 다른 사람들이 작성하신 소스를 보면서 왜 이 부분에서 이런 코드를 사용할까궁금했던 적이 많은데 모던 웹을 HTML+CSS3 바이블을 위한 3판을 통해 정확하게 코드를 읽을 줄 알고 그 내용을 알아갈 수 있는 부분이 좋았습니다.


이 책으로만 공부하시다가 살짝 어렵다고 생각하신 독자분들을 위해 윤인성 저자님께서 훈훈한 목소리로 강의 영상 제공해줘서 쉽고 빠르게 HTML+CSS3를 마스터하실 수 있습니다. (https://www.youtube.com/c/윤인성)


이 책에서 기억하세요말을 자주 보실 수 있는데요. 초반에 책 설명 중에서 윤인성 저자님께서 하신 말씀 중에서도 외우라는 얘기가 아니라 이러한 기능이 있다는 것을 알아두라는 뜻입니다.’라고 하신 말씀이 공부하면서 공감이 가장 느꼈습니다.



깨알같은 공부법도 알려주시고 꼭꼭 HTML+CSS3를 공부하면서 자바스크립트도 공부도 병행하기 바라는 당부의 말씀도 있는데요. 처음 시작하시는 입문자님 살짝 두꺼운 책을 만나고 당황하시지 마시고 같이 모던 웹을 공부하면서 마지막에 느끼는 성취감을 경험해보아요.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 1 | 2 | 3 |다음 다음 | 마지막 마지막