처음 처음 | 이전 이전 | 1 | 2 | 3 |다음 다음 | 마지막 마지막
이것이 자료구조+알고리즘이다 with C 언어 - 문제 해결 능력을 키워주는 자료구조+알고리즘 입문서 이것이 시리즈
박상현 지음 / 한빛미디어 / 2022년 8월
평점 :
장바구니담기


#자료구조 #알고리즘 #리뷰

“이것이 자료구조+알고리즘이다 with C 언어” 도서를 소개합니다.



소프트웨어 업종에서 이직을 위한 코딩 테스트를 피할 수 없는 부분이다. 코딩테스트는 좋은 소프트웨어 개발자를 고용하고자 하는 기업의 선별 기준된 것은 분명하고, 지인에게 듣기에도 꽤 유명한 IT 회사 이직에서 좋은 경력을 가졌음에도 코딩 테스트 벽에 부딪혀 탈락의 고배를 마신 이들이 꽤 된다고 들어서 중요도가 매우 높아졌다. 굳이 이직을 거론하지 않아도, 생산성에 대한 고찰과 리뷰 문화 확대로 자료구조와 알고리즘의 중요성은 중요해지지 않았던가.... 어쩃든 자료구조와 알고리즘은 개발자의 실력을 비교하는 기준이 된 것은 사실로 보입니다.

기대했던 내용

"이것이 자료구조+알고리즘이다 with C 언어”을 리뷰하기 직전에 도서에서 기대한 내용들이 있었습니다. 자료 구조와 알고리즘에 대한 기본에 충실한지, 이론을 실습할 수 있는 문제는 풍부한지, 알로리즘 최적화에 대한 내용도 풍부했으면 했고, 자료구조와 알고리즘을 설명을 얼마나 쉽게 전달할 수 있는지…에 대한 부분이었죠.

목차를 살펴보면 기대에 부합되는 내용들이 포함되어 있는 것을 알 수 있었습니다. 이 책은 총 14장으로 구성되어 있고, 

- Chapter 01 리스트

- Chapter 02 스택

- Chapter 03 큐

- Chapter 04 트리

- Chapter 05 정렬

- Chapter 06 탐색

- Chapter 07 우선순위 큐와 힙

- Chapter 08 해시 테이블

- Chapter 09 그래프

- Chapter 10 문자열 탐색

- Chapter 11 알고리즘 성능 분석

- Chapter 12 분할 정복

- Chapter 13 동적 계획법

- Chapter 14 탐욕 알고리즘


매 챕터 시작에서는 이 장에서 배워야 하는 내용을 소개하고, 어떤 flow로 전개할지를 보여줍니다. 자료구조나 알고리즘을 어느 정도 아는 이들도 후반기 내용을 가면서 다시 심화 내용으로 이어지기 때문에 이런 내용 전개는 중요하다고 생각됩니다.


자료구조와 알고리즘 이론에 대한 탄탄한 이론과 함께 풍부한 그림 사용은 독작의 이해도를 높여줍니다. 단순하게 도식화된 이미지들이 굉장히 많이 삽입되어 있습니다. 또한 탄탄한 이론 설명에 이어 이를 실습할 수 있도록 예제 프로그램을 함께 작성하여 설명을 진행하고,

마지막으로 연습문제로 학습한 내용을 되새김하는 것 또한 좋았습니다.

장단점

- 기본 이론에 충실

- 풍부한 그림 삽화를 통한 이해도 증대

- 예제와 연습문제로 기억의 암각화

탄탄한 이론 설명과 실습 제공 위주로 내용이 구성되어 있다는 점이 이 책의 가장 큰 장점이라고 생각합니다. 모든 이론 도서의 특성상 다소 지루해질 수 있으나, 인내를 가지고 “따라해보기” 과정이 반드시 필요합니다. 파트 1, 2를 통해 주요 자료구조와 알고리즘을 이해하고, 마지막 파트 3를 통해 알고리즘 최적화를 포함한 심화 내용으로 이어집니다.


마무리

