본문 바로가기

추천 검색어

실시간 인기 검색어

Go 성능 최적화 가이드

디코딩

2023년 09월 18일 출간

종이책 : 2023년 09월 05일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (9.42MB)
ISBN 9791198140869
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 32,000원

쿠폰적용가 28,800

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

기술 발전과 빠른 시장 변화, 늘어나는 시스템 복잡성으로 인해 개발자들은 ‘소프트웨어 효율성’이라는 불편한 주제를 피하곤 한다. 그러나 개발 비용을 줄이고 비즈니스에서 성공하려면 관찰 가능성에 기반한 성능 최적화가 필수다. 이 책은 어떤 개발자라도 소프트웨어 효율성을 효과적으로, 전문적으로 쉽게 다루도록 돕는 데 초점을 맞추었다. 이를 위해 필자는 더 빠른 시스템 성능을 구현하고 더 적은 자원을 소모하는 데 필요한 도
구와 지식을 구체적으로 제공한다.
Chapter 1 소프트웨어 효율성이 중요한 이유
1.1 성능의 뒷면
1.2 효율성에 관한 일반적인 오해
1.3 코드의 성능을 끌어올리는 열쇠
1.4 마치며

Chapter 2 효율적인 Go 언어
2.1 Go에 대해 알아야 할 기본 사항들
2.2 고급 언어 요소
2.3 Go는 정말 빠를까?
2.4 마치며

Chapter 3 효율성 완전 정복
3.1 낭비 제거 이상의 최적화는 제로섬 게임
3.2 최적화 작업의 어려움
3.3 목표에 대한 확실한 이해
3.4 효율성 문제에 대처하는 태도
3.5 최적화 설계 수준들
3.6 효율성 인식 개발 절차
3.7 마치며

Chapter 4 Go의 CPU 자원 사용법
4.1 최신 컴퓨터 구조의 CPU
4.2 어셈블리어
4.3 Go 컴파일러 이해
4.4 CPU와 메모리 벽 문제
4.5 스케줄러
4.6 언제 동시성을 사용할 것인가?
4.7 마치며

Chapter 5 Go의 메모리 자원 사용법
5.1 메모리 관련성
5.2 메모리 문제 유무 파악
5.3 물리적 메모리
5.4 운영체제 메모리 관리
5.5 Go 메모리 관리
5.6 마치며

Chapter 6 효율성 관찰 가능성
6.1 관찰 가능성
6.2 [예시] 레이턴시 계측
6.3 효율성 메트릭의 의미 체계
6.4 마치며

Chapter 7 데이터 기반 효율성 평가
7.1 복잡도 분석
7.2 벤치마킹의 기술
7.3 실험의 신뢰성
7.4 벤치마킹 수준
7.5 마치며

Chapter 8 벤치마킹
8.1 마이크로벤치마크
8.2 마이크로벤치마킹 팁과 트릭
8.3 매크로벤치마크
8.4 일반적인 매크로벤치마킹 워크플로
8.5 마치며

Chapter 9 데이터 기반 병목 현상 분석
9.1 효율성을 위한 근본 원인 분석
9.2 Go에서의 프로파일링
9.3 프로파일링 시그널 추출
9.4 공통 계측 프로파일링
9.5 조언과 요령
9.6 마치며

Chapter 10 최적화 예제
10.1 Sum 예제
10.2 레이턴시 최적화하기
10.3 메모리 사용량 최적화하기
10.4 동시성을 이용한 레이턴시 최적화
10.5 추가 사항: 고정관념 벗어나기
10.6 마치며

Chapter 11 최적화 패턴
11.1 일반 패턴
11. 2 ‘세 가지 R’ 최적화 방법
11.3 리소스 누수 방지
11.4 사전 할당의 중요성
11.5 배열로 인한 문제: 메모리 남용
11.6 메모리 재사용과 풀링
11.7 마치며
11.8 다음 나아갈 단계는?

APPENDIX A 레이턴시 냅킨 수학 계산

찾아보기

[이 책의 핵심 내용]
이 책은 Go 언어를 단순히 효과적(Effective)으로 작성하는 것을 넘어 효율적(Efficient)으로 소프트웨어를 개발하는 방법을 알려 준다. 저자는 효율성의 의미를 정의하는 것에서부터 이야기를 시작하여, 컴퓨터 성능의 발전과 하드웨어 비용의 감소로 인해 간과하기 쉬운 최적화의 필요성과 실용적인 수행 방법에 대해 설명한다. 이 책은 개발자 기술 면접에서 자주 언급되는 시간 복잡도와 공간 복잡도 분석 수준을 넘어서, 소프트웨어의 효율성을 측정해 개선이 필요한 부분을 찾고 어떻게 유의미한 개선을 할 수 있는지와 개발 프로세스 전반에 적용할 수 있는 모범 사례들을 소개한다. 이는 Go 언어뿐만 아니라 다른 언어에도 충분히 적용 가능한 내용으로 다른 언어를 주로 사용하는 개발자에게도 유익한 내용이 될 것이다.

[이 책의 대상 독자]
 Go 또는 다른 최신 프로그래밍 언어들로 프로그램을 설계·생성·변경하려는 소프트웨어 개발자들
 데브옵스, 사이트 신뢰성 엔지니어, 시스템 관리자, 플랫폼 팀 등 소프트웨어를 운영하는 분들
 소프트웨어 효율성을 높이고 비용을 절감하려는 매니저, 프로덕트 매니저, 리더들

