2023. 2. 13. 00:20 독서 영역/Hanbit Readers
728x90

<(NO.1 영상 편집 유튜버) 비됴클래스의 유튜브 영상 편집 with 프리미어 프로 - 한빛미디어>

 

 

정말 오랜만에 다시 한빛미디어 나는 리뷰어다를 통해서 다시 도서 리뷰를 진행하게 되었습니다.

그 첫 시작점을 알리는 도서는 바로 "비됴클래스의 유튜브 영상 편집 with 프리미어 프로"이다.

 

이미 도서를 알기전에 유튜브를 통해서 저자 및 영상 편집 동영상들을 접해봤기 때문에 낯설지 않고 친근하게 다가왔다.

 

 

 


도서 목차

 

  • 프롤로그 - 영상 제작을 시작하는 초보 유튜버를 위한 안내서
  • 챕터1 - 프리미어 프로 기초 기능 익히기
  • 챕터2 - 프리미어 프로에서 자주 사용하는 영상 편집 기술
  • 챕터3 - 멋진 유튜브 영상을 만드는 프리미어 프로 효과
  • 챕터4 - 영상을 풍부하게 만드는 다양한 특수 효과

 

 


좋았던 점

 

  • 단순히 동영상 편집에 대한 내용만 담지 않고 프롤로그에서 유튜브 및 유튜버에 대한 이야기를 풀어낸 점
  • 동영상 편집을 하기 이전에 필요한 동영상 촬영 시 필요한 품목 및 촬영 방법에 대한 이야기를 풀어낸 점
  • Adobe Premiere Pro 2022 한글판으로 설명하고 있지만 모든 메뉴 및 기능 설명에 영문판일 때도 고려하여 2가지 언어(한글, 영어)버전으로 표시하고 있는 점
  • 과하다 싶을 정도로 자세하게 캡쳐된 이미지를 통해서 가이드하는 점
  • 저자의 노하우가 담긴 툴 사용 시 발생한 문제에 대한 해결책들 그리고 꿀팁들을 제공한 점
  • 이건 처음에는 몰랐다가 나중에 알게된 것으로 은근히 챕터를 찾기 편하게 편집된 책의 오른쪽 페이지에 책갈피? 챕터를 표시한 점
  • 마지막 챕터 "영상을 풍부하게 만드는 다양한 특수 효과"에서는 유튜브 영상을 즐겨보는 사람이라면 누구나 한번쯤 저 영상은 어떻게 만드는거지? 라고 궁금해 했던 내용을 쉽게 설명한 점

 

 


아쉬운 점

 

  • 다양한 팁을 제공하는데 TIP 이라고 표시하는 내용이 무분별하게 많은 점
    (특별히 팁이 아닌 것 같은것도 많음)
  • 챕터4의 내용이 5년전 저자의 첫 버전?에서 나왔던 내용에서 추가된 내용이 없는 점
    (시간이 꽤나 흘러서 그 동안 더 많은 특수효과들이 유튜브 영상에 도입된 것 같은데 이 부분이 조금 빈약한듯 보임)

 

 


총평

 

  • 확실히 유튜브를 통한 교육 영상을 제작하던 크리에이터(실전파)라 그런지 책의 내용도 누구나 따라할 수 있게 자세하게 가이드 하고 있는 점이 매력포인트라는 생각이 들었다.
  • 매 설명마다 이미지에 클릭, 드래그, 단축키 등의 내용을 글씨로 꼼꼼하게 표시해주니 가끔씩 여기서 어떻게 진행하라는거야? 라는 생각이 들었던 책들도 있었는데 이 책은 그럴일이 없어서 좋았다.
  • Adobe Premiere Pro에 대한 기본 설명은 어느 정도 충분하다고 보였다.
    다만 이 책을 읽는 독자는 기본 사용법 그 이상의 특수효과 부분까지 원할 수 있을 것 같다.
    최신 트렌드를 반영한 기술 설명의 부재가 아쉽지만 그래도 기본기를 탄탄히 했으니 해당 부분은 충분히 개인적으로 해결이 가능할 것으로 보인다.

 

ps. 한빛미디어에서 이 책의 예제를 찾으러 들어갔다가 보니 저자의 동일한 제목의 책이 이미 2018년도에 나왔었다.

      5년만에 다시 다시 나온 책 같았으며 베이스는 거의 비슷하지만 그 동안의 변화에 맞춰서 갱신한 듯 보였다.

 

 

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

 

 

728x90
posted by acedon
2018. 10. 24. 01:57 독서 영역/도서 갈무리
728x90

The Clean Coder - 로버트 마틴 지음



책을 읽다가 잊지 말아야 할 내용들을 갈무리 해본다. (진행중)


P.50 기능에 해를 끼치지 마라


완벽한 소프트웨어를 만드는 일이 사실상 불가능하다는 것이지 완벽하게 하지 않아도 괜찮다는 뜻은 아니다.


프로라면 한 명도 빠짐없이 오류에 책임을 져야 한다. 오류가 명백하지 않더라도 상황이 어떻게 돌아가는지 밝혀야 한다. 프로가 되겠다는 포부를 가지고 있다면, 우선 사과하는 법을 익혀야 한다.