사실 자료구조와 알고리즘 도서는 오랫동안 꽤 많이 출간되었습니다. 그럼에도 불구하고 도서의 심화내용까지 숙지하고 있는 이들은 상대적으로 비율이 적죠. 본 서적은 자료구조와 알고리즘에 대한 탄탄한 이해도와 실제 활용에 대해서 체계적으로 정리된 한 권의 도서라고 말씀드리고 싶습니다. 한 권쯤은 책장에 구비해두고 필요할때마다 레퍼런스해서 보기 좋은, 또한 인내를 가지고 읽고 실습을 통해 내용을 숙지한다면 분명한 가치를 가지는 도서여서 구매력이 충분한 도서라고 말씀 드리고 싶고 보다 나은 개발자로 레벨-업 될 것으로 사료됩니다.



"한빛미디어 출판사의 리뷰 활동을 위해서 책을 제공받아 작성된 서평입니다."



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
도커, 컨테이너 빌드업! - 최적의 컨테이너 서비스를 위한 도커 활용법 I♥Cloud (아이러브클라우드) 21
이현룡 지음 / 제이펍 / 2021년 12월
평점 :
장바구니담기



제이펍 출판사의 "도커, 컨테이너 빌드업!" 도서를 소개합니다.


도커(Docker)는 서버 관리를 효율적으로 관리할 수 있게 개발된 오픈 소스 컨테이너 가상화 플랫폼으로, 서비스 플랫폼만이 아니라 임베디드에서도 개발 플랫폼 관리를 위해서도 사용이 되고 있고, 이제는 개발자들이 기본적으로 숙지해야 기술 요소가 되었습니다. 물론 도커가 유일의 컨테이너화 플랫폼은 아니고, 가령 십여년 전에 보안 요구사항으로 LXC 기반의 TV 플랫폼 제품들도 나왔었죠. 당시 리눅스 컨테이너 기반으로 개발을 해본 경험을 가진 이들은 개발과정과 안정화 단계에서 꽤 고생을 경험했으리라 생각됩니다. 이와 반대로 도커가 지금의 인기를 얻게 된 것은 무엇보다 높은 이식성(portability)과 다른 시스템과의 높은 상호운영성이지 않을까 싶습니다.

기대했던 내용

"도커, 컨테이너 빌드업!"을 리뷰하기 직전에 도서에서 기대한 내용들이 있었습니다. 컨테이너 기술과 도커의 기본적인 사용법 이외에도 클라우드 시스템에서 실제 도커의 활용과 마이크로서비스 아키텍처(MSA) 설계를 고려한 활용, 이왕이면 쿠버네티스와 Docker Swarm의 비교까지 커버되면 좋겠다라는 기대가 있었죠. 가령, 컨테이너 교육으로 기본과정으로 도커를, 심화과정으로 쿠버네티스로 구성하는 경우가 있는데, 기본적인 내용 뿐만 아니라 심화 과정의 일부 내용와 실제 활용을 포커스해서 도서의 내용을 구성하면 좋겠다라는 생각이었죠. 추천사를 읽어보니 기대했던 내용이 예상되었습니다 - “도커 컨테이너의 설치, 활용, 배포를 학습하고 AWS에서 사용해 보는 방법이 포함된 이론 및 실습서" (https://jpub.tistory.com/1225) 또한 목차를 살펴보면, 이 또한 저의 기대에 부합되는 내용들이 포함되어 있는 것을 알 수 있었습니다.

- CHAPTER 01 클라우드 컴퓨팅 1

- CHAPTER 02 도커 설치 25

- CHAPTER 03 컨테이너 서비스를 위한 도커 활용 57

- CHAPTER 04 컨테이너 환경 구성을 위한 Dockerfile 구성 153

- CHAPTER 05 도커 컴포즈 도구를 이용한 다중 컨테이너 애플리케이션 서비스 배포 217

- CHAPTER 06 AWS 클라우드를 활용한 컨테이너 서비스 배포 251

- APPENDIX 도커 스웜 모드 클러스터 활용 329

왜 도커 컨테이너 서비스일까?

Build once, run anywhere

도커가 왜 인기가 높을까? “Build once, Run anywhere”라는 컨셉은 도커(Docker)를 정확히 말해줍니다.



컨테이너 서비스를 위한 도커 활용

5장에서는 도커 컴포즈(Docker compose)로 실제 사용을 준비합니다.



도커 자체만으로는 한 개의 컨테이너가 하나의 어플리케이션을 담고 있어서 서로 의존성이 있는 다수의 어플리케이션, 즉 다수의 컨테이너를 실행할 때 여간 불편한게 아닙니다. 도커 컴포즈는 YAML 코드를 통해서 컨테이너 간 실행 순서와 의존성을 관리할 수 있기 때문에 이런 불편한 점을 해결할 수 있습니다.