[이 책의 구성]
 1장: 효율성의 개념과 소프트웨어 효율성이 중요한 이유를 다룬다.
 2장: 효율성 측면에서 Go 언어를 소개한다.
 3장: 최적화를 어떻게 생각하고 접근해야 할지 설명한다. 효율성을 개선하려면 오랜 시간이 필요하지만 체계적으로 접근하면 많은 시간과 노력을 아낄 수 있다.
 4~5장: 레이턴시, CPU, 메모리 자원을 다룬다. 그리고 운영체제와 Go가 이것들을 어떻게 추상화하는지 설명한다.
 6장: 소프트웨어 최적화와 관련해 데이터 기반 의사결정의 의미를 다룬다.
 7장: 실험의 신뢰성과 복잡도 분석을 논의한다.
 8~9장: 벤치마킹과 프로파일링 기법을 설명한다.
 10~11장: 다양한 최적화 예제를 10장에서 보여 주고, 마지막 11장에서는 Go 커뮤니티에서 경험한 다양한 효율성 패턴과 기법에 대해 공부하고 요약한다.


[추천사]
『Go 성능 최적화 가이드』는 놀라우면서도 통찰력 있는 책으로, 소프트웨어 효율성에 대한 생각을 바꿔 줄 것이다. 이를 통해, 독자들은 코드를 최적화하면서 데이터에 기반한 평가를 하고, 최적화가 가능한 패턴인지 알아차리는 방법을 배울 것이다. 코드를 작성할 때 효율성을 생각하게 하고, 이를 쉽게 해내는 데 이 책이 큰 도움이 되리라 확신한다!
_사스와타 무케르지(레드헷 엔지니어)

Go 언어가 배우기 쉽고 성능도 좋다는 것은 이미 널리 알려져 있다. 이를 방증하듯, 국내에서도 Go 언어 관련 행사에 몰려드는 사람들의 수가 점점 증가하고 있다. 하지만 '쉽다'는 부분엔 동감해도 '좋다'는 부분엔 여전히 의구심을 품는 이들이 있다. 이 책에서는 Go 언어 런타임 뒤에 숨겨진 컴퓨터의 물리적 특징과 프로젝트에서 Go를 사용할 때 고려할 사항들을 살펴본다. 또한 Go로 작성된 프로그램의 성능을 측정하는 방법과 현대적인 배포 환경에서 이를 더욱 최적화하는 방법까지 안내하며 '효율적으로 더 좋은' 프로그램을 만들 수 있도록 돕는다. Go 언어를 진지한 목적으로 사용하려는 사람들에게 이 책을 적극 추천한다. 나는 Go 언어가 처음 배포될 때부터 10년 넘게 주력 언어로 Go를 사용해 왔다. Golang Korea의 오거나이저를 역임했고 현재는 42dot에서 백엔드 엔지니어로 일하며 실무에 Go 언어를 적극 사용하고 있다.
_이호민(42dot 백엔드 엔지니어, 20년 차 개발자)

『Go 성능 최적화 가이드』를 읽으면서 Go 코드의 효율성에 대한 깊이 있는 관점을 얻을 수 있었다. Go 커뮤니티에서 활동하며 많은 자료를 접해 왔지만, 이 책은 다른 책들과 차별화된 내용을 제공한다. 특히, 초보자도 이해하기 쉽게 구성되어 있어 Go 성능 최적화 방법을 습득하는 데 큰 도움이 될 것이다. Go 개발자라면 이 책을 통해 Go의 내부까지 깊이 있는 인사이트를 얻어 가길 바란다.
_한성민(Golang Korea 오거나이저, ML GDE)

작가정보

바르틀로미에 (바르텍) 플로트카는 구글 시니어 소프트웨어 엔지니어(구 레드햇 수석 소프트웨어 엔지니어)이며, 현 CNCF(https://cncf.io) TAG 관찰 가능성 그룹의 기술 리드다. Go로 작성한 인기 있고 안정적인, 성능과 효율성 중심의 분산 시스템을 만드는 작업과 관련된 관찰 가능성 구현에 기여해 왔다. 프로메테우스, gRPC 에코시스템의 라이브러리를 포함한 다양한 오픈소스 프로젝트의 핵심 메인테이너다. 2017년에는 파비안 라인아르츠와 함께 타노스(https://thanos.io)라는 인기 있는 오픈소스 분산 타임시리즈 데이터베이스를 만들었다. 이 프로젝트는 저렴하면서도 효율적인 메트릭 모니터링을 지향함으로써 수백 개의 성능 및 효율성 개선을 이뤘다. 바르텍은 Go의 가독성, 신뢰성, 효율성에 깊은 관심을 기울여 왔고, 수많은 도구를 만드는 데 기여했다. 또한 블로그 포스팅과 가이드를 통해, 개발자들이 실용적이면서도 효율적인 Go 애플리케이션을 작성할 수 있도록 돕고 있다.

Golang Korea(고랭코리아)는 한국 Go 언어 개발자 소통과 생태계 개선을 위해 2011년에 개설된 커뮤니티로, 현재 약 7,300명의 구성원이 함께하고 있다. 고랭코리아는 디코딩과 함께 깊이 있는 Go 언어 서적을 만들기 위해 힘쓰고 있으며, Go 언어 거대 연례행사인 고퍼콘 코리아를 기획·운영하고 있다. 또한 커뮤니티의 핵심 가치에 해당하는 볼륨, 다양성, 연결을 구현하기 위해 전국을 돌아다니며 Go 언어를 알리는 ‘Go To Everywhere(전국 방방고고)’ 행사를 하며 국내 Go 언어 생태계를 개선하는 데 힘을 보태고 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    Go 성능 최적화 가이드 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    Go 성능 최적화 가이드 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    Go 성능 최적화 가이드
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)