사과는 필수요소지만 그것만으로는 충분하지 않다. 같은 오류를 반복하면 안 된다. 경력을 쌓아가면서 오류를 만드는 비율을 급격히 떨어뜨려 0에 가깝게 만들어야 한다. 0이 되지는 않지만 가능한 0에 가깝게 만드는 게 당신 책임이다.




P.51 QA는 아무것도 찾지 못해야 한다


결함이 있는 코드란 어떤 코드일까?

확신을 갖지 못하는 코드는 모두 결함이 있는 코드다.


QA가 문제를 찾을 때마다, 더 나쁜 경우 사용자가 문제를 찾을 때마다, 개발자는 놀라움과 분함을 느껴야 마땅하며, 다시는 그런 일이 생기지 않도록 마음을 다져야 한다.

728x90
posted by acedon
2018. 8. 30. 09:20 독서 영역/길벗
728x90


<알고리즘 산책 : 수학에서 제네릭 프로그래밍까지>



이 책을 리뷰하게 된 계기는 프로그래밍을 위한 알고리즘, 그리고 그 근간이 되는 수학에

대하여 그동안 놓았던 정신을 붙잡고 다시 도전해보고 싶어서였다.



책 표지 뒷면에 지은이와 옮긴이의 정보가 씌여있던 밑에 이런말이 적혀있다.


----------------------------------

좋은 프로그래머가 되려면 제네릭 프로그래밍의 원리를 이해해야 한다.

제네릭 프로그래밍의 원리를 이해하려면 추상화를 이해해야 한다.

추상화를 이해하려면 그 바탕을 이루는 수학을 이해해야 한다.

---------------------------------- 


이 내용을 읽고 나니 두려움이 앞선다.

왜냐하면 나는 수학이 싫진 않았지만 나의 발목을 잡고 있는 어려운 문제였기 때문이다.

책을 훑어보니 역시 놓았던 정신은 쉽게 돌아오지 않나보다.

수학적 기초가 부족하다면 내 생각에는 내용을 이해하는 것 뿐만 아니라

수식을 읽는것조차 쉽지 않을 것 같다.

(그래도 다행히 부록A["표기법"]을 참고하여 이해하는데 도움을 얻을 수 있었다)


자 그래도 이 책을 보면서 내가 느끼는 장점, 단점을 적어보겠다.

내가 느꼈던 부분이라 누군가에는 장점이 될 수 도 있지만 단점이 될 수 도 있다.


<장점>

알고리즘에 대하여 역사적 관점과 함께 설명하는 부분

알고리즘마다 발경 배경 및 해당 인물의 대한 설명을 기록하여 단순히 수식적인 내용만 확인하는 것이 아니라 지루하지 않고 오히려 흥미로웠다. 오래된 알고리즘 책들에도 간단하게는 적혀있었던것 같긴한데 ... 다시봐서 그런지 새롭게 느껴졌다.



     






















결론 페이지와 부록 페이지들의 도움

이 책은 특이하게도 "14장 결론"이라는 챕터를 별도로 두어 저자가 설명했던 내용들을 다시금 2페이지 안에 정리하고 있다. 이 페이지를 보면서 복잡했던 생각들을 정리하는데 도움이 된 것 같다. 그리고 그 이후 나오는 부록 페이지들 역시 이 책을 읽는데 있어서 큰 도움이 되었다. 



<단점>

수학적 기초가 부족하다면 어렵게 느껴지는 부분

이건 어쩔 수 없을 것 같다... 나만 그렇게 느꼈을 것 같기도 하다. 알고리즘을 프로그래밍 언어로 표현해놓은 것을 이해하는데는 어렵지 않았지만 수식이나 개념을 이해하는데 어려움을 느꼈다. 그래서 부록에 추가로 정리해줬던 용어나 표기법, 증명법등의 내용이 조금 더 확장되었으면 하는 바람도 있다. 



정리해보면

사실상 이런 책은 한번 읽었다고 끝~ 으로 생각하는 책은 아니라고 생각한다.

그리고 알고리즘을 달달 외우려고 보려했던 책도 아니고 문제 해결 과정에서 나타나는 사고에 대하여 좀 더 확장하고 싶었던 욕구가 있어서 보려했던 책이다. 

그런면에서만 본다면 이 책은 내 의도를 만족시키는 그런 책이다.

일단 잠시 덮어두지만 조만간 다시 꺼내보면서 찬찬히 음미해볼 생각이다.


728x90
posted by acedon
2018. 4. 24. 01:59 독서 영역/한빛미디어
728x90


< 이것이 C++ 이다 - 한빛 미디어>


이번에 리뷰하게 된 책은 한빛미디어에서 출간된 "이것이 XXX다" 시리즈인 "이것이 C++이다"다.


사실 리뷰 글을 반쯤 쓰고 임시저장을 눌러놓았는데, 다시 확인해보니 저장이 되지 않았다.