기본기 충실, 풍부한 실습, 운영과 배포 응용

본 도서의 장점이라고 하면 기본기 충실할 뿐만 아니라 풍부한 실습과 실제 운영과 배포 응용 위주로 내용을 구성되어 있다는 점이라고 생각합니다.

저자께서 강의 경력도 꽤 있지 않을까라는 생각이 드는 이유는 마치 컨테이너 교육에서 배우듯이 기본기와 응용 확장으로 도서가 서술되어 좋았습니다. 본격적으로 학습이 시작되는 3장부터 하나하나 따라하면 도커의 기본기를 익힐 수 있습니다. 물론 도커라는 tool 특성상 수많은 명령어와 옵션들이 존재하기 때문에 “따라해보기”가 필요하고, 이는 인내가 요구되는 과정이지요.

응용면에서도 내용 기술이 좋습니다. 5장부터는 DevOps 관점에서 도커를 어떻게 응용할 수 있는지를 알 수 있고, 6장에서 AWS에서 서비스 구성은 운영과 배포 관리를 어떻게 해야 하는지를 익힐 수 있습니다. AWS 환경에서 Amazon ECR(Elastic Container Registry) 도커 레지스트리 서비스를 구성하고, ECS(Elastic Container Service) 오케스트레이션 서비스로 배포와 운영하는 것을 예로 진행하는 것은 실무에 상당히 유용하다고 생각됩니다. 



본문에서는 Nginx와 장고(Django) 어플리케이션 서비스를 클러스터링하는 것을 AWS ECS로 구현하는 것을 워크숍으로 두웠어요. EC2 인스턴스에 도커 설치나 네트워크 설정 등을 step-by-step으로 진행하기에 AWS 입문자가 보기에도 무리가 없이 내용을 구성했습니다.

부가적으로는 도커 스웜 (Docker Swarm)이 어떻게 사용되는지 궁금했는데, 이를 Appendix로 구성해서 이 또한 좋았습니다. 다만, “오케스트레이션 클러스터” 관점에서 “Kubernetes vs Swarm vs …”라는 비교가 존재하는데, Swarm이 얼마나 광범위하게 이용되는지는 모르겠으나 어쨌든 대세는 쿠버네티스인거 같습니다. 쿠버네티스 자체는 또다른 벽이기 떄문에 쿠버네티스에 대한 내용은 또다른 한권의 도서로 구성해야 되는 것은 맞겠지만, Swarm이 쿠버네티스와 비교하여 차이점은 무엇인지, 어떤 점이 장단점이 있는지가 덧붙였다면 좋았을거 같습니다.

마무리

사실 인터넷 블로그 등에서 도커에 대한 내용은 넘치고도 남습니다만, 도커의 사용법과 실제 배포와 운영에 대해서 체계적으로 정리된 한 권의 도서라고 말씀드리고 싶습니다. 그래서 구매력이 있는가라는 물음에는 책장에 구비해두고 필요할때마다 레퍼런스해서 보기 좋은 도서이고, 물론 인내를 가지고 읽고 실습을 통해 내용을 숙지한다면 비싼 학원 강의보다 높은 가치를 가지는 도서여서 구매력이 충분한 도서라고 말씀 드리고 싶습니다. 좋은 도서를 리뷰할 수 있었습니다.



"제이펍 출판사의 리뷰 활동을 위해서 책을 제공받아 작성된 서평입니다."



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
DNS 실전 교과서 - 기초가 탄탄해지는
와타나베 유이 외 지음, 이민성 옮김 / 제이펍 / 2021년 11월
평점 :
장바구니담기


#DNS #BIND

제이펍 출판사의 “DNS 실전 교과서: 기초가 탄탄해지는”도서를 소개합니다.

DNS는 학교에서 컴퓨터 네트워크와 같은 교육을 학습했다면 기본적인 네트워크 이론이라 치부하고 넘어가는 경우가 대부분입니다. 간혹 단말단의 resolve 이슈 정도로 종단 레벨에서 패킷캡쳐 정도만을 했었나... 굳이 DNA의 상세한 내용을 알아야 한다거나 하는 요구사항이나 학습 욕구를 불러일으킨 적은 없었습니다. 그러다 때마침 국내 대형 Telco쪽과 신규 클라우드 서비스 테스팅을 하다가 DNS 문제가 발생하였는데 Telco 엔지니어와 DNS 이슈가 꽤 오랜 기간 해결이 되지 않았던 개인적인 경험이 있어서 신간으로 출판된 “DNS 실전 교과서”를 정독하고 리뷰하고자 마음을 먹었습니다.

