백엔드를 위한 Go 프로그래밍

백엔드를 위한 Go 프로그래밍

$22.00
Description
프로그래밍의 세계에서는 시간이 아주 빠르게 흘러갑니다. 수 년이면 프레임워크 트렌드가 바뀌고, 10년쯤 지나면 당시 인기 기술은 현재 환경에 도태된 낡은 기술로 취급되기 일쑤입니다. 하지만 백엔드(서버 프로그래밍) 환경에서는 어떨까요? 비교적 기술의 생명 주기가 길고, 특성상 신기술 도입에 살짝 신중하기도 합니다. 이쯤에서 이런 생각이 듭니다. ‘파이썬, 자바스크립트로 서버 잘 돌리고 있는데 왜 배워야 하죠?’

소규모 서비스만 다룰 생각이라면 그 둘만으로 충분할지도 모르겠습니다. 하지만 성능이 중요한 대규모 서비스, 대규모 회사일수록 존재감이 커지는 언어가 Go입니다. Google, Twitch 등 유수 기업들이 많은 코드를 Go 기반으로 바꾸었습니다. C++처럼 성능이 좋은 대신 어려울 것 같나요? 조금만 써보면 알겠지만, 전혀 그렇지 않습니다. IBM과 구글에서 일하는 2003년생 천재 개발자인 탠메이에게 이 강력한 언어를 배워보세요.

초반부 설치와 프로그램 실행 파트는 굉장히 빠르게 진행됩니다. 하지만 그럼에도 Go의 특징적인 부분은 자세히 설명합니다. 그 뒤에는 모듈, 패키지 등 자주 사용하게 될 Go 요소들을 배웁니다. 흥미를 잃지 않도록 유명한 알고리즘을 구현하거나, 영화 검색 기능을 만드는 등 재미있는 프로그램을 만들어 봅니다. 후반부에는 Go의 가장 큰 특징인 동시성을 이용하여 기존의 프로그램을 개선하고, C나 Swift 같은 언어와 함께 사용하여 효율적인 프로그래밍을 하는 방법을 알려줍니다.
저자

탠메이박시

구글머신러닝개발자
IBM소프트웨어&AI개발자
2004년생.링크드인의기술관련영향력있는인물상위25명중한명으로선정되었으며,컨퍼런스,대학및국제기업에서전세계200,000명이상의임원,학생및개발자를대상으로강연을진행했다.〈TanmayTeaches〉라고불리는그의유튜브채널에서모든사람들과그의연구와지식을공유하고있다.

목차

제1장소개
1.1왜Go인가요?
1.1.1Go의설계목표는무엇인가요?
1.1.2어디서Go를활용할수있을까요?
1.1.3Go컴파일러와런타임
1.1.4동시성
제2장빠르게시작하기
2.1Go설치하기
2.1.1시스템패키지매니저를이용하여설치하기
2.1.2미리컴파일된바이너리이용하기
2.1.3소스코드로Go빌드하기
2.2Go기본개념
2.2.1일반적인프로젝트구조
2.2.2Go의시작“Hello,World!”
2.2.3변수
2.2.4if문그리고switch문
2.2.5반복문
2.2.6함수
2.2.7구조체
2.2.8인터페이스
2.2.9오류
제3장Go모듈
3.1빌트인패키지사용하기
3.2서드파티패키지사용하기
3.2.1저소수인가요?1
3.3직접만든패키지빌드하기
3.3.1저소수인가요?2
제4장빌트인패키지사용하기
4.1일반적인데이터구조와알고리즘
4.2다익스트라길찾기
4.3콘웨이의라이프게임
4.4작업증명1
제5장동시성
5.1동시성,스레드,그리고병렬성
5.2고루틴
5.3채널
5.3.1select문
5.4작업증명2
제6장상호호환성
6.1상호호환성이중요한이유는무엇일까요?
6.2C코드와상호호환하기
6.3Swift와상호호환하기
색인

출판사 서평

*주요내용

제1장소개
왜Go라는언어를선택해야하는지알아보는장입니다.Go의설계목표와동작플랫폼,Go의메모리관리방식을소개하고,Go를사용해야하는가장큰이유인동시성과다른장점을설명합니다.

제2장빠르게시작하기
Go의설치방법과프로젝트구조,필수문법등앞으로배우게될Go의핵심요소들을배우기전준비하고알아야할사항을가볍게살펴봅니다.불필요할정도로자세히설명하기보다는다른언어와Go가다른부분들을위주로설명합니다.

제3장Go모듈
Go의패키지관리시스템인Go모듈의구성과사용법을알려주는장입니다.언어에내장된패키지와서드파티패키지를사용하는방법,직접패키지를만드는방법을영화정보검색프로그램,소수확인프로그램등의재미있는예제를통해배워봅니다.

제4장빌트인패키지사용하기
내장된패키지를이용하여Go의다른기능과특징을다익스트라길찾기알고리즘과콘웨이의라이프게임을구현하며배우게됩니다.Go에서GUI를구현하는방법,나만의함수를만드는방법등을알게됩니다.

제5장동시성
Go의가장중요한특징인동시성을소개하는장입니다.기존의스레드와프로세스의개념을잡은다음,Go에서지원하는기능인고루틴과채널을이용하여기존프로그램을얼마나개선시킬수있는지보여줍니다.

제6장상호호환성
이미발명된바퀴를다시만들필요가없듯,프로그램도마찬가지입니다.6장에서는Go가특화된분야와다른언어를사용하는게나은분야를알려주고,각언어의장점을살릴수있도록Go와다른언어를함께사용하여프로그램을만들수있는방법을알려줍니다.