처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 | 5 |다음 다음 | 마지막 마지막
한 권으로 끝내는 딥러닝 텐서플로 - 회귀분석에서 강화학습까지 최고의 딥러닝 입문서
바라스 람순다르.레자 자데 지음, 장정호 외 옮김 / 한빛미디어 / 2018년 11월
평점 :
절판


오늘 서평을 할 책은 "Tensorflow for Deep Learning" 이라는 책이다. IT에 종사하는 사람으로써 최근 많은 이슈가 되고 있는 AI에 대해 기초적인 지식이라도 알아야 하지 않을까 라는 생각을 가지고 있던 중 한빛미디어의 "나는 리뷰어다" 이벤트에 응모하여 운좋게 이러한 서평을 쓸 수 있는 기회를 가지게 되었다.

이 책을 한마디로 요약하면 구글에서 개발한 TensorFlow 오픈소스 라이브러리 (신경망과 같은 머신 러닝 어플리케이션에서 사용)를 예제로 사용하는 딥러닝 입문서이다. 이 입문서에는 다음의 내용이 포함되어 있다.

* 딥러닝을 학습하는데 필요한 기초 지식 설명

* 딥러닝의 다양한 아키텍쳐 설명

* TensorFlow을 이용하여 실제 딥러닝 수행

* 딥러닝 적용 시에 유의해야할 사항들

결론만 말하자면 이 책은 현재 나의 수준에서 이해하기에는 어려운 책이었다. 이 책의 내용을 이해하고 실제 TensorFlow를 실전에 사용하기 위해서는 AI 영역에서 사용되는 수학 지식들 (행렬, 확률 & 통계, 미분 등등)을 알아야 하며 기본적으로 AI, 머신 러닝, 딥 러닝에 대한 기본 개념을 알고 있어야 한다. 그렇지 않으면 이 책에서 설명하는 각종 개념들과 그래프, 지표들의 의미를 이해하는데 어려움이 있다.

하지만 AI에 관련된 기본 개념들을 이미 알고 있는 데이터 과학자들이 참고하기에는 괜찮은 책인 것 같다. 딥러닝 을 실제 TensorFlow 샘플 코드를 통해 수행해볼 수 있고 딥러닝 중 경험할 수 있는 여러 문제들을 미리 파악할 수 있기 때문에 실제로 실전에서 딥러닝을 사용할 때에 시행착오를 줄일 수 있을 것이다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
이것이 C++이다 - 강의 현장을 그대로 옮긴 C++ 입문서 (무료 인터넷 강의, Q/A를 위한 네이버 C++ 카페 운영)
최호성 지음 / 한빛미디어 / 2016년 1월
평점 :
장바구니담기


지금은 프로그래밍 언어의 시대라고 불러도 좋을 만큼 세상에는 수많은 언어들이 존재한다. 그 수많은 언어들 중에서도 오랫동안 사랑받으며 지금까지 활발히 사용되는 언어가 있는 반면 몇몇은 미쳐 개발자들에게 사용되기도 전에 사라져버리기도 한다.

C++은 1983년 Bjarne Stroustrup에 의해 클래스를 가진 C언어("C with Classes")라는 개념으로 세상에 등장하여 지금까지도 널리 사용되고 있는 프로그래밍 언어다. 그 역사가 오래된 만큼 Unix를 포함한 수많은 소프트웨어들이 C++을 기반으로 개발되었으며 또한 현재 존재하고 있는 대부분의 프로그래밍 언어들에게도 많은 영향을 주었다. 비록 최근에 등장한 언어들에 비하면 복잡하고 배우기 어려울 수 있으나 한번만 제대로 배워두면 User Application에서 OS나 Driver 등의 로레벨에 이르기까지 많은 분야에 사용할 수 있다. 그리고 최근 언어들도 C++이 제공한 개념들을 많이 참고하기 때문에 C++과의 차이점을 중점적으로 공부하면서 학습 시간을 단축할 수 있다.

개인적으로 생각하는 C++을 공부해야 하는 이유
* 최신 언어들을 쉽게 익힐 수 있다.
* 역사가 깊은 만큼 많은 오픈소스와 라이브러리가 존재한다.
* 성능이 우수하다. (대부분의 최신 언어들은 성능 향상을 위해 C/C++로 작성된 코드를 사용할 수 있는 방법을 제공한다.)
* 대부분의 OS들은 C/C++로 작성되어 있다.

이 책의 저자는 수많은 강의를 통해 얻는 풍부한 경험을 기반으로 C++의 주요 특징들을 간단 명료하게 설명하고 있다. 개인적으로 마음에 드는 부분을 정리하면 다음과 같다.
* 각 장마다 핵심 개념 목록을 적어두어 독자가 무엇에 집중해야 하는지를 명확히 알 수 있다.
* 핵심 사항 강조 처리 (추후 복습 시 시간 절약 가능)
* 간단 명료한 샘플 코드를 통해 핵심 개념을 이해하기 쉽게 설명한다.
* 인터넷 카페를 통한 Q/A 및 동영상 강좌 제공