이책의 장점을 크게 3가지로 보고 있습니다.

첫째, 네트워크 입문 레벨에 철저히 맞춘 눈높이

둘째, 이론편을 통해서 DNS의 A-to-Z를 다루는 희소성을 가진 도서

첫째, DNS 운영에 대한 저자의 노하우를 실전편을 통해 독자에게 전수

> DNS 입문자의 눈높이에 맞춘 쉬운 설명

본 도서의 느낌이자 장점은 입문자 눈높이에 맞춰 알기 쉽게 쓰여졌다는 점입니다. 나름 대학원을 네트워크 분야로 전공을 하고 Stevens의 “TCP/IP Illustrated, Vol. 1/2”로 네트워크로 학습을 하고 논문을 썼으나, 관련 입문서를 경험한 적이 없어서 더욱 그러했을 듯싶습니다.


하지만 정말 놀란 부분은 최근 몇 년간의 IT 도서를 봐왔을 때 이렇게도 많은 그림과 도표를 사용하여 설명을 이어나간 도서가 있을까라는 감탄을 자아내게 만드네요. 그래서 내용과 별개로 방대한 그림 삽화를 기반으로 도서를 구성했다는 점은 칭찬하고 싶습니다. 철저히 입문자의 눈높이에 맞춰져 있다는 반증이기 때문입니다. 도서가 330페이지가 넘는 페이지의 반 이상이 그림과 표가 삽입되어 그림이 중심이 되어 글이 따라오는 구성으로 설명하도록 구성하여 독자의 이해도를 높이고 있습니다.



> DNS 포함하여 네트워크의 전반적인 동작을 알 수 있습니다

도서의 구성은 전체 14장 중에서 5장까지 이론편, 이후부터 14장까지 실전편으로 되어 있습니다. 이론편은 물론 DNS에 대한 이론을 담고 있으나, 네트워크의 전반적인 동작을 이해할 수 있다는 것이 본 도서의 또 다른 장점입니다.

다만 네트워크 이론을 전혀 모르는 네트워크 입문자들이 본 도서 한 권으로 네트워크를 정복할 수 있느냐라는 물음에는, 그 보다는 보조 교본으로 이용하였을 때 더할 나위 없이 좋은 도서라고 말씀 드리고 싶습니다.

> 회소성을 가진 DNS의 모든 것을 다룬 도서

또 한가지 중요한 사항은 본 도서가 그림과 도표를 많이 사용되었다고 하여 입문 도서로만 볼 수 있느냐…하면 그렇지도 않습니다. 아무래도 DNS에 특화되어 있는 도서이기에 레지스트리(Registry) / 레지스트라(Registrar), Name space와 name server, DNS 계층 구조, 리졸버(resolver)와 리소스 레코드 (Resource Record) 등 DNS 관련된 대부분의 이론을 담고 있기에 입문 뿐만 아니라 충분히 중급자용 도서라고 할 수 있습니다.

아마도 독자 대부분이 DNS가 이 정도로 많은 이론이 존재했던가 라는 의구심이 들 수 도 있을 겁니다. DNS and BIND라는 오렐리 도서가 DNS와 BIND 서버 운영에 대해서 그나마 상세하게 설명했던 기억이 납니다만, 그 뒤로 이도록 DNS라는 한가지 주제에 초점을 맞추어 구성한 도서는 없었기에 꽤나 희소성이 높은 도서라고 생각합니다.



> 실전편을 통해서 DNS 운영 노하우 전수

도서의 후반으로 갈수록 더욱 훌륭하다고 생각되는 부분은 실전편을 통해서 DNS 운영 노하우를 공개하고 있다는 점입니다. BIND와 같은 네임서버를 직접 운영하는 것 뿐만 아니라 실제로는 주로 KT에 등록하는 방법부터, 특히 KT DNS에 등록하는 경우 DNS 메시지들이 어떤 flow 가지고 동작되는지를 설명하고 있습니다.

특히 9장부터는 DNS 운용 시 이슈들, 가령 9장에서는 DNS에 특화된 사이버 공격들과 대책을 통해서 공격 대상과 수법에 대해서 미연에 예방할 수 있는 비법을 전수합니다.


