2023. 6. 25. 22:35ㆍ내 서재
서평시작
안녕하세요?
매달 한빛미디어에서 서평을 하게 되었습니다.
이번에는 개발자라면 누구나 알고 있을 '깃(Git)'과 '깃허브(GitHub)'를 쉽게 시작하도록 안내하는 책을 읽고 서평을 남기게 되었습니다.
'깃(Git)'은 버전관리시스템(Version Control System)에 있어서는 전 세계적으로 사실상의 표준(de facto standard)으로 자리하고 있습니다. 개발자라면 전 세계적으로 모르는 사람이 없을 정도이지만, 누구에게나 '처음'은 있습니다. 이 책은 '처음'인 사람들이 '시작하기'에 두려움을 느끼지 않도록 아주 기본적인 개념부터 쉽게 설명합니다.
그래서 아래와 같이 '버전관리'부터 안내를 시작합니다.

이런 도입형 기본서가 곧바로 '깃(Git)'에 대한 설명부터 시작을 했다면 굳이 Git (git-scm.com) 과의 차이가 없었을 겁니다.
Git
git-scm.com
시작하는 사람들에게 모든 것이 낯설텐데, 이런 방식으로 안내하는 것은 소개서가 존재해야 하는 까닭을 제대로 짚었다고 생각합니다. 점점 더 많은 것이 공개되고 공유되는 세상에서 여전히 도입서 또는 입문서가 필요한 까닭은 그럼에도 처음인 사람이 이해하지 못하는 낯선 영역이 있기 때문인데, 이 책은 그런 점에서 꽤 기본서로서 기본기가 매우 충실합니다.
'깃(Git)'을 사용하거나 배우는 대부분은 클라우드로 제공하는 3대장 '깃허브(GitHub)', '깃랩(GitLab)', '비트버켓(BitBucket)' 가운데 하나는 사용하고 있고, 가장 대표적인 '깃허브(GitHub)'를 통해 '깃'을 활용하는 방법을 안내하는 것은 너무도 당연한 선택입니다. 이 역시 전 세계적으로 거의 모든 사람들이 '깃'을 배우고 실습하고 관리하기 위해 따르는 트랙이기에 매우 적절하다고 생각합니다.
무엇보다 이 책의 장점은
사실 깃을 배울 수 있는 방법은 여러 곳이 있고, Git (git-scm.com)과 같이 전 세계 사람들이 기본적으로 방문하는 곳이 있습니다. 그리고 깃허브에 대해서도 깃허브의 공식 학습 사이트인 GitHub Skills 같은 곳도 있습니다.
하지만, 초보자들에게는 이런 곳들을 곧바로 활용하기는 어렵습니다. 개념을 이해하는 데에도 적지 않은 시간이 필요하고 실무적으로 언제 어떻게 쓸 것이지 난감합니다.
그리고 무턱대고 깃허브를 사용해서 전 세계적으로 인기있는 텍스트 에디터(프로그래밍용 툴)인 '비주얼 스튜디오 코드(Visual Studio Code 혹은 VS Code)' 같은 도구를 사용해서 협업을 통해 소스코드를 관리하다보면 당황스런 상황을 매우 많이 만나게 됩니다.
이런 당황스런 상황에도 놀라지 않게 '실무에서 발생할 상황'을 마치 테스트 사례를 만들어 해결하는 걸 보여주기에 단순히 명령어를 설명하는 것과 차이가 확실히 있습니다.
자 그럼 이 책의 구조를 한 번 살펴보겠습니다
이 책은 7일내에 책을 마스터하도록 유도하고 있습니다.