정말 난감한 상태이다. 분명히 그 당시에 책을 읽으면서 느꼈던(좋았던) 부분들을 다시 떠올려보려하는데 하루하루가 다르게 나의 기억들이 사라져가는판이라 아쉽다.


각설하고 그럼 "이것이 C++이다"를 읽으면서 느낀점들을 적어본다.


우선 부제("강의 현장을 그대로 옮긴 C++입문서")를 잘 지은것 같다.

저자의 강의경험과 많은 저서들을 집필하여서 그런지 독자들이 무엇을 원하고, 무엇을 궁금해 하는지 아는 것 같아보인다. 


첫번째, 정리된 학습목표만 보아도 큰 흐름이 보인다.

각 장이 시작할 때마다 한페이지씩 "이 장의 핵심 개념"과 "이 장의 학습 흐름"을 통하여 무엇을 설명하고 무엇을 배워야 하는지 명확하게 안내하고 있다.


또한 나는 각 챕터를 소개하는 반페이지 정도의 핵심 요약글을 중점적으로 보는데 이 책에서는 독자가 이해하기 쉽고, 어떤 부분을 이해하고 알아야 하는지 잘 설명하고 있는 부분이 마음에 든다.



<학습 목표>


두번째, 글이 잘 읽힌다.

생각보다 글이 잘 읽혔다. 아마도 번역서가 아니라 그럴 수 도 있지만, 저자가 이야기를 잘 풀어나가는듯 한 느낌도 받았다. 


또한 단순히 용어에 대한 나열이 아닌 사례를 통하여 이해하는데 도움을 주고, 직접 독자가 눈으로 확인까지 할 수 있도록 구성되어 있어서 나 같은 사람(뭔가 직접 봐야만 믿는?)에게는 속 시원한 구성인 것 같다. (예, 상속의 생성자, 소멸자 순서를 비주얼스튜디오의 콜스택을 통하여 확인하는 과정)


500페이지 정도의 분량인 이 책을 통하여 C++에대한 큰틀을 잡는데는 분명히 유효할 것 같다는 생각이든다. 



세번째, 저자가 직접 운용하는 카페를 통한 사후지원

