새벽을 밝히는 붉은 달

[나는 리뷰어다] Go 성능 최적화 가이드 본문

Developer/Book

[나는 리뷰어다] Go 성능 최적화 가이드

자윰 2023. 9. 24. 22:09

 

글을 쓰기에 앞서, 나는 Golang을 아주 조금밖에 다루지 못하는 사람이다. Go를 정말 잘 다루는 사람들의 경우에는 책을 읽고 난 후의 감상이 다르게 다가올 수 있기 때문에 이 부분을 참고하여 리뷰를 읽어주세요.

 

예전부터 Go는 나에게 배우고 싶었던 언어이다. 최근 많이 쓰이는 다양한 인프라 서비스들이 Go로 작성되어 있고, 유명한 프로그래밍 언어 - C, Java, Python 등 - 의 장점 등을 모아 사용하기 쉽다고 하며, 주니어 개발자가 써도 최소한 평타(?)는 친다는, 요즘 인기 있는 언어였기 때문이다. 내 직군에서도 API 서버를 운영하는 부분은 Go를 도입하는 추세였기에 Go는 항상 잘 다루고 싶은 언어인 존재이다.

 

이전에 Go에 관심이 생겨서 동아리 내에서 스터디를 했던 적이 있었는데, 그때 이후로 Go를 사용할 기회가 없어서 사용하지 않다가 이번에 <Go 성능 최적화 가이드> 책을 읽으면서 Go의 문법을 다시 한 번 살펴보았다. 러닝커브가 낮은 편이라고 소문이 난 언어이기도 하고 C를 다룬 경험이 있어서 문법 자체를 익히는 건 그렇게 어렵지는 않았다. 그렇게 Go를 한 번 살펴보고 이 책을 읽게 되었다.

 

이 책은 Golang Korea에서 옮겼는데, 특이한 점은 각 챕터별로 번역하신 분들이 다르다는 것이었다. 빠르게 번역하기 위하여 이 방법을 선택했다고 하는데, 처음에 챕터별로 번역한 분들이 달라 읽기 좀 불편하지 않을까 걱정했지만 어투나 용어 등이 통일되어 있어 읽는데 불편함은 없었다.

 

이름에서 볼 수 있듯 이 책은 최적화를 중점에 두고 설명을 이어나간다. 개인적으로 흥미로웠던 부분은 Go의 CPU와 메모리 자원 사용법을 설명해주는 것이었다. 어떤 언어를 배우든 어느 정도 언어를 배우면 조금 더 해당 언어를 잘 쓰기 위해서 이 언어가 CPU와 메모리를 어떻게 사용하는지 궁금해지는데, 이 부분에 있어서 이 책은 그 부분을 깊게 다루고 있다. 다만, 컴퓨터 구조, 운영체제, 시스템 프로그래밍, 컴파일러 등에 대한 사전 지식이 부족하면 읽는데 어려울 수도 있을 것 같다.

 

다양한 벤치마킹과 최적화 예시도 담고 있었는데, Go를 주로 사용하는 사람들이 최적화를 해야 할 경우에 읽어보면 도움이 될 것이다. 아직 Go를 본격적으로 다루어보지는 않아서 자세히 읽지는 않았지만, 추후 Go를 본격적으로 사용하게 되고, 최적화의 필요성이 생길 때 해당 부분을 참고하여 최적화를 해볼 생각이다.

 

어느 정도 Go를 다룬 경험이 있고, 내용이 내용인만큼 컴퓨터 구조와 운영체제 등 컴퓨터 공학의 기본이 되는 내용들에 지식이 있으며 최적화의 필요성이 있는 사람들에게 이 책을 권한다.

 

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

Comments