11장에서는 그동안 배운 DNS 운용 시 발생할 수 있는 이슈들 – 설정 이슈나 방화벽, OS 접근 제한 등으로 발생할 수 있는 이슈들 -에 대해서 TroubleShoot 가이드 을 제공하고 있으며,


12장 또한 서버 이전 시 고려해야 되는 사항 – 도서에서는 DNS 이사라고 언급한 두가지 상황 – 또한 웹서비스를 운영한다면 맞닥뜨리게 되는 이슈이고 해결책을 제시하고 있습니다.










마지막으로 DNS 입문의 결정판이자 국내 유일의 DNS 전문서!...라는 출판사의 자신감 넘치는 서평처럼 꽤 오랜만에 DNS를 주제로 다루는 입문서가 출간되어 반갑습니다. IP 단말 개발이나 클라우드 기반 웹서비스 운영처럼 개발 요소에 네트워크 관련된 개발 업무를 하다보면 은근히 DNS 이슈들을 만나게 되는데, 앞서 언급했던 것처럼 자칫 DNS를 단순한 문제라고 치부하기에는 해결이 힘든 이슈들도 존재합니다. 분명 인터넷에는 꽤 많은 DNS 관련 이론들을 담고 있는 글들이 많아서 그때마다 인터넷을 뒤져가며 많은 시간을 쏟곤 하지만, "입문서"이자 packet flow를 비교적 정확히 안내해주고 이슈에 대한 트러블 슈팅 가이드해주는 "전문서"로써 "기초가 탄탄해지는 DNS 실전 교과서"를 한권 정도 소장하면 개발과 운영시 만나게 되는 이슈에 보다 든든하게 대처하리라 생각됩니다.

"제이펍 출판사의 리뷰 활동을 위해서 책을 제공받아 작성된 서평입니다."



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 배우는 딥러닝 챗봇 - 챗봇 엔진부터 NLP, 딥러닝, 파이썬, REST API, 카카오톡 연동까지
조경래 지음 / 한빛미디어 / 2020년 11월
평점 :
장바구니담기


#챗봇 #딥러닝 #NLP #자연어 #Flask

한빛 출반사의 “처음 배우는 딥러닝 챗봇”를 소개합니다.

 

“처음 배우는 딥러닝 챗봇”을 읽어보니 작년 프로젝트 요구사항 때문에, 다급했던 여기저기 찾아보고 연락을 했는데, 당시에 도서가 출간되었으면 큰 도움 받았을텐데...라는 생각을 하게 되더군요. 차기 제품 프로젝트에 들어가는 주요 기능 중에 음성인식과 챗봇 개발이 요구사항이 있었으나 이 방면에는 경험이 전무하기에 관련 기술을 급하게 찾아본 적이 있습니다. 두 기술 모두 유명 스타트업부터 이름만 들어도 알만한 회사에서 이미 솔루션으로 제품화 되어 있었죠. 사실 관련 기술의 기반 지식이 없는 회사에서 마케팅이나 기획팀 요구사항이 있다고 해서 뚝딱하고 기술 개발을 하기란 쉽지 않습니다. 그래서 당시에는 인터넷에서 뒤져본 글들이 정보를 얻는 대부분이었고 NLP와 챗봇을 동시에 다루는 깔끔한 도서가 없을까란 아쉬움이 이었습니다. 그래서 당시에 시기가 맞았다면 이 책을 읽었었다면 어느 정도 정리가 쉽게 되었을텐데...라는 생각을 가지게 되었습니다.

자연어 처리와 채봇 API를 동시에 다루고 있는 도서

말 그대로 본 도서는 자연어 처리와 채봇 API를 모두 다루고 있는 도서로 가장 큰 장점을 가집니다. 왜냐하면 솔루션 자체를 구현하는 업무를 하지 않는 이상 제품 개발은 안정된 오픈 소스나 솔루션의 API를 기반으로 구현될텐데, 기존에 자연어 처리를 다루는 도서들의 경우 인공지능 자연어 처리 자체를 주요 다루고 있다보니 이를 학습하기에는 만만치 않은 노력과 시간을 요구하죠. 하지만 챗봇 기능이 제품 개발에서 요구되는 기능 중의 하나인 경우 개발 시간도 충분치 않을뿐더러 코어(core) 기술을 확보하기 보다는 응용 기술을 구현하는 것이 현실입니다. 따라서 저와 같이 제품 개발을 위한 챗봇 구현 관점에서 보면 "처음 배우는 딥러닝 챗봇"는 자연어 처리와 채봇 API를 동시에 다루고 있기 때문에 이 모두를 원하는 내용이 모두 포함된 유용한 도서입니다.

 

