再強一點:用 Go語言完成六個大型專案

陳劍煜、徐新華

  • 再強一點:用 Go語言完成六個大型專案-preview-1
  • 再強一點:用 Go語言完成六個大型專案-preview-2
  • 再強一點:用 Go語言完成六個大型專案-preview-3
  • 再強一點:用 Go語言完成六個大型專案-preview-4
  • 再強一點:用 Go語言完成六個大型專案-preview-5
  • 再強一點:用 Go語言完成六個大型專案-preview-6
  • 再強一點:用 Go語言完成六個大型專案-preview-7
  • 再強一點:用 Go語言完成六個大型專案-preview-8
  • 再強一點:用 Go語言完成六個大型專案-preview-9
  • 再強一點:用 Go語言完成六個大型專案-preview-10
  • 再強一點:用 Go語言完成六個大型專案-preview-11
  • 再強一點:用 Go語言完成六個大型專案-preview-12
  • 再強一點:用 Go語言完成六個大型專案-preview-13
  • 再強一點:用 Go語言完成六個大型專案-preview-14
  • 再強一點:用 Go語言完成六個大型專案-preview-15
  • 再強一點:用 Go語言完成六個大型專案-preview-16
再強一點:用 Go語言完成六個大型專案-preview-1

買這商品的人也買了...

商品描述

◎ 實作六個最強大的Go專案
◎ 想用Go不怕無用武之地
本書特色
► 最齊全Go工具
► HTTP網路程式剖所
► 完整RPC應用
► 高速WebSocket應用
► 處理程序快取加速    
► PProf、GODEBUG高級應用
本書重點
全書共分為6章,針對Go語言中較為常用的命令列應用、HTTP應用、RPC應用、WebSocket 應用、處理程序內快取、Go語言中的大殺器(分析工具)進行詳細的介紹,並開發一系列小的適合程式師日常使用的工具。
其中前5章是Go語言開發中最常見的專案類型。對專案開發、細節分析、執行時期分析等核心內容進行較為深入的剖析,提供相對完整的專案實作經驗。有了幾個大型專案的磨鍊之後,撰寫出專業等級的系統再也不是難事。
適合讀者群 有一定Go語言基礎的讀者,想要進行Go相關專案實作、希望熟悉Go常用分析工具的開發人員。

作者簡介

陳劍煜(網名:煎魚) 
微信公眾號「腦子進煎魚了」作者,「Go夜讀」 SIG小組成員,對Go語言有豐富的經驗。在社群連載過一系列Go語言相關的技術文章,其中「跟煎魚學Go」系列廣受歡迎。
徐新華(網名:polaris )
Go語言中文網站長,擔任北京一家創業公司CTO。2011年取得北京大學碩士,先後在開心網、奇虎360工作。一直從事服務端相關工作,有著豐富的經驗。在Go1.0正式發佈時開始接觸,並運用於工作中,致力推廣Go語言,建構Go語言中文社區。

目錄大綱

目錄
前言
01命令列應用:打造屬於自己的工具集
1.1 工具之旅 
1.2 單字格式轉換 
1.3 便捷的時間工具
1.4 SQL 敘述到結構的轉換 
02 HTTP 應用:寫一個完整的部落格後端
2.1 部落格之旅
2.2 專案設計
2.3 公共元件
2.4 介面文件
2.5 介面驗證
2.6 模組開發:標籤管理
2.7 上傳圖片和檔案服務
2.8 API 存取控制
2.9 常見應用中介軟體
2.10 鏈路追蹤
2.11 應用設定問題
2.12 編譯器應用 
2.13 優雅重新啟動和停止
2.14 思考
03 RPC 應用:啟動你的RPC 服務
3.1 gRPC 和Protobuf 
3.2 Protobuf 的使用
3.3 gRPC 的使用 
3.4 執行一個gRPC 服務
3.5 gRPC 服務間的內調 
3.6 提供HTTP 介面 
3.7 介面文件
3.8 gRPC 攔截器 
3.9 metadata 和RPC 自訂認證 
3.10 鏈路追蹤
3.11 gRPC 服務註冊和發現 
3.12 實現自訂的protoc 外掛程式
3.13 對gRPC 介面進行版本管理
3.14 常見問題討論
04 WebSocket 應用:聊天室
4.1 以TCP 為基礎的聊天室
4.2 認識WebSocket
4.3 聊天室需求分析和設計
4.4 專案結構組織和基礎程式架構
4.5 核心流程
4.6 廣播器
4.7 非核心功 能
4.8 關鍵性能分析和最佳化
4.9 Nginx 部署 
4.10 歸納
05 處理程序內快取
5.1 快取簡介
5.2 快取淘汰演算法
5.3 處理程序內快取
5.4 快取的效能和最佳化想法
5.5 高性能快取函數庫—BigCache
5.6 處理程序內快取的最佳化版
06 Go 語言中的大殺器
6.1 Go 大殺器PProf 之效能剖析(上) 
6.2 Go 大殺器PProf 之效能剖析(下)
6.3 Go 大殺器之追蹤剖析trace
6.4 用GODEBUG 看排程追蹤
6.5 用GODEBUG 看GC
6.6 Go 處理程序診斷工具gops
6.7 公開和發佈度量指標
6.8 逃逸分析
A Go modules 的入門和使用
A.1 Go modules 簡介
A.2 GOPATH 簡介
A.3 Go modules 的基本使用 
A.4 Go modules 下的go get 行為
A.5 Go modules 的go run/build 行為
A.6 Go modules 的匯入路徑說明 
A.7 Go modules 的語義化版本控制
A.8 Go modules 的最小版本選擇
A.9 go.sum 檔案要不要提交
A.10 go list 的作用是什麼
A.11 小結
B goroutine 與panic、recover 的小問題
B.1 思考問題
B.2 如何解決 
B.3 為什麼要先defer 才能recover
B.4 recover 是萬能的嗎
B.5 小結
C Go 在容器執行時期要注意的細節
C.1 問題描述
C.2 會造成什麼後果
C.3 解決方法
D 讓Go「恐慌」的十種方法