알라딘

검색
헤더배너
[중고] GO 마스터하기 (고급 기능을 활용한 실전 애플리케이션 만들기)
    • 배송료
      택배 3,800원, 도서/산간 6,200원
    • 판매자
    • 출고예상일
      통상 48시간 이내

    무이자 할부 안내

    • * 2~3개월 무이자 : 현대, 신한, 삼성, 국민, 하나
      * 2~5개월 무이자 : 우리, BC, 롯데
      * 2~6개월 무이자 : 농협
      ※ 제휴 신용카드 결제시 무이자+제휴카드 혜택 가능합니다.
      ※ 알라딘페이는 토스페이먼츠사 정책으로 5만원 이상 할부 선택이 가능하오니 필요시 다른 결제수단을 이용 부탁드립니다.
      ※ 오프라인결제/Non ActiveX 결제(간편결제)/카카오페이/네이버페이(Npay)/페이코 등 간편결제/법인/체크/선불/기프트/문화누리/은행계열카드/ 알라딘 캐시와 같은 정기과금 결제 등은 행사대상에서 제외됩니다.
      ※ 무이자할부 결제 시 카드사 포인트 적립에서 제외될 수 있습니다.
      ※ 본 행사는 카드사 사정에 따라 변경 또는 중단될 수 있습니다.

    상품을 장바구니에 담았습니다.

    보관함에 상품 담기

    • US, 해외배송불가, 판매자 직접배송
    • 중고샵 회원간 판매상품은 판매자가 직접 등록/판매하는 오픈마켓 상품으로, 중개 시스템만 제공하는 알라딘에서는 상품과 내용에 대해 일체 책임지지 않습니다.
    새책eBook알라딘 직접배송 중고이 광활한 우주점판매자 중고
    (33)
    36,000원(절판)출간알림 신청--4,500원
    중고상품 구매 유의 사항
    중고상품 구매 유의 사항

    책 정보

    · 제목 : Go 마스터하기 (고급 기능을 활용한 실전 애플리케이션 만들기)
    · ISBN : 9791161752082
    · 쪽수 : 776쪽
    · 출판일 : 2018-10-16

    책 소개

    Go 언어의 개론서로 Go 언어의 역사부터 동시성, 시스템 및 네트워크 프로그래밍, 최신 클라우드 개발에 이르기까지 방대한 주제를 깊이 있게 다루고 있다. Go 언어의 내부 원리, 동시성 모델, 시스템 및 네트워킹 코드 작성법, 데이터 타입과 자료구조 활용법 등을 배울 수 있다.

    목차

    1장. Go 언어와 운영 체제
    __이 책의 구성
    __Go 언어의 역사
    __Go 언어를 배우는 이유
    __Go 언어의 장점.
    ____그렇다면 Go 언어는 완벽한가?.
    ____godoc 유틸리티.
    __Go 코드 컴파일하기
    __Go 코드 실행하기
    __Go 언어의 두 가지 규칙
    ____사용하지 않을 Go 패키지는 임포트하지 말 것
    ____중괄호 작성 스타일을 따를 것
    __Go 패키지 다운로드하기
    __유닉스 stdin, stdout, stderr
    __화면에 출력하기
    __표준 출력 사용하기
    __사용자로부터 입력 받기
    __:=와 =
    ____표준 입력으로부터 읽기
    ____커맨드라인 인수 다루기
    __에러 출력
    __로그 파일 작성하기
    ____로그 수준
    ____로그 기능
    ____로그 서버
    ____로그 파일로 정보를 보내는 Go 프로그램
    ____log.Fate( )
    ____log.Panic( )
    __Go 언어에서 에러 처리하기
    ____error 데이터 타입
    ____에러 처리하기
    __참고 자료
    __연습 문제
    __요약


    2장. Go 언어의 내부 살펴보기
    __Go 컴파일러
    __가비지 컬렉션
    ____삼색 알고리즘
    ____Go 언어 가비지 컬렉터의 구체적인 작동 방식
    ____언세이프 코드
    ____unsafe 패키지
    ____unsafe 패키지에 대한 또 다른 예제
    __Go에서 C 코드 호출하기
    ____같은 파일에 작성한 C 코드 호출하기
    ____다른 파일에 작성한 C 코드 호출하기
    ____C 코드
    ____Go 코드
    ____Go 코드와 C 코드 합치기
    __C 코드에서 Go 함수 호출하기
    ____Go 패키지
    ____C 코드
    __defer 키워드
    __panic 함수와 recover 함수
    ____panic 함수만 사용하기
    __두 가지 유용한 유닉스 유틸리티
    ____strace
    ____dtrace
    __Go 환경 파악하기
    __Go 어셈블러
    __노드 트리
    __go build에 대해 좀 더 자세히 살펴보기
    __Go 코딩에 참고할 만한 조언
    __참고 자료
    __연습 문제
    __요약


    3장. Go 언어의 기본 데이터 타입
    __Go 언어의 루프
    ____for 루프
    ____while 루프
    ____range 키워드
    ____Go 언어의 for 루프 예
    __Go 언어의 배열
    ____다차원 배열
    ____Go 언어에서 제공하는 배열의 단점
    ____Go 언어의 슬라이스
    ____슬라이스에 대한 기본 연산
    ____슬라이스는 자동으로 확장된다
    ____바이트 슬라이스
    ____copy( ) 함수
    ____다차원 슬라이스
    ____슬라이스에 대한 다른 예제
    ____sort.Slice()로 슬라이스 정렬하기
    __Go 언어의 맵
    ____nil 맵에 저장하기
    ____맵은 언제 사용해야 할까?
    __Go 언어의 상수
    ____상수 생성자 iota
    __Go 언어의 포인터
    __날짜와 시간 다루기
    ____시간 다루기
    ____시간 파싱하기
    ____날짜 다루기
    ____날짜 파싱하기
    ____날짜와 시간 포맷 변경하기
    __참고 자료
    __연습 문제
    __요약


    4장. 합성 타입 사용법
    __합성 타입
    __구조체
    ____구조체에 대한 포인터
    ____new 키워드 사용법
    __튜플
    __정규 표현식과 패턴 매칭
    ____정규 표현식에 관련된 몇 가지 이론
    ____간단한 예제
    ____심화 예제
    ____IPv4 주소 매칭하기
    __스트링
    ____룬이란?
    ____unicode 패키지
    ____strings 패키지
    __switch문
    __파이값 상당히 정확히 계산하기
    __Go 언어로 키/값 스토어 만들기
    __참고 자료
    __연습 문제
    __요약


    5장. 자료 구조로 Go 코드 개선하기
    __그래프와 노드
    __알고리즘 복잡도
    __Go 언어에서 이진 트리 만들기
    ____Go 언어로 이진 트리 구현하기
    ____이진 트리의 장점
    __Go 언어에서 해시 테이블 만들기
    ____Go 언어로 해시 테이블 구현하기
    ____검색(lookup) 기능 구현하기
    ____해시 테이블의 장점
    __Go 언어에서 연결 리스트 만들기
    ____Go 언어에서 연결 리스트 구현하기
    ____연결 리스트의 장점
    __Go 언어에서 이중 연결 리스트 만들기
    ____Go 언어에서 이중 연결 리스트 구현하기
    ____이중 연결 리스트의 장점
    __Go 언어에서 큐 만들기
    ____Go 언어에서 큐 구현하기
    __Go 언어에서 스택 만들기
    ____Go 언어로 스택 구현하기
    __container 패키지
    ____container/heap 사용법
    ____container/list 사용법
    ____container/ring 사용법
    __난수 생성하기
    ____랜덤 스트링 생성하기
    __참고 자료
    __연습 문제
    __요약


    6장. Go 패키지에 대해 잘 알려지지 않은 사실
    __Go 패키지
    __Go 언어의 함수
    ____익명 함수
    ____여러 값을 리턴하는 함수
    ____함수의 리턴값에도 이름도 붙일 수 있다!
    ____포인터를 매개변수로 받는 함수
    ____포인터를 리턴하는 함수
    ____함수를 리턴하는 함수
    ____함수를 매개변수로 받는 함수
    __Go 패키지 직접 만들기
    ____Go 패키지 컴파일하기
    ____사설 변수와 함수
    ____init() 함수
    __표준 Go 패키지에 대한 코드 읽기
    ____net/url 패키지의 소스 코드 살펴보기
    ____log/syslog 패키지의 소스 코드 살펴보기
    __Go 패키지 잘 만드는 방법
    __syscall 패키지
    ____fmt.Println()의 구체적인 실행 과정
    __텍스트와 HTML 템플릿
    ____텍스트 출력 생성하기
    ____HTML 출력하기
    ____기본적인 SQLite3 커맨드
    __참고 자료
    __연습 문제
    __요약


    7장. 리플렉션과 인터페이스
    __타입 메소드
    __Go 언어의 인터페이스
    __타입 어써션
    __인터페이스 직접 정의하기
    ____Go 인터페이스 사용하기
    ____인터페이스와 데이터 타입에 대한 switch문 작성법
    __리플렉션
    ____리플렉션에 대한 간단한 예제
    ____리플렉션에 대한 좀 더 심화된 예제
    ____리플렉션의 세 가지 단점
    __Go 언어에서 OOP하기
    __참고 자료
    __연습 문제
    __요약


    8장. 유닉스 시스템에게 작업 지시하기
    __유닉스 프로세스
    __flag 패키지
    __io.Reader와 io.Writer 인터페이스
    ____버퍼를 이용하는 파일 입출력과 버퍼를 이용하지 않는 파일 입출력
    __bufio 패키지
    __텍스트 파일 읽기
    ____텍스트 파일을 한 줄씩 읽기
    ____텍스트 파일을 한 단어씩 읽기
    ____텍스트 파일을 한 문자씩 읽기
    ____/dev/random 읽기
    __파일에서 읽고 싶은 만큼 읽기
    __바이너리 포맷을 사용하는 이유
    __CSV 파일 읽기
    __파일 쓰기
    __디스크에 데이터를 읽거나 쓰기
    __strings 패키지 다시 보기
    __bytes 패키지
    __파일 접근 권한
    __유닉스 시그널 다루기
    ____두 가지 시그널 처리하기
    ____모든 종류의 시그널 처리하기
    __Go 언어로 유닉스 파이프 다루기
    ____Go 언어로 cat(1) 유틸리티 구현하기
    __디렉토리 트리 탐색하기
    __Go 언어에서 eBPF 사용하기
    __syscall.PtraceRegs
    __시스템 콜 추적하기
    __유저 ID와 그룹 ID
    __참고 자료
    __연습 문제
    __요약


    9장. Go 언어의 동시성 - 고루틴, 채널, 파이프라인
    __프로세스, 쓰레드, 고루틴
    ____Go 스케줄러
    ____동시성과 병렬성
    __Go 루틴
    ____Go 루틴 생성 방법
    ____Go 루틴 여러 개 생성하기
    __Go 루틴이 마칠 때까지 기다리기
    ____Add()와 Done()의 호출 횟수가 일치하지 않으면 어떻게 될까?
    __채널
    ____채널에 데이터 쓰기
    ____채널에서 데이터 읽기
    ____함수 매개변수로 지정한 채널
    __파이프라인
    __참고 자료
    __연습 문제
    __요약


    10장. Go 언어의 동시성 - 고급 주제
    __Go 스케줄러 다시 보기
    ____GOMAXPROCS 환경 변수
    __select 키워드
    __Go 루틴 만료시키기
    ____Go 루틴을 만료시키기 위한 첫 번째 기법
    ____Go 루틴을 만료시키기 위한 두 번째 방법
    __Go 채널 다시 보기
    ____시그널 채널
    ____버퍼 채널
    ____닐 채널
    ____채널에 대한 채널
    ____Go 루틴의 실행 순서 지정하기
    __공유 메모리와 공유 변수
    ____sync.Mutex
    ____sync.RWMutex 타입
    ____Go 루틴으로 메모리 공유하기
    __경쟁 조건 발견하기
    __context 패키지
    ____context 패키지를 이용한 좀 더 복잡한 예제
    ____워커 풀
    __참고 자료
    __연습 문제
    __요약


    11장. 코드 테스팅, 최적화, 프로파일링
    __11장에서 사용하는 Go 버전
    ____Go 버전 1.9와 1.10 비교
    __베타 또는 RC 버전의 Go 설치하기
    __최적화
    ____Go 코드 최적화하기
    __Go 코드 프로파일링
    ____표준 Go 패키지 net/http/pprof
    ____간단한 프로파일링 예제
    ____좀 더 편리한 외부 패키지로 프로파일하기
    ____Go 프로파일러의 웹 인터페이스
    __go tool trace 유틸리티
    __Go 코드 테스트하기
    ____기존 코드에 대한 테스트 코드 작성하기
    __Go 코드 벤치마킹하기
    __간단한 벤치마킹 예제
    ____잘못 작성한 벤치마크 함수의 예
    __쓰기 버퍼 벤치마킹하기
    __실행되지 않는 코드 찾기
    __크로스 컴파일
    __예제 함수 만들기
    __문서 생성하기
    __참고 자료
    __연습 문제
    __요약


    12장. Go 언어를 이용한 네트워크 프로그래밍의 기초
    __net/http, net, http.RoundTripper
    ____http.Response 타입
    ____http.Request 타입
    ____http.Transport 타입
    __TCP/IP에 대해
    __IPv4와 IPv6에 대해
    __nc(1) 커맨드라인 유틸리티
    __네트워크 인터페이스로부터 설정 읽기
    __DNS 룩업
    ____도메인의 NS 레코드 조회하기
    ____도메인에 대한 MX 레코드 조회하기
    __Go 언어로 웹 서버 만들기
    ____HTTP 서버 프로파일링하기
    ____Go 언어로 웹사이트 만들기
    __HTTP 트레이싱
    ____HTTP 핸들러 테스트하기
    __Go 언어로 웹 클라이언트 생성하기
    ____좀 더 기능이 풍부한 웹 클라이언트 만들기
    __HTTP 연결 타임아웃하기
    ____SetDeadline 세부사항
    __타임아웃 주기를 서버쪽에 설정하기
    __또 다른 타임아웃 기법
    __와이어샤크와 티샤크
    __참고 자료
    __연습 문제
    __요약


    13장. 네트워크 프로그래밍 - 서버와 클라이언트 만들기
    __표준 Go 패키지 net
    __TCP 클라이언트
    ____TCP 클라이언트를 약간 변형한 버전
    __TCP 서버
    ____TCP 서버를 약간 변형한 버전
    __UDP 클라이언트
    __UDP 서버 구현하기
    __동시성을 지원하는 TCP 서버
    ____동시성을 지원하는 TCP 서버의 또 다른 버전
    __원격 프로시저 호출
    ____RPC 클라이언트
    ____RPC 서버
    __로우레벨 네트워크 프로그래밍
    ____원본 상태의 ICMP 패킷 수집하기
    __그 이상이 알고 싶다면?
    __참고 자료
    __연습 문제
    __요약

    __찾아보기

    알라딘 중고
    품질 판정 가이드
    알라딘 중고 품질 판정 가이드
    품질등급 헌 상태 표지 책등 / 책배 내부 / 제본상태