구체적으로 어떤 내용들을 다룰까요?

 

- 파이썬 기본 문법

- 자연어 처리 소개

- 챗봇 엔진 개발

- 외부 API 연동

 

도서에서 소개하는 자연어 처리 프레임워크가 파이썬 기반이기 때문에 타 도서와 마찬가지로 도서 초반에는 파이썬 기본 문법을 다룹니다. 허나 예상했겠지만 파이썬 문법에 대해서는 자세한 내용보다는 주요 내용을 빠르게 진행하기에 파이썬 주요 문법은 숙지된 상태에서 본 도서를 학습하는 것이 낫겠죠.

 

자연어 처리 소개

본격적인 내용은 3장부터 자연어 처리 소개로 시작됩니다 3장 토큰 나이징과 4장에서 워드 임베딩, 기본이 되는 원-핫 인코딩와 Word2Vec 이론을, 5장에서는 텍스트 유사도를 소개합니다.

 

 

 

 

NLP라면 배워야 하는 순환 신경망(RNN, Recurrent Neural Network)와 LSTM와 같은 딥러닝 모델은 6장에서 다룹니다. 허나 DRNN이나 GRU, Attention까지 이론을 깊게 들어가진 않습니다. 여기까지가 전체 11장 중에서 6장까지 차지하는 내용입니다.

 

NLP 최신 이론을 깊게 들어가지는 않습니다. 가령 RNN와 LSTM에 대해서 상세한 이론 설명이 분명 있으나 최신 이론은 다루지 않습니다. 이런 기술 방향이 자연어 처리를 다루고 있는 도서와 비교하여 본 도서의 아이덴티티 구분해줍니다. 서두에서 본인의 경험을 말씀드렸는데, 본 도서는 빠르게 챗봇을 적용하고 싶은데 관련 이론에 대해서 습득하기를 원하는 독자에게는 더할 나위 없이 좋은 도서입니다. 가령 저처럼 경험이 전혀 없는데 기획팀과 마케팅 요구사항으로 제품개발을 하려보니 관련 기술 내용을 빠르게 훑고 이해하고자 하는 독자에게 적합한 도서입니다. 그래서 내가 이 책 한권으로 자연어 처리에 대한 A-to-Z를 읽히려는 독자를 위한 도서와는 어느 정도 거리가 있다고 생각하기에 이 부분은 염두에 두어야 합니다.

 

챗봇 API 만들기

이어서 말한다면, 굳이 도서를 읽기 전에 도서 소개에 나온 내용으로 보면 유추할 수도 있죠. "개론과 코드를 차근차근 알려주는 책은 없나요?", "프레임워크로 만드는 챗봇 말고, 밑바닥부터 만들어보는 챗봇 책은 왜 없을까?"... 또한 이런 글도 있습니다. "챗봇 개발서는 챗봇 프레임워크 기반 API 책이 대부분인데, 이 책은 챗봇 엔지 개발부터 챗봇 API 개발, 그리고 많이 사용하는 메신저와 연동까지 다 알려주죠". 앞과는 상반되게 외부 API를 사용한 응용 개발에 대한 내용도 다룬다는 내용입니다.

 

도서의 후반부 내용이 결국 본 도서가 타 자연어 딥러닝 도서와 구분되는 내용이 아닐까 싶습니다. 7장에서 학습용 데이터베이스를 설계하고 데이터 테이블을 만들어 연동하는 것을 배우고, 8장과 9장을 통해서 Flask로 REST API와 챗봇 서버를 만드는 것이 본 도서의 핵심 내용입니다.

 

마지막으로...

