본문 바로가기
review/DEV

책 리뷰 : Go 언어로 배우는 웹 애플리케이션 개발

by ㅇㄱㅈㄱ 2024. 2. 15.
728x90
반응형

"<Jpub 전문서 리뷰어>"활동을 위해서 책을 제공받아 작성된 서평입니다.

제목 : Go 언어로 배우는 웹 애플리케이션 개발


- 책의 내용 및 구성

1. 20개의 챕터, 약 350p로 구성

2. Go 언어의 문법보다는 Go 언어로 개발 시 알아두면 유용한 팁들이 주로 포함

3. 전반부(1~12챕터)는 팁 위주이고 후반부(13챕터~)는 ToDo 웹 애플리케이션을 개발하면서 환경 설정, 도커 컨테이너 작성, CI/CD 설정, 테스트 작성 등 실습에 대한 전반적인 부분을 진행하면서 Go 언어 외에도 전반적인 개발 방식과 환경에 대해 배울 수 있음.

4. 필자가 대상 독자는 'Go 중급자가 되길 원하는 사람' 으로 정해놨으므로 기본적인 Go 문법을 알고 실제 개발을 진행 해 보았으며 사용할 줄만 알고 구조는 잘 모르는 개발자를 타겟으로 한다.

 

- 책에서 눈에 띄는 점

- 프로그래밍 입문서가 아님에도 탄생 배경을 언급하는 것은 그저 작성하고 실행되는 코드가 아닌, 내가 사용하는 코드가(또는 언어가) '왜 이렇게 실행되는지'에 대해 이해하고 더 잘 활용할 수 있게 하기 위함이 아닐까 싶다.

 

- Go가 추구하는 방향성 중 하나가 바로 '간결함' 이다. 어떤 문제에 대해 간결하게 해결할 수 있는 방안을 모색하고 사용하는 것이 Go의 모토인 것 같다.

 

- Go에서 이야기하는 '객체지향에 준하는 프로그래밍 언어' 라는 이야기는 객체지향의 3대 요소(캡슐화, 다형성, 상속)을 갖고 있기 때문이다. 객체지향이다, 아니다 로 나눠지는 단편 요소가 아닌 객체지향에서 필요한 요소를 사용하면서도 다른 언어의 여러 장점들을 사용하겠다는 Go 언어의 유연성을 알아볼 수 있다.

 

- java 등 객체지향 언어에서 캡슐화에 활용되는 접근제어자의 경우도 Go에서는 약간 다르게 사용되기 때문에 주의가 필요한 것을 알 수 있다.

 

- 총평

 제목과 간략한 내용을 보고 속았다. 아니 착각했다고 해야하나? '~로 배우는' 이라는 제목과 내용 소개에 쓰인 '이 책 한 권이면 베테랑 고퍼로 레벨 업!' 이라는 말을 보고 Go 입문서겠거니 하고 서평단을 신청한게 낭패였다. 소개글만 읽어봐도 입문자용이 아님을 알 수 있었을텐데 말이다.

 객체지향의 특성을 가지고 있지만 현재 주 언어로 사용하고 있는 JAVA와는 결이 다르다. 여러가지가 짬뽕 된 느낌이라고 해야할까? context는 보통 JS에서 많이 보던 단어인데 초반 챕터부터 이 단어가 나올 줄은 몰랐다. '보통 설치부터 시작하는데...' 라고 생각했다가 그제서야 무언가 잘못되었음을 느끼게 되었다. 그래서 부랴부랴 내가 읽어볼만한 내용들이 있나 찾아보았고 완벽하진 않지만 꽤나 재미난 내용과 팁들이 들어있었다.

 막연하게 처음 보는 언어를 접하면 일단 기존에 사용하던 언어와 비교를 하게 된다. 이 책에서도 그걸 알고 쓰였는지 '~ 코드를 사용할 때 주의해야 한다.' 와 같은 말들이 꽤나 눈에 띄었다. 알고 있었다면 복습의 용도로, 모르고 있었다면 정말 유익하고도 간단한 팁들이 아닐까 싶다.

 후반부 실습 전 환경설정에서 '도커'나 '깃헙' 같은 설정을 하는데에도 '이정도 기술은 어느정도 알고 있다는 것을 가정~' 한다는 생각으로 쓰인 것 같다. 마찬가지로 시작 시 설치같은 복잡하면서도 늘어지는 부분은 제외되었기 때문이다.

 'Go' 언어라고 한다면 당장 나무위키 설명만 봐도 키워드가 적고 문법 또한 간결해 입문이 쉬운 단순하고 실용성을 지향하는 언어라고 쓰여있다. 느즈막히 2009년에 태어났지만 벌써 굴지의 대기업들이 사용중이며, 지원도 잘 되고 있는것을 볼 수 있다. 우리나라에선 생소할 수 있지만 해외 취업을 노린다면 한번쯤은 도전해 볼만한 언어인 것 같다.

 Go를 막 배운 입문자들이 보기엔 조금 난이도가 있는 책일 수 있지만 Go로 프로젝트를 한두번쯤 경험해 보았고 서버를 운영하는데 필요한 여러가지 기술(위에서 언급한 도커나 깃헙) 등을 사용해 보았다면 훌륭한 고퍼로 가는 레벨업 길잡이 같은 책이 되지 않을까 싶다.


728x90
반응형

댓글