'iTshirt'라는 오픈소스를 만들고 이를 통해 회사를 설립한 후 개발자들이 늘어가면서 발생되는 사정을 흥미진진하게 풀어놓고 있는데, 스타트업의 성장스토리를 보는 것처럼 흥미로우면서도 '깃(Git)'과 '깃허브(GitHub)'를 적재적소에서 지루할 정도로 꼼꼼하게 개념을 설명하며 원리를 이해시키기 위해 노력합니다.
특히 '챕터(CHAPTER) 3'은 '여러 명이 함께 Git으로 협업하기'라는 제목으로 앞서 말씀드린 것처럼 실무에서 협업하기 위한 방법과 협업하며 맞이하게 될 당황스런 상황을 매우 흥미롭게 풀어냅니다.
'챕터(CHAPTER) 4'는 '포크'라고 하는 반드시 이해해야할 개념을 안내한 후에 원격 저장소를 둘 이상 만들어 협업하는 상황을 안내하는데, 이미 만들어진 오픈소스를 활용해서 추가개발을 할 때 반드시 접하게 되는 내용이라 초보자에게 딱 필요한 내용을 잘 설명해주고 있습니다.
'챕터(CHAPTER) 5'는 성장에 따라 여러 개발자가 개입하게 됨에 따라 알아둬야할 개념들인 '어멘드', '체리 픽', '리셋', '리버트', '스태시' 등을 다루며 각자의 차이점과 활용에 대한 실무적인 팁을 잘 안내해줍니다.
그 밖에 '깃허브(GitHub)'를 더 세밀하게 다룰 수 있는 팁을 '챕터(CHAPTER) 6'에서 'GitHub 100% 활용하기'라는 제목으로 안내하고 있습니다. 과연 4일차에 다룰 수준인지는 다소 의문스럽긴 하지만 한 번 일별하고 나면 실무에서 꽤 쏠쏠하게 쓸 수 있지 않을까 생각합니다.
<심화편>에서 'CLI 환경에서 버전 관리 시작하기'라는 제목으로 좀 더 개발자들이 편하게 쓸 수 있도록 안내합니다. 기본적인 개념과 원리는 '그래픽 유저 인터페이스(GUI, graphic user interface)'로 이해시킨 후 개발자들이 프로그래밍과 소스들의 버전컨트롤을 좀 더 손쉽게 하도록 하여 '초보자'들이 실무에 적응하기 쉽게 도와줍니다.
딱 실무적을 활용하기 쉽게 구성을 잘하고, 학습에도 마치 스타트업의 성장스토리를 입혀서 안내를 하고 있기에 개념위주의 설명글이 갖는 한계를 실무적으로 잘 소개하고 있습니다.
이 책에서 살짝 아쉬운 점은
비단 이 책만의 아쉬움이 아니라 이런 기술서적의 공통된 한계일텐데요.
거의 모든 디지털기술이 기하급수적으로 변화하고 발전하고 있다보니 책에서 제공하는 화면과 실제 화면의 차이가 발생합니다. 바로 변화에 대한 빠른 적응이 기술서적의 아쉬움이자 한계가 아닐까 싶습니다.
대표적인 '깃허브(GitHub)' 서비스인 '코드스페이스(codespaces)'가 누락된 것은 아쉬움이 남습니다. '코드스페이스'가 '깃허브(GitHub)'는 초보자일지라도 개발에 있어서는 초보가 아닌 사람들에게 매우 유용한 점에 비춰보면 핵심요소가 시간적 차이로 인해 빠졌다는 점은 이 책이 '개정판'임에도 추가적으로 개정을 하게 되면 반드시 다뤄야 할거라고 믿습니다.
게다가 2023년 마이크로소프트가 5월에 실시한 개발자용 행사인 '빌드(Build)'가 있고난 후에 인공지능 패어 프로그래밍 서비스인 '코파일럿(Copilot)'이 활성화 되기 시작할 예정이라 메뉴에 등장한 'Copilot'이 누락된 점은 다소 아쉽다고 생각합니다. 머지 않아 '코파일럿 엑스(Copilot X)'가 상용화 될 상황예정이라 추가적인 개정이 있을 때 이 점을 꼭 다뤄줬으면 합니다.

참고:
깃허브의 최고경영책임자(CEO)인 토마스 돔케(Thomas Dohmke)가 선보인 'Copilot X'에 대한 2023년 마이크로소프트 빌드 행사의 Next generation AI for developers with the Microsoft Cloud 세션은 깃허브의 중요한 변화를 알 수 있으니 꼭 보시길 추천합니다.
마무리
그럼에도 이 책은 초보자로서 기초적인 개념을 익혔지만 실무에서 협업을 하게 되면 반드시 당황하게 될 '충돌'과 '병합(merge)' 등이 어떻게 발생하고 해결하면 되는 지를 알려주는 점에서 실무용 실습서로서의 가치가 매우 출중합니다.
혼자서 '깃(Git)'과 '깃허브(GitHub)'를 사용하는 경우라면 한계가 있을 실무에서 반드시 발생하는 상황을 어떻게 해결할 지를 꼼꼼히 알려주는 점에서 '참고서'로서는 더할 나위 없이 훌륭하고 그래서 '개정판'까지 나오게 된 것이라고 생각합니다.
아마 초보자로서 겪게될 난감한 상황은 "챕터(CHAPTER) 3"에서 시작해서 특히 "챕터(CHAPTER) 4"와 "챕터(CHAPTER) 5"에서 거의 해결이 가능하지 않을까 싶습니다. "챕터 4와 5"는 초보자들의 손때가 가장 많이 묻을 곳이 될 거라고 조심스레 예측합니다.
추천합니다!!!
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
'내 서재' 카테고리의 다른 글
모든 것은 흐른다 - "판타 레이" (1) | 2023.09.11 |
---|---|
도서리뷰: 사실은 이것도 디자인입니다. (2) | 2023.08.27 |
도서평: MLOps 실전 가이드 (0) | 2023.07.23 |
도서리뷰: 초보자를 위한 유니티 입문(개정2판) (0) | 2023.05.22 |
도서평 "데이터로 말한다! 퍼포먼스 마케팅" (0) | 2023.03.22 |