최근 입사하는 신입 사원들을 보면 대부분 C/C++를 배운 적이 없다. 그리고 당장 현업에 적용할 수 있는 언어들을 빨리 배워서 사용하기를 원한다. C/C++은 현재 대부분의 소프트웨어가 동작하는 OS를 작성하는데 사용된 언어이다. 최근 언어들보다 OS나 하드웨어 쪽에 가깝기 때문에 최근의 프로그래밍 언어들에 비하면 배우기 어렵다. 하지만 알아두면 직접 사용하지 않더라도 소프트웨어 전반적인 개발을 진행하는데 많은 도움이 된다. "이것이 C++이다" 는 그 시작점으로써 좋은 선택이라고 생각된다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
마이크로서비스 아키텍처 구축 - 대용량 시스템의 효율적인 분산 설계 기법
샘 뉴먼 지음, 정성권 옮김 / 한빛미디어 / 2017년 3월
평점 :
구판절판


제목을 보면 "마이크로서비스"라는 생소한 단어가 포함되어 있는데 이 책의 정의에 따르면 마이크로서비스란 "작고 자율적으로 협업하는 서비스"를 의미합니다. 즉, 이 책은 전체 시스템을 자율적으로 협업하는 조그마한 서비스들로 나누어 구축하는 방법에 대해 설명하고 있습니다. 각 마이크로서비스들은 각각 별도의 독립된 프로세스 상에서 동작하며 서로 간의 모든 통신은 네트워크 호출을 통해 이루어집니다.


마이크로서비스 구조를 적용하게 되면 다음의 혜택을 얻을 수 있습니다.

- 기술 이기종성: 각 마이크로서비스들은 자신 만의 최적의 기술을 선택할 수 있습니다.

- 회복성: 한 서비스에서 장애가 발생하더라도 전체 서비스로 장애가 전파되지 않도록 차단할 수 있습니다.

- 확장성: 필요한 서비스만 확장이 용이합니다.

- 배포 용이성: 작은 서비스로 분리되어 있는 경우 나머지 시스템과 독립적으로 한 서비스만 변경하여 배포가 용이합니다. 배포 시 문제가 발생하더라도 해당 서비스만 복구하면 되기 때문에 해당 문제를 쉽게 격리할 수 있습니다.

- 조직 부합성: 시스템 아키텍처를 조직의 구조에 맞추어 변경하기가 쉽기 때문에 생산성이 증가됩니다.

- 조합성: 서비스가 작게 분리되어 있기 때문에 재사용성이 향상됩니다.

- 대체 가능성을 위한 최적화: 각 서비스들의 크기가 작기 때문에 나중에 서비스를 재작성하거나 제거하기가 쉽습니다.

즉, 마이크로서비스 구조를 적용함으로써 나중에 새로운 기능이 추가되거나 요구 사항이 변경되어도 쉽게 수정 및 배포가 가능한 시스템을 만들 수 있습니다.


저자는 마이크로서비스 구조 시스템을 개발하면서 단계별로 고려해야할 중요 사항들과 빠지기 쉬운 함정들을 실제 예제와 그림 등의 부가 자료를 통해 명료하게 설명합니다.

- 1장 마이크로서비스

- 2장 아키텍트의 역할

- 3장 서비스 모델링하기

- 4장 통합

- 5장 모놀리스 분리하기

- 6장 배포

- 7장 테스팅
- 8장 모니터링
- 9장 보안
- 10장 콘웨이의 법칙과 시스템 설계
- 11장 대규모 마이크로서비스
- 12장 종합 정리

[ 결론 ]
소프트웨어 공학과 관련된 전문 용어도 많고 시스템 아키텍처와 관련된 광범위한 내용들이 포함되어 있다보니 쉽게 이해하고 넘어가기 편한 책은 아니었습니다. 그리고 번역서이다 보니 일부 영어 번역이 어색하거나 이해하기 난해한 부분도 있었고 몇 군데 오타나 단어가 누락된 부분도 확인할 수 있었습니다. 하지만 대부분의 번역은 이해하기에 큰 어려움이 없었습니다. 또한 역자분이 별도로 추가 설명을 달아주신 덕에 전문 용어를 이해하고 책에 언급된 기술의 내용을 확인하는데 많은 시간을 절약할 수 있었습니다.


이 책은 아키텍트라면 지속적으로 진화 가능한 아키텍처 설계를 위해 옆에 두고 꾸준히 참고해야할 도서라고 생각합니다. 그리고 단순 개발자에서 벗어나 아키텍트로 성장하기를 원하시는 분들께도 새로운 안목과 통찰을 얻는데 많은 도움이 될 것으로 확신합니다.


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