Post List

2015년 9월 20일 일요일

[한빛미디어] 만들면서 배우는 Git, GitHub 입문



* 첫인상

책을 받은 첫느낌은 깔끔한 표지 디자인이 상당히 마음에 들었습니다.
484 페이지의 두께가 항상 가지고 다니기에 일반 크로스백 보다는 백팩을 들고다니는것이 더 편했습니다.
종이질도 상당히 좋았구요.



전체적인 책의 구성은 Git의 설치부터 사용법까지 Git을 사용하는데 필요한 모든 기능들을 다 예제를 통해서 설명을 해주었습니다.
그리고, GitHub 가입부터 활용법까지 모두 설명이 되어 있습니다.

* 누구를 위한 책인가 ?

책의 서문을 보면 학생보다는 프로그래머 및 디자이너 등 현재 버전 관리가 필요한 사람이라고 언급을 하여 학생들이 보기에 어려운 책인가 예상을 하고 책을 읽으면  다시 서문에서 집필자가 학생도 볼수 있다는 언급하는 부분에 대해서 어떤 대상자가 보면 도움이되는지 명확하지 않은것이 아쉬었습니다.
이 책을 끝까지 본 독자로서에의 생각은 회사에서 Git을 사용하는 사용자까지는 봐도 되는 책이긴 하지만, 현재 사내에서 Git을 사용하지 않는 경우 Open Source Project가 아닌 비공개 Project의 Git 도입을 하려는 경우에는 이 책만으로는 원하는 정보를 다 얻을 수가 없어서 아쉬움이 남습니다.

* Git 사용법 설명

Windows 환경 중심에서 Shell을 이용한 방법으로 실습을 진행하고 있습니다.
가장 많은 사람들이 사용하고 있는 Windows 환경을 선택했다는것에 대해 높게 평가합니다.
Shell에서 직접 명령어를 이용해서 사용하는 것 또한 중요합니다. 관련 레퍼런스는 종이책이든 Online 상의 Reference든 IT분야로 종사하는 분들에게는 꼭 필요한 부분입니다.
다만 아쉬웠던 점은 너무 Shell 명령어 중심적으로 되어 있다는 것만 집중되어있던 점이 그것도 Windows 환경에서 말이죠. Git, SVN의  Tortoise 를 활용하면 Windows 탐색기에서 편리하게 작업이 가능합니다. 그래서 뒷부분에서 Tortois에 대해서 언급이없는것에는 이 책의 한계점이 너무 한곳에만 취중했던것이 보여 아쉬었습니다.
차라리 Windows 환경이 아니라 Linux 환경에서 사용하는 예제로 다루는게 더 좋지 않았을까란 생각이 들었습니다.
Linux 에서도 Tortoise 사용이 가능하다고 알고있지만, 아무래도 Windows 사용자들은 GUI 환경을 더 선호하고, Linux 사용자들은 '역쉬 개발자는 vi지.' 라는 생각을 할 수도 있기 때문입니다.
그리고 한가지 좋았던 점은 Branch 관리에 대한 부분을 그림과 함께 Git 개발 방법론 3가지에 대한 소개하는 것에 대해서는 상당히 좋았습니다.
실제로 회사에서 개발을 하는 분들도 이렇게까지 철저하게 관리를 못하고 있는 경우가 많은데, 이부분을 읽고 많은 것을 알게되었고, 진짜 큰 배움을 얻었습니다.



* GitHub 활용법

독자로 봤을 때 이 part는 시스템 개발자인 저에게도 도움을 주었습니다.
GitHub 라는 Site 소개 및 활용하는 방법이 예제와 함께 자세히 소개되어 있습니다.
GitHub에서 제공해주는 서비스들에 대한 소개는 물론 사용 예제도 소개되어 있습니다.
Wiki의 문서 관리에 필요한 문법도 간단히 몇가지가 소개되어 있습니다.
이 책 한권 만으로도 GitHub 사용 및 기타 다른 Wiki 사이트의 사용을 함에 큰 어려움 없이 바로 시작할 수 있을듯 합니다.

* 각 Part별 서평

1. 서문 

이 책의 서문에서 제일 좋은 점은 일단 간단하게라도 part 설명을 로드맵으로 표현해주기 때문에 어떤 부분으로 필요할 때 바로 볼 수 있도록 해준 부분은 독자에 대한 집필자의 배려가 느껴졌습니다.
다만 버전관리에 대한 설명시 게임에 비유하거나 대학시절을 표현하는것에 대한 게임을 하지 않는 독자도 있을것이고 대학을 나오지 않고 비전공자로 일을하고 있는 독자들도 계실것인데 그런 독자들을 생각하지 않고 비유한것이 아쉬운점이 많이 남았습니다.
클라이언트 시스템 종류에서 표를 표현할때에도 무료/유료/버전관리시스템(연도)를 나눈것이 년도가 잘 눈에 들어오지 않았고 오히려 너무 혼잡한 느낌도 들었습니다.
독자들을 설명해준다는 표현으로 ~했었죠 , ~습니다. 같은 부분은 통일감이 없어 읽을 때 살짝 아쉬움이 남았습니다.

2. 로컬 저장소 사용을 위한 Git 기본