개인적으로 자연어 처리 교육을 2개월 간 들으면서 배워야 할 이론들이 꽤 많았다는 생각이 있습니다. 심화 내용에서는 이해도 상당히 애를 먹었던;;; 본 도서가 가진 장점이 분명히 보입니다. ​제품 개발을 위해서 빠르게 자연어 처리나 챗봇 기능 구현에 대해서 습득이 필요한 경우 상당히 도움이 되는 도서입니다. 특히 번역서가 아니라서 저자께서 철저히 KoNLPy나 kkma처럼 한국어 대상의 자연어 처리에 대해서 이론을 소개하고 있어서 이 또한 큰 장점입니다. 특히 후반부에 챗봇 서버를 위해 Flask 기반으로 REST API를 만드는 점이나 카카오와 네이버 API 연동을 다루고 있기 때문에, 제품 개발에 많은 도움을 받을 수 있습니다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
블록체인 인 액션 - 7개의 예제로 배우는 스마트 컨트랙트와 Dapp 개발의 모든 것
비나 라마머시 지음, 정우현 옮김 / 제이펍 / 2021년 7월
평점 :
장바구니담기


제이펍 출반사의 “블록체인 인 액션”을 소개합니다.



비트코인 광풍으로 블록체인은 이미 일반인에게도 관심을 가지게 된거 같습니다. 허나 아직은 가상화폐가 해외이든 국내이든 통용되지는 않고 있지만 국내 중앙은행 디지털화폐(CBDC) 모의실험도 추진 중이고, 저는 그보다는 블록체인 기술을 기반으로 제2 인터텟으로 발전할 것이고 IoT와 블록체인의 결합 기술이 관심이 갑니다.

 

제이펍의 “블록체인 인 액션”의 독서 소감은 대학에서의 한 학기 강좌와 같은 느낌을 받았습니다. 이것은 저자가 대학에서 블록체인을 가르치고 있을 뿐만 아니라 코세라에서의 블록체인 강좌를 개설하고 있는 노하우를 한 권의 도서로 정리하였기 때문에 가능한 느낌이라 생각됩니다. 또한 이론만 나열하기 보다는 솔리디티와 dapp에 대한 실습도 꽤 많은 양이 할애되어 있어서 이론과 실습이 적절히 조화된 상당히 구조화가 잘된 도서로 보입니다.

 

내용 구조화가 잘된 도서

도서는 전체 12장을 크게 3개의 파트의 내용 묶음으로 구성되어 있습니다.

  • PART I 블록체인 프로그래밍 시작하기
  • PART II 종단 간 Dapp 개발을 위한 기법
  • PART III 로드맵과 향후 발전 전망

 

파트 주제만 보더라도 혹은 마지막 파트의 로드랩과 향후 발전 전말이라는 주제로 도서를 마무리하는 것만 보더라도 대학 강의가 생각나지 않으신가요? 전체 12장은 아래와 같이 구성되어 있습니다.

  • CHAPTER 1 블록체인 기초
  • CHAPTER 2 스마트 컨트랙트
  • CHAPTER 3 신뢰와 무결성을 위한 기법
  • CHAPTER 4 스마트 컨트랙트에서 Dapp으로
  • CHAPTER 5 보안과 프라이버시
  • CHAPTER 6 온체인과 오프체인 데이터
  • CHAPTER 7 web3와 채널 Dapp
  • CHAPTER 8 인퓨라를 이용해 퍼블릭으로 나가기
  • CHAPTER 9 자산의 토큰화
  • CHAPTER 10 스마트 컨트랙트 테스트
  • CHAPTER 11 Dapp 개발 로드맵
  • CHAPTER 12 블록체인 전망

 

결국 블록체인 실무를 위해서는 블록체인 이론과 함께 스마트 컨트랙트와 dapp 개발을 통해야 된다는 것을 유추할 수 있습니다.

 

퍼블릭 블록체인을 다룹니다

본 도서는 퍼블릭 블록체인을 다룹니다. 따라서 프라이빗 블록체인 영역의 하이퍼레저 플랫폼이나 FABCAR를 다루지 않습니다. Dapp의 경우도 스마트 컨트랙트만으로 구성된 Contract Only DApp만을 다루지 Marble dapp 등을 다루지 않습니다.

블록체인 입문자를 위해서 퍼블릭, 프라이빗, 컨소시엄 블록체인의 구분과 학습 로드맵은 도서 초반에 포함되어 있다면 좋을텐데, 어쨌든 “블록체인 인 액션”은 이더리움과 같은 퍼블릭 블록체인 기술을 다룹니다. 블록체인 기술마다 장단점이 존재하고 기관마다 각자의 이익에 따라 밀고 있는 기술이 다르죠.

 

솔리디티 (Solidity)

솔리디티 개발 플랫폼 중에서 제일 유명하기도 하고 Official IDE인 Remix를 다룹니다. 솔리디티는 2장에서 스마트 컨트랙트 코드를 작성하는데 도서의 비중으로는 크게 다루지 않습니다.

 