책이 뒷 표지에 보면, "빈틈없는 애프터서비스"라는 말이 적혀있다. 보통은 그냥 지나치기 마련인데 왠지 궁금하여 카페(http://cafe.naver.com/windev) 가입을 해보았다.


생각했던것보다 많은 인원들이 질문과 답변을 하며 열심히 카페가 운영되는 것을 보았다.


15년전 나는 처음 프로그래밍을 접할 때 책의 예제를 따라 해보며 습득했었는데 한번은 책의 예제와 똑같이 했는데도 불구하고 오류가 발생하는 것이다. 무엇인지도 잘 모르고 따라치던 시기였다. 알고보니 책에 오타가 있었던 것... 정말 며칠 밤샜는데 너무 허무했다. 그때를 생각하면 이런 공유의 장은 정말 큰 도움이 되는 곳이라 생각된다. 잘 운영되기를 바란다.



<저자의 카페 "널널한 Windows 개발자 되기">



마무리하며...

쓰다보니 장점들만 나열되었다. 나는 단점을 찾는데는 소질이 별로 없나보다^^

그래도 돌아보니, 역시나 이 책의 부제처럼 "입문서"임을 다시 한번 느낀다.

잘 정리된 입문서, 즉 심화내용 또는 전문 기술서를 원한다면 다른 책들을 봐야 할 것 같다. 




728x90
posted by acedon
728x90

몇달전만 해도 아주 핫했던 비트코인사태를 알것이다.
비트코인이란 단어를 접할 때면 함께 따라오는 단어가 블록체인이라는 단어일 것이다. 
그렇게 블록체인이라는 단어를 처음 접하게 되었다.
그 이후 회사팀워크샵때 블록체인에 대하여 스터디하는 계기를 이후로 블록체인에 대한 관심도 늘어가고 있었다.





이런 상황에서 "블록체인 무엇인가?"라는 도서는 내 흥미를 끌기에 충분했다. 특히 부제처럼 보이는 "수학, 코딩 몰라도 이해하는 비유의 힘"이라는 문구가 눈에 띄었다.

과연 그것이 사실일까? 경험해보고 싶었기에 이 책의 리뷰를 시작하게 되었다.

이 책에서는 4가지 학습원칙이 있다.
1. 일상적인 언어로 말한다.
2. 수학이나 공식없이 설명한다.
3. 단계적으로 학습한다.
4. 비유와 유추를 통해 배운다.

나는 4가지 학습원칙을 지키며 블록체인에 대하여 설명하고 있는지 정말 궁금했다. 결론부터 말하면 "그렇다"이다. 

일상적인 언어로 말하고 있다. 물론 컴퓨터 용어로 표현되어야 하는 부분들은 어쩔수 없지만 대부분의 내용들은 이해하기 쉽게(즉 쉽게 읽히도록) 씌여져있다. 

 다음으로 정말로 수학 공식등을 찾아볼 수가 없었다. 수학 공식이 필요없었을 수도 있다. 다양한 그림과 도표들을 통하여 기술적인 내용들을 표현하고 있기 때문에 이해하는데 큰 도움이 되고 있는 것 같다.






단계적으로 학습한다. 라는 말은 순차적으로 접근한다라고 다시 이야기할 수 있을 것 같다. 블록체인을 알기 위한 "기본 소프트웨어 공학적인 지식들"부터 시작하여 "왜 블록체인이 필요한가?", "블록체인은 어떻게 동작하는가?", "블록체인의 한계는 무엇이고 어떻게 극복하는가?"와 같은 순서로 학습하게 된다. 

그리고 각 단계(총25단계)에서는 미션을 해결해나가듯이 문제(목표)를 제시하고 해결방안에 대하여 설명하고 다음 단계로 넘어가면서 블록체인에 대한 이해도가 점점 늘어감을 느낄 수 있게 된다.





비유와 유추를 통해 배운다. 라는 학습원칙은 블록체인이라는 기술을 이해하는데 매우 유용한 방법이었던 것 같다. 자칫 너무 기술적인 이야기들로만 씌여있었다면 몇장 보다가 덮었을지도 모른다. 하지만 현실 세계에 있는 상황들로 비유하여 설명함으로써 이 책이 엔지니어들만의 책이 아닌 블록체인에 관심이 있는 사람들에게까지도 필요한 도서가 될 수 있었던 것 같다는 생각을 해보게 된다.

이제 정리해보면 "블록체인 무엇인가?"라는 책은 블록체인이라는 기술적인 용어를 꼭 엔지니어들뿐만이 아니라 관심있는 모두에게 개념을 정리하는데 도움을 줄수 있는 책이라는 생각이든다. 

728x90
posted by acedon
2017. 8. 27. 23:06 독서 영역/Hanbit Readers
728x90

 

<나도 피아노 폼나게 잘치면 소원이 없겠네> - 한빛라이프

 

이번에 리뷰하게 된 도서는 IT도서를 벗어나서 메마른 감성을 녹여줄 음악 도서인 피아노 교재 책으로 선택했다.

 

이 도서를 선택하게 된 동기는 예전에 피아노를 독학하고 싶어서 전자피아노는 구매해놓았지만 진열만 되고 있는 수준이었다. 하지만 이 도서 제목을 보고 "나도 폼나게" 피아노 치고 싶다는 마음이 뜨겁게 올라와 선택하게되었다. 제목과 표지가 한 몫 한 것 이다.

 

 

그럼 이 책에 독자층은 어떻게 되는지 궁금하지 않나?

나와 같은 완전 초보자인 사람들도 피아노를 폼나게 칠 수 있는 것이 사실일까?

 

독자층은?

1. 악보를 볼줄 알지만, 임의로 코드 반주를 넣는게 힘든 사람.

2. 피아노를 다년간 쳐왔지만, 한단계 더 발전하여 폼나게 연주하고 싶은 사람.

3. 스피커로 들은 음악(곡)을 악보 없이도 스스로 카피해 연주하고 싶은 사람.

 

 

어랏 ...

독자층을 읽다보니 피아노 완전 초보자를 위한 책은 아니라는 것을 알게 되었다.

책에서는 피아노 완전 초보자인 경우 이전 시리즈인 <나도 피아노 잘 치면 소원이 없겠네>를 볼것을 추천하고 있다.

 

그래서 결국 나는... 와이프의 도움을 받아 함께 책을 보고 연습하게 되었다.

 

와이프 의견 : 이 책이 코드반주법을 다루는 책으로써 초보자가 코드를 먼저 알지 못하면 이 책을 응용하기에는 어려운 부분이 있다. 그런데 일반 코드(C, G, F 등)를 알고 있는 사람이라면 책에 나온데로 코드를 응용하면서 재미를 느낄 수 있을것 같다. 하지만 코드를 모르는 초보자가 보기에는 무리가 있는 책이다.

 

 

책을 통한 경험들

 

코드를 배우자!

머리말을 보다보니 마음에 드는 설명이 있었다.

있어 보이는 연주를 하기 위해서는 코드를 연주하는게 가성비가 좋다는 표현이 마음에 들었다.
한곡에 쓰인 코드가 10개가 넘지 않기 때문에 기본 코드와 코드를 응용한 메이저, 마이너, 7코드 등을 기억하여 연주할 수 있다면 폼나게 칠 수 있다고 한다!

기본코드, 메이저, 마이너, 7코드까지는 외우고 응용하는데 노력을 하면 될 것 같았지만 그 외에 하프디미니시 코드 마이너 세븐 플랫파이브 코드(m7b5) 등은 이름부터 복잡하고 응용하기에는 쉽지 않았다. (정말 화성악 공부하는 사람들 아니고서는)

 

<피아노 코드표>

 

 

한글 음이름에서 영어 음이름으로.

초등학교 때 음악시간에 배웠던 도레미파솔라시도를 다라마바사가나다로 장조, 단조로 배웠는데 저자는 가능하면 영어 음 이름으로 익히는 것이 훨씬 더 직관적이고 외우기쉽다라고 한다. 내림 나장조, 다장조 이런말을 C Major Key, B Minor Key 등과 같이 말이다.

사실 이제 성인이 된 이상 한글음이름은 거의 쓰지 않는 것 같다. 그러니 영어 음이름과 친숙해져야 겠다.

 

<3도 음정>

 

 


책을 보면서 좋았던점 또는 개선할 점은?

책에 전체적인 구성은 책을 보고 따라하는데 무리없이 편집되어있어서 좋았다.

특히 사진과 동영상(QR코드) 첨부가되어있어서 바로바로 실전 연습을 하는데 큰 도움이 되었다.
건반에 올려진 손 모양 사진과 유튜브의 강좌를 통하여 글로만 되어있을 때보다 이해하는데 수월했다.

만약 눈으로만 보고 실제 피아노로 쳐보지 않는다면 아마도 늘지 않을 것이다.

 

또한 중간중간 독자들이 궁금해할만한 용어들을 정리해놓아서 내용을 이해하는데 도움이 되었다.

 

특별하게 개선할점은 모르겠는데, 와이프 의견으로 용어정리가 조금 더 있었으면 하고 한 곳에 모아서 보여주는 것도 괜찮을 것 같다는 의견이 있었다.

 

 

마무리를 해보며...

일단 내가 피아노 초보자인 내가 읽기에는 기초 선수지식이 필요한 것 같다. 하지만 어느정도 기반 지식이 있는 분들이 보신다면 코드를 배워서 폼나게 칠 수 있을 것 같다는 생각이 든다!!

 

이론도 이론이지만 결국 연습만이 살길이다~

 

<연습곡 - City of Stars>

728x90
posted by acedon
2017. 7. 20. 20:59 독서 영역/인사이트
728x90


 




이번에 리뷰하게 된 도서는 "안드로이드 프로그래밍 Next Step"이라는 활용서이다.

활용서라고 말한 부분은 이 도서가 안드로이드 기초부터 소개하는 도서가 아닌 실제 개발을 진행하면서 도움이 될만한 내용들로 구성되어 있기 때문이다. 


도서 제목도 책을 보고나니 "Next Step"이라고 칭한 부분이 이해가되며 기초단계에서 한단계 점프업을 할 수 있게 되는 느낌을 받을 수 있었다.




이 도서의 독자층은?

  • 안드로이드 앱을 만든 경험이 있는 개발자를 대상으로 함
저자의 소개글 중
" 앱을 개발하면서 자신이 정말 제대로 만들고 있는지, 문제를 올바르게 해결하고 있는지 의문을 가지고 있다면 이 책이 도움이 될 것이다"라고 한 부분에서 과연 어떨지? 기대가 되는 부분이었다.

사실 저자는 독학으로 프로그래밍을 배우고, 현재는 네이버에서 근무한다고 하는데 독학으로 배운사람의 내공은 정말 어마무시하다는 것을 개인적인 경험을 통하여 알고 있기에 다시 한번 기대가 되었다.



어떤 내용을 다루나?
    • 앱에서 생기는 문제는 주로 컴포넌트를 잘 다루지 못한 부분에서 발생한다.
      라는 저자의 경험을 가지고 어떻게 해결해나갈 수 있는지에 대하여 설명하고 있다.
      • 목차는 아래와 같은 내용들로 구성되어 있다.
        • 1장, 안드로이드 프레임워크
        • 2장, 메인 스레드와 Handler
        • 3장, 백그라운드 스레드
        • 4장, Context
        • 5장, 액티비티
        • 6장, 서비스
        • 7장, 콘텐트 프로바이더
        • 8장, 브로드캐스트 리시버
        • 9장, Application
        • 10장, 시스템 서비스
        • 11장, 구현 패턴


    좋은 느낌?

    일단 "Next Step"도서는 확실히 번역서가 아닌 국내 저자가 쓴 글이라 그런지 글이 어색하다거나 하진 않았다.
    그리고 안드로이드 프레임워크 소스를 가지고 설명하며 원리 파악을 시켜주려는 부분이 좋았다.
    아래는 액티비티 생명주기를 친절하게 소개하고 있다. (사실 이 책에는 생각보다 이미지가 별로 없다. 몇개 없는 그림중에 하나이다. 하하)

    또한 아직은 초보자 수준인 내가 볼 때 아직 겪어보지 못한 문제들이지만 간접체험을 하면서 생각을 넓힐 수 있는 계기가 된 것 같다. 

     

     




    더 좋은 방법은 없을까?


    코드를  설명하는 방식에서 다른 방안은 없을지 고민을 해보게 된다. 물론 현재 방식 코드에 번호를 표시해놓고 글로 그 번호를 지칭하면서 설명하는 방법도 괜찮다. 다만 코드가 이전페이지에 있다면 왔다갔다하면서 책을 봐야 했기에 더 좋은 방법을 찾아볼 필요가 있겠다. 그리고 간혹 코드에는 ... // 로 축약되어있는데 코드 설명이 들어간 부분들도 있었다. 내 상상으로 그 코드를 구현해보는 재미가 있긴 하다. (하하)




    끝으로 ...


    "안드로이드 프로그래밍 Next Step"도서는 한마디로 요약해보자면

    <<사수 개발자가 들려주는 경험담 및 노하우>> 라고 할 수 있을 것 같다.

    지금까지 본 내용들을 모두 이해하진 못했지만 분명히 필요할 시기가 닥친다면 이 책을 다시 꺼내들 것 같다!

    728x90
    posted by acedon
    2017. 6. 25. 03:46 독서 영역/Hanbit Readers
    728x90



    이번에 리뷰하게 된 도서는 "Effective DEBUGGING(부제 : 디버깅 지옥에서 탈출하는 66가지 전략과 기법)"이란 무시무시한 비법이 들어있을것만 같은 그런 책이다.

    일단 이 책을 처음 받자마자 느낀점이 2가지가 있다.

    첫번째, "책이 매우 얇다"라는 것이다. 255페이지라는 분량임에도 불구하고 일반책들의 2/3정도 두께이다.
    두번째, "표지의 감촉이 매우 달랐다"라는 것이다. 여지껏 만져본 책 표지에서는 느낄 수 없었던 그런 느낌? 우레탄 느낌이라고 해야 하나? 매우 감촉이 좋았다. 다만, 지문자국이 너무 많이 남는다는 것은 함정!


    자, 제목처럼 효과적인 디버깅을 위한 방법 66가지 전략과 기법이 매우 궁금해진다. 

    먼저 이 책의 독자 대상은?
    • 경험이 풍부한 개발자 대상
    라고 되어 있지만 
    경험이 풍부한 개발자>라면 아마도 66가지의 내용중 2/3는 이미 알고 있거나 실천하는 방법일 것이라 생각한다.
    경험이 풍부하지 않은 개발자>라면 신세계 또는 들어보았던 방법들로써 매우 유익할 것 같다고 생각한다. 


    <Effective DEBUGGING>의 구성은?
    총 8가지 범주에서 활용할 수 있는 66가지 디버깅 기법들을 소개하고 있다.
    • 고차원 전략
    • 범용적인 디버깅 기법
    • 범용 도구를 활용한 기법
    • 디버거 활용법
    • 프로그래밍 기법
    • 컴파일 시간 기법
    • 실행 시간 기법
    • 멀티스레드 코드 디버깅하기
    챕터 1~8까지 주어졌지만 순서대로 읽을 필요는 없으며 필요하거나 관심가는 분야부터 읽으면 될 것 같다.



    내가 선택한 Effective DEBUGGING 방법은?

    자 그럼 이 책에서 소개하고 있는 66가지 중 직접 경험하고 공감갔었던 방법들을 선별해보았다.


    • 아이템1. 모든 문제를 이슈 추적 시스템으로 관리하기
    • 아이템9. 성공적인 디버깅을 위한 마음가짐
    • 아이템10. 효율적으로 문제 상황 재현하기
    • 아이템11. 코드 수정 후 결과 확인까지의 시간 최소화하기
    • 아이템18. 원격 디버깅 환경 구축하기
    • 아이템26. 버전 관리 시스템으로 버그 원인과 히스토리 추적하기
    • 아이템32. 루틴 사이의 호출 흐름 추적하기
    • 아이템35. 코어 덤프 다루기
    • 아이템39. 동료 검토하기
    • 아이템42. 단위 테스트 사용하기
    • 아이템51. 정적 분석 도구 활용하기
    • 아이템55. 오류가 발생한 즉시 프로그램 중단하기


    경험상 선별된 위 12개의 방법들의 내용은 책을 읽어보시면 다들 공감하실 것이라 예상된다.

    "아이템9. 성공적인 디버깅을 위한 마음가짐"이라는 방법이 효과적인 디버깅을 하기 위한 가장 1순위가 아닐까 싶다. 

    "아이템39. 동료 검토하기"에서는 "고무 오리 기법(Rubber duck technique)"이라는 것을 소개한다. 어떤 의미인지 풀어보면; 자신이 작성한 코드를 다른 사람에게 설명하는 방식으로 문제를 분석하고 찾는 기법으로써 의심되는 코드 또는 포인트를 동료에게 차근차근 설명하다보면은 자신이 실수하고 있던 부분을 스스로 발견하게 된다는 내용이다.

    아이템39번 같은 경우는 정말 공감한다.

    누군가에게 설명하려고 하면 자신의 코드를 조금 더 냉정하게 바라보게 된다.

    그 때 자신의 실수를 확인할 수 있는 것이다. 놀랍다 놀라워!



    책을 덮으며...

    이 책의 저자는 35년 이상의 경험을 가지고 책을 썼다고 한다. 

    분명히 이 책에서 설명하고 있는 66가지 방법 이외에 수많은 방법들이 있을 것이다.

    아마도 그 중에서 이 66가지 정도는 이해하고 실천 또는 활용하기를 바라는 핵심포인트만 나열했을것이란 생각이 든다. 물론 책의 66가지 방법이 다양한 IT분야에서 활용할 수 있는 방법은 아닐 수 도 있다. 하지만 실질적인 방법은 되지 않더라도 충분히 시야를 넓혀줄 수 있는 그런 내용임은 틀림이 없다. 


    개인적인 생각으로는

    이 책은 경험많은 개발자분들이 읽으신 후 후배 개발자분들에게 조언해주는 방법도 매우 좋을 것 같다는 생각으로 글을 마친다.  

    728x90
    posted by acedon
    2017. 6. 18. 18:26 독서 영역/Hanbit Readers
    728x90



    이번에 리뷰하게 된 도서는 "비즈니스 블록체인"이다. 

    일단 책을 받은 후 첫 느낌은 "무거운 느낌이 드는 주제"이구나를 책 표지부터 느낄 수 있었다. 

    어두운 바탕에 블록체인을 표현한듯 보이는 블록들과 그 블록들을 연결하는 수많은 점들이 예사롭지 않았다.


    <비즈니스 블록체인>도서 구성은?

    • 블록체인 정의
    • 블록체인의 직면한 문제점
    • 블록체인 활용방안
    • 블록체인의 목표(도달점)

    도서의 구성은 블록체인이 무엇인지 전혀 알지 못하는 사람이라도 차근차근 읽을 수 있도록 구성되어있다.



    사실 블록체인이라는 말은 그다지 많이 들어보지 못했을 것이다. 

    하지만 비트코인이라는 단어는 아마 몇 번씩은 다들 들어보았을 것이라 생각이 든다.

    비트코인이라는 사례에서 블록체인은 비트코인의 기반 기술이라고 볼 수 있다.


    그럼 블록체인이 무엇이고 어떤 특징이 존재하기에 비트코인의 기반기술로 사용되었는지 이 책을 통하여 확인해볼 수 있다.


    본문을 읽기전에 프롤로그의 내용이 매우 인상깊어 몇 구절 나열해 본다.


    프롤로그 내용 중

    아직까지 블록체인이 당신에게 충격적인 것으로 다가오지 않았다면, 확신하건대 그런 순간이 곧 올 것이다.

    블록체인은 그 시작과 끝이 신뢰라 해도 과장이 아니므로 신뢰층이라 불러도 무방하다.

    블록체인은 세대를 거듭해 뿌리 내린 우리 사회의 지배구조, 생활방식, 비즈니스 모델 그리고 국제 기구들을 향해 변화를 촉구하는 거대한 촉매제다.



    "블록체인"이 뭐에요??


    블록체인은 정해진 틀이 없다고 저자는 말하고 있다.

    그리고 다양한 성격을 가지고 인터넷을 기반으로 다양한 형태를 취할 수 있다고 한다.


    이런 블록체인을 저자는 3가지 측면에서 정의를 내리고 있다.


     기술적 측면 

     공개적으로 열람 가능한 분산 원장을 유지하는 백엔드 데이터베이스

     비즈니스 측면

     중개자 없이도 개인간(P2P)의 거래, 가치, 자산 등을 이동시킬 수 있는 교환 네트워크

     법적 측면

     블록체인은 거래를 검증해주므로 종전의 신뢰 보증 기관을 대체하는 수단



    이 3가지 측면을 기반으로 책에서는

    블록체인의 역할, 마주한 문제점들(기술적 진입 장벽, 사업적인 장벽, 법적 장벽), 그리고 앞으로 나아가야할 방향들에 대해서 많은 이야기를 쏟아내고 있지만 결국 한가지 키워드로 그 모든 내용이 집약되게 된다.


    핵심 키워드로써 "탈중앙화"를 이야기할 수 있을 것 같다. 


    블록체인의 존재의 이유가 이 탈중앙화 기술을 구현하는 것이라고 봐도 무리가 없을 것 같다.

    위에서 언급한 3가지 측면과 블록체인의 많은 특징들로 인하여 탈중앙화를 이뤄낼 수 있을 것 같다는 생각이 든다.


    예로 금전거래 시 모두가 신뢰하는 중개자(은행)를 통하여 거래가 이뤄지는데 블록체인을 통하면 그 신뢰를 대신 해줄 수 있기에 이제는 중개자가 필요 없게된다는 말이다.



    먼 미래에는 블록체인을 통하여 탈중앙화를 이룰 수 있을지 모르고, 탈중앙화로 인하여 어떤 새로운 패러다임이 등장할지는 모르지만 그게 꼭 필요한가? 라는 생각도 해보게 된다.


    이번 <비즈니스 블록체인>이라는 도서를 통하여

    블록체인이 만들어 갈 세상을 엿볼 수 있었던 좋은 계기가 된 것 같다!




    728x90
    posted by acedon
    2017. 5. 21. 23:11 독서 영역/Hanbit Readers
    728x90


    종이접기 책으로 오해할 수 있을법한 표지를 소유한 "직접 설계하고 개발하는 IoT 백신"을 소개한다.

    표지는 정말 아기자기 하지만 반면에 책 내용은 "백신"이라는 주제를 다루고 있는 반전 매력을 가진 책이다.


    불과 몇년 전만 해도 "IoT" 또는 "사물인터넷"이라는 단어가 매우 낮설었을 것이다.
    최근들어 IoT 라는 단어를 심심치 않게 듣기도 하고 뉴스나 방송을 통하여 접하고 있기 때문에 낯설지 않게 느껴진다.

    IoT를 간단하게 설명해보자면?
    이제 우리 생활에 사용되는 가전제품들이 궁극적으로는 모두 연결되는 세상을 가리켜 "IoT세상"이라고 할 수 있을 것 같다. 연결된다 라는 의미는 바로 인터넷을 통하여 서로 통신을 할 수 있다는 이야기다. 
    현재 대표적인 예를 들어 보자면 "핸드폰"을 이야기할 수 있겠다.

    조금만 더 시간이 흐른다면 냉장고나 세탁기, 자전가, 신발 등 다양한 제품들이 인터넷에 연결되어 수많은 정보들을 주고 받게 될 것이다. 이런 정보들은 특히나 예민한 "개인정보"들이 될 것인데 이 정보들을 보호하기 위해서는 지금 이 책(IoT백신)에서 설명하는 백신을 통하여 보호해야 할 것이다.


    서론이 길었다. 하하.
    "직접 설계하고 개발하는 IoT백신"의 특징을 몇 가지 이야기 해보겠다.

    이 책은 목적성이 뚜렷하다. 
    IoT용 백신을 만드는 것이다. PC용 백신이 아닌 IoT 디바이스간 해킹에 대한 보호를 위한 백신을 만들기 때문에 한정된 자원에 대해서 많은 고민을 하면서 실습을 진행하게 된다.
    물리적인 IoT장치를 가지고 있지 않더라도 가상머신 2대를 이용하여 개발 및 테스트를 진행할 수 있다.

    실용적인 설계를 추구한다.
    저자가 외국인이 아니고 백신업체에서 많은 경험을 가지고 있는터라 경험을 풀어내는 내용들이 한국에서 개발하고 있는 입장에서 보았을 때 와닿는 부분들이 많았다. 번역서가 아니라 생각보다 저자가 표현하고자 했던 내용들을 왜곡 없이 접할 수 있는 것은 장점 중에 하나인것 같다.
    또한 다양한 설계 방법들이 있지만 저자의 경험을 바탕으로 "프로토타입" 개발프로세스로 진행하는데 생각보다 유용하다는 생각이 들었다.
    또한 설계 시 UML을 사용하지만 틀에 얽매이기보다는 적재적소에 알맞게 사용하는 방법들에 대해서 이야기 하는 부분이 마음에 들었다.

    개발 라이프 사이클을 경험할 수 있다.
    백신 개발을 하기 위하여 요구사항 분석부터 설계 구현 테스트까지 전체적인 개발 라이프 사이클을 경험할 수 있도록 구성되어 있다. 다른책들과의 차이가 있다면 테스트 부분에 직접 QA팀의 입장에서 테스트케이스를 도출하고 테스트를 진행하는 사항까지도 꼼꼼히 설명하고 있는 부분을 들 수 있겠다. 책을 한번 훑고 난다면 개발이 어떻게 시작되고 끝맺음이 되는지 알 수 있는 좋은 계기가 될 것 같다.

    리눅스 커널을 접할 수 있다.
    리눅스 커널이라고 하면 어렵고 손대기 힘든 미지의 세계라고 생각들기 마련이다.
    IoT백신을 제작하면서 리눅스 커널 내부를 접할 수 있게 되고, 애플리케이션 및 리눅스 드라이버도 만들어 볼 수 있는 계기가 된다. 또한 직접 운영체제인 리눅스 커널 이미지를 제작하여 내가 만들 커널로 사용한다는 것은 생각만해도 짜릿하지 않은가?
    리눅스 드라이버를 공부하고 싶어도 무엇부터 공부해야 할지 막막할때가 많을텐데 백신을 직접 제작해보면서 드라이버를 접할 수 있기 때문에 생각보다 좋은 시작 포인트가 될 것 같다는 생각이 든다.


    위와 같이 책을 읽으면서 좋은 느낌들을 받았다.
    하지만 아쉬운점도 눈에 띄었다.

    책을 읽는 도중에 추가적인 설명이나 자료에 대해서 저자가 운영하는 홈페이지에서 확인 할 수 있도록 안내하고 있다. 그런데 이 홈페이지를 가보면 아직 제대로 된 정보가 업데이트 되어있지 않았다. 분명히 책에는 해당 홈페이지에서 정보를 확인할 수 있다고 되어있지만 실상 홈페이지에 접속해보면 내용이 없어서 매우 당혹스러웠다. 이 책은 이제 시리즈로 작성된다고 하는데 이 부분에 대해서는 빠른 조치가 필요할 것 같다. 


    이 책을 덮은 후 다시 한번 생각을 정리해보니
    IoT백신이라는 주제도 흥미로웠고, 국내 저자가 들려주는 생생한 경험담도 좋았다.
    그리고 리눅스 커널 및 드라이버 개발에 관심이 있는 학생들이라면 처음 입문하는데 많은 도움이 될 것이라 생각된다.





    728x90
    posted by acedon