Windows 환경 중심에서 Shell을 이용한 방법으로 실습을 진행하고 있습니다.
가장 많은 사람들이 사용하고 있는 Windows 환경을 선택했다는것에 대해 높게 평가합니다.
Shell에서 직접 명령어를 이용해서 사용하는 것 또한 중요합니다. 관련 레퍼런스는 종이책이든 Online 상의 Reference든 IT분야로 종사하는 분들에게는 꼭 필요한 부분입니다.
실습을 할 때 발생 할 수 있는 오류 및 환경 설정에 대한 대처 부분이 좀 더 자세히 있어서 Git을 처음 다루는 독자들을 좀 더 배려해 줬으면 하는 아쉬움이 있었습니다.
다만 한가지 좋았던 점은 Branch 관리에 대한 부분을 그림과 함께 Git 개발 방법론 3가지에 대한 소개하는 것에 대해서는 상당히 좋았습니다.
실제로 회사에서 개발을 하는 분들도 이렇게까지 철저하게 관리를 못하고 있는 경우가 많은데, 이 part를 읽고 많은 것을 알게되었고, 진짜 큰 배움을 얻었습니다.

3. 원격저장소와 GitHub



독자로 봤을 때 이 part는 시스템 개발자인 저에게도 도움을 주었습니다.
Git과 GitHub를 동시에 실습진행할수 있도록 해준 소개 내용이 일단 도움이 많이되고, GitHub는 간단히 OpenSource라는것만 알고 있었던 사실만 알고 있던 독자들에게도 특징이나 할 수 있는 부분에 대해 잘 기재해놓은것 같아 실제 GitHub를 이용하는 팀이나 개인 독자들에게 도움이 많이되어 좋을 것 같다고 생각이 들었습니다.
GitHub 신청하는 부분에 대해서도 상세하게 설명해놓았고, 버튼이나 선택해야하는 부분에 대해 해석을 해놓아 어떤 기능으로 처리할 경우 신청하는 분류가 잘 되어있던 점은 좋았습니다.
그래서 이 책 한권 만으로도 GitHub 사용 및 기타 다른 Wiki 사이트의 사용을 함에 큰 어려움 없이 바로 시작할 수 있을듯 합니다.

4. PART  II에대해

네가지 주요 IDE의 Git 활용법에 대해서 여러분야 프로그래머들이 많이 사용하는 Eclipse, VisualStudio, inteliJ IDEA, Xcode 등 다양한 실습을 할  수 있는것이 이책의 최고의 강점이라고 느꼈습니다. 당장 실습만 필요한 기본지식을 가지고 있는 독자들에게도 도움이 많이 됩니다.

5. PART III에 대해

Git 고급에서도 아쉽게도 CMD 색상이 눈에 띄는 색상으로 집필자님이 캡쳐를 해주셨으면 검정바탕에 회색 글씨다 보니 잘 보이지 않아 실습에 어려운점이 있었고,다만 좋았던 점은 표로 정리해놓았던 명령어에대해 상세하게 실습을 할수 있도록 사진과 함께 설명해준 점이 좋았습니다.
page 334 페이지에서 git add에 명령을 설명을 실행하였을 때 이 영역으로 이동합니다.
이 영역이 어떤 영역인지 Tip 이나 상세설명을 해주었으면 읽기가 쉽지 않았을까 하는 아쉬움이 조금 있습니다.
그리고 A부록을 어디를 참고해야하는지에 대해 명확하지 않아 책을 읽을때 흐름이 끊기는것이 아쉬운 부분도있었습니다.
여러가지 충돌 상황에 대처할수 있는 그림과 사진들은 프로젝트시 문제가 터질 때 잘 볼수 있도록 되어있어 도움이 많이 되었습니다.
Git 협업, 패치에 대해 설명이 잘 되어있었지만, 다만 브랜치와 병합을 기존에 있던 실습에 대해 조금 더 상세한 부분으로 설명해주면 고급 과정에 더 어울리지 않을까라는 아쉬움도있었습니다.



* 전체평

Git 에 대한 내용과 GitHub에 대해서 책 한권으로 모두 다루고 있다는 점에 대해서 상당히 좋습니다.
Git 사용에 필요한 명령어들에 대해서도 꽤나 자세히 나와 있어서 언제나 곁에 두고 찾기에 좋습니다.
비공개 Project 관리를 위한 Git Server 구축하는 방법에 대한 내용이 없는게 아쉬움이 남습니다.
각 Platform 별 (Windows Server ,Linux Server)에 Git Server 구축법 및 User, Repository 관리법에 대해서도 짧게나마 다루었으면 어땠을까란 생각도 들었습니다.
설치하는데 있어서도 리눅스 개발자 shell bash 라는 용어를 조금더 설명해주거나 아예 리눅스를 가상머신에 돌리면서 설치하는 방법을 알려주었다면 좋았을것이라는 아쉬움이 들었습니다.
사실상 GUI 환경에서 개발하는 분들이 가장 많이 사용하는 것은 TortoiseGit일 것입니다. 개인적으로도 SVN, Git 모두 Tortoise 만큼 사용하기 편리한 툴은 없다고 생각을 합니다. 그런데 여기에 대한 설명이 없었다는것은 조금 아쉽습니다. 굳이 설명을 안해도 될만큼 사용법이 쉬운건 사실이지만, 어떻게 설치한다. 메뉴 어디어디를 보면 앞에서 설명한 여러가지 커맨드에 대해서 간단히 실행이 가능하다는 것 정도는 언급해줘도 좋지 않았을까라는 아쉬움이 남습니다.
이 책을 읽었으면 하는 독자들은 우선 리눅스나 개발에 대한 툴 그리고 현재 Git을 활용하고 있는 독자나 팀들에 속해있는 독자라면 Git을 사용할때 쉽게 활용할 수 있는 책일것이라고 추천을 합니다.
다만 학생이나 디자이너 , 비전공자들이 읽기에는 설명부분이 부족하기 때문에 기본 바탕지식이 있는 상황에서 봐야지만 깊이 이해할수 있을것이라고 생각이 듭니다.


























댓글 없음:

댓글 쓰기