Go 언어를 활용한 네트워크 프로그래밍 - 보안에 강하고 신뢰할 수 있는 네트워크 서비스 구현법
애덤 우드벡 지음, 김찬빈 옮김 / 제이펍 / 2022년 1월
평점 :
장바구니담기


Go(Golang)는 구글에서 만든 프로그래밍 언어입니다.
초기에는 불안정으로 인한 이슈도 있었지만, 지금은 개발자들이 가장 배우고 싶어 하는 언어 중 하나입니다.
무엇이 개발자들의 흥미를 이끌었을까요?
많은 이유가 있겠지만 단연코 '생산성'이라고 할 수 있습니다.
간결하고, 효율적인 코드는 개발을 빠르고 쉽게 할 수 있습니다.
무엇보다 고의 특징인 동시성과 네트워크 기능은 '네트워크 프로그래밍'에 최고의 효율을 보일 수 있습니다.


이 책은 'Go 언어를 활용한 네트워크 프로그래밍'이란 제목에서 알 수 있듯이 고 언어의 특징인 '네트워크 프로그래밍'을 잘 설명해 주고 있습니다.
참고로 이 책은 Go 언어에 대한 문법이나 설명을 하고 있지 않습니다.
부제에도 있듯이 '네트워크 서비스 구현법'에 대해 집중적으로 설명하고 있습니다.

책의 앞부분에서는 네트워크에 대한 설명을 하고 있습니다.
아래의 그림에서 볼 수 있듯이 OSI 참조 모델부터 시작해서 TCP, UDP, 인터넷 트래픽 등에 대한 이론과 지식을 보여주고 있습니다.


이 부분을 보면서 그동안 알고 있었던 네트워크에 대한 지식을 정리하고, 업데이트할 수 있었습니다.
Go 언어로 코드를 구현하기에 앞서 네트워크에 대한 설명은 너무 좋습니다.
기반 기술에 대한 이해가 충분해야 제대로 된 코드를 작성할 수 있다고 믿습니다.
단지 코딩만 할 수 있다는 것은 사상누각에 불과합니다.

중반부터 본격적으로 Go 언어를 사용한 네트워크 프로그래밍을 선보이고 있습니다.
앞서 말했듯이 Go 언어에 대한 설명이 없기에 미리 Go 언어에 대해 미리 공부하시면 훨씬 이해가 쉽고 빠를 것입니다.


위와 같이 프로그램 작성시 생길 수 있는 다양한 오류에 대한 처리도 함께 보여주고 있습니다.
프로그램 개발시 가장 많은 시간이 걸리는 것이 디버깅, 오류 수정임을 고려한다면 이런 친절함은 많은 수고로움을 덜어주게 합니다.


데이터 포멧으로 가장 많이 쓰는 json을 사용하여 데이터를 저장하고 전송하는 방법을 보여주고 있습니다.
위 그림을 보면 알 수 있겠지만 코드에 있는 숫자는 다음 페이지에서 상세한 설명을 하고 있습니다.
이 설명으로 Go 언어의 특징을 알 수 있고, 제대로-혹은 올바르게- 사용할 수 있게 해줍니다.


Go에서 http 서버가 어떻게 처리되는지를 심플하지만 명확하게 잘 보여주고 있습니다.
가장 많이 사용되고 있기에 이 부분만 제대로 이해할 수 있다면 이 책을 볼 이유는 충분하다고 생각합니다.

이 책을 보면서 Go 언어가 왜 네트워킹 프로그래밍에 강한지 알 수 있었습니다.
기존의 책들은 Go 언어의 문법만을 다루고 있기에 Go 언어를 왜 써야 하는지, 어디에 적용할 수 있는지에 대한 충분한 이해가 되지 않았습니다.
이 책은 그에 대한 명확한 답을 보여주고 있습니다.
이 책의 모든 내용을 이해하고 적용할 수 있다면 초급을 넘어선 프로그래머라 할 수 있을 것입니다.
네트워크 프로그래밍-사실상 거의 모든 것이라 할 수 있겠지만-에 대한 관심이 있다면 Go 언어를 해야 할 것이고, 이 책을 보길 권해드립니다.


댓글(0) 먼댓글(0) 좋아요(4)
좋아요
북마크하기찜하기 thankstoThanksTo