솔리디티 실습 예제를 살펴보면 아래와 같이 도서의 편집적인 장점을 엿볼 수 있습니다. 도서 전체적으로 그림 사용에 꽤 공을 들이고 있고 IDE 환경만 하더라도 아래와 같이 그림과 같이 7가지 기능을 설명하는 블록체인 교육 자료를 본 적이 없어서, 이런 점이 잘 편집된 도서를 통한 학습의 이점이 아닐까 생각됩니다.


배포와 테스팅에서 나타난 그림 역시 이런 도서의 장점을 잘 보여주고 있습니다. 처음 접하는 개발 환경의 메뉴가 어떤 것이 있고, 어디에, 어떤 순서로 진행해야 할지 상당히 난감한 경우가 있습니다만, 적절한 그림과 설명이 예제 실습을 도와주고 있습니다.


 

비교 우위의 도서 편집

앞서 말씀 드렸습니다만 본 도서는 어떤 개발 서적보다도 도서의 편집적인 요소가 잘 부각되어 있습니다. 그림 사용이 많다는 것은 독자의 이해도를 높이는데 분명 도움을 줍니다. 컨트랙트 다이어그램을 UML을 이용하여 보여 준다거나

 

탈중앙화 항공사 시스템에서 참여자의 오퍼레이션을 순서와 관계를 하나의 그림으로 표현함으로써 왠만한 글의 나열보다 효과적이고 시각적으로 독자 이해도를 증대시켜 줍니다.

 

Dapp 개발

블록체인 개발을 교재나 교육으로 학습하는 경우 도통 낯선 용어로 지금 배우고 있는 것이 도대체 어느 단계이지…란 의문이 들곤 했습니다. 도서 전체적으로 솔리디티 개발은 내용 비중이 적은데 반해 Dapp 개발에 대한 내용 비중이 많습니다. 그런데 트러플을 사용한 Dapp 개발을 배우고 난 뒤에도 geth와 web3 등이 뒤를 따르니 독자 입장에서는 혼동이 올 수 있습니다. (저는 그러했는데)

 

결국 Dapp 스택을 보면 구현을 위해선 node.js를 알아야 하고, web3를 알아야 하고, 가니쉬나 geth를 알아야 하고 geth를 알아야 하면 구현을 위해서 go를 알아야 하는 단계 과정이 있습니다. 퍼블릭 블록체인 개발을 위해서는 이러한 스택 요소를 알아야 하는데 처음 접하는 이에겐 낯설었던 것이지요.


 

사실 쉽지 않은 이론 내용

예전에 블록체인 공부를 하면서 파고드는게 쉽지는 않다는 생각을 많이 했습니다. 우선 처음 접하는 용어들도 워낙 많기 때문에 입문자들은 대부분 여기에서 좌절하지는 않을까란 생각도 듭니다. 그래서 두번째 보게 되면 그제서야 저자가 언급한 내용들이 눈에 띄는데 가령 블록체인의 레이이 레벨별 프로그래밍은 아래와 같이 나뉩니다.


또한 아래의 내용이 본 도서가 다루는 전체 내용이구나…라는 것은 저의 경우 두번째로 읽을 때 “아하”란 감탄을 하게 되더군요.


아쉬운 점은 딱히 없었습니다. 몇개월 전에 교육을 받은 터라 교육 이후에 처음 접하는 블록체인도서이고, “블록체인 인 액션”이란 도서 한권이 대학에서 강의를 하고 있는 블록체인 한 학기 강좌처럼 느껴졌습니다. 분명 본 도서는 유명 대학 교수인 저자가 온오프라인에서의 강의 내용을 바탕으로 집약한 도서라는 느낌을 강하게 받았습니다. 또한 실습 비중이 상당히 많다는 것도 본 도서의 장점입니다. 실습을 도서 후반에 몰아넣는 것이 아니라 각 챕터마다 다루는 내용이 모두 다른데, 각기 해당 내용에 맞춰서 실습을 진행하는 것도 좋은 구성입니다.

 

대학 강좌 내용이 집약된 “블록체인 인 액션”을 통해 퍼블릭 블록체인에 대한 입문을 권해드립니다.

 

제이펍 전문서 리뷰에 참가하여 작성한 글이며, 제이펍에서 제공해준 책을 읽고 작성했음을 밝힙니다.


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