新書《Go 語言程式設計之旅:一起用 Go 做專案》出版啦!
從我開始寫技術文章起,不知不覺近三年過去了,諮詢和催我出書和讀者逐年遞增,在 2019 年算是達到一個高峰。當然,綜合考慮下我也是一直拒絕的,覺得火候還不夠。
直至 2019.09 月,polaris 主動找到了我,說有事情想找我商量,本著 “如果你在糾結一件事情做還是不做,不如先做了看看結果,至少不會後悔” 的想法,更何況是長期被 Ping,因此我一口答應下來,故事自此開始了。
本書定位
本書不直接介紹 Go 語言的語法基礎,內容將面向專案實踐,同時會針對核心細節進行分析。而在實際專案迭代中,常常會出現或多或少的事故,因此本書也針對 Go 語言的大殺器(分析工具)以及常見問題進行了全面講解。
本書適合已經大致學習了 Go 語言的基礎語法後,想要跨越到下一個階段的開發人員,可以填補該階段的空白和進一步擴充你的思維方向。
讀者定位
- 基本瞭解 Go 語言的語法和使用方式的開發人員。
- 想要進行 Go 相關專案實踐和進一步摸索的開發人員。
- 希望熟悉 Go 常用分析工具的開發人員。
本書大綱
本書針對常見的專案型別,主要細分為 5 + 1 板塊,分別是命令列、HTTP、RPC、Websocket 應用、程式內快取以及 Go 中的大殺器。
同時我們在專案開發、細節分析、執行時分析等方方面面都進行了較深入的介紹和說明,能夠為 Go 語言開發者提供相對完整的專案實踐經驗,而如果深入閱讀第六章的章節,更能夠為未來各類問題出現時的問題排查提供一份強大的知識板塊。
如下為本書的思維導圖概覽:
如何閱讀這本書
常規的列目錄未免太無趣。我想不如說說從我個人的角度,所看到讀者們在近 3 年來是如何閱讀/實踐我的實踐系列文章的,其面向的讀者群體是完全一致的。希望能夠從另外一個角度告訴你,應當如何閱讀這本書,儘可能的效益最大化。
首先,圖書,買來要讀,而與實戰結合的圖書,勢必需要實踐,實踐最常見又分為腦內思考和上機實踐:
而在持續的交流中,可以發現至少會延伸出以下幾類深入層次的不同:
第一層:只閱讀,留有印象,需要時再喚醒,也行。
第二層:閱讀並實踐,實打實的完成專案實踐,收穫豐滿。
第三層:實踐的過程中,一定會遇到或大或小的問題,有的人會放棄,這就是分叉點。但有的讀者會持續排查,其提升了個人能力(排錯能力很重要)。
第四層:實踐完畢後,有自己的想法,認為某某地方還可以這樣,也可以再實現更多的功能,舉一反三,進一步擴充,並對專案提 issues 或進行 pr。
第五層:完成整體專案後,抽離業務程式碼,標準化框架,實現框架的應用腳手架,並有的讀者會進一步開源。
第六層:形成腳手架後,在自己業務組開始落地,實際在專案中使用,由業務學習轉化為企業實踐。
第七層:在內部落地實踐穩妥後,開始在其它業務組開始推廣該框架腳手架,進一步標準化,擴充思路。
通過上圖中 “七層金字塔” 的理解,我們不難發現其對於實踐專案的理解和應用已經不再是單單這個專案,而是有了更深遠的意義,抽象一下,對照著著名的 “學習效率金字塔” 來看:
在單純的 “閱讀” 時,其基本處於 “被動學習” 的階段,而單進入閱讀並實踐時,已經轉為了 “主動學習”,且絕大部分的讀者做完實踐後,表示 “嗯,實踐完,挺好的,有所得”。
這時候就會進入到一個新的階段(分叉點),絕大部分讀者在做完後,會糾結 ” 接下來要做什麼 “:
有部分讀者會停滯,也有部分讀者會轉入 “轉教別人/立即應用” 的階段,也就是普遍的在企業內部進行標準化的使用,又或是開源專案,據此得到更一步的深入實踐和提高,更大的吸收差距也在於此。
當然,這一切都要基於前面的 “1”,你得先買了書,讀了書,接著就是你的選擇和建立機遇的能力了,不同的路線效益自然不一樣。
廣告時間
在《Go 語言程式設計之旅:一起用 Go 做專案》寫作中後期,作為 2020 年的煎魚,我回顧了 2018、2019 年的煎魚所寫的文章,在現在看來發現多多少少都有些瑕疵。再對比本書,在同類主題下,寫出的內容更具知識結構化和實戰意義,且能做出更優的選題抉擇,確實變化了。
因此我也在這裡正式向你推薦本書,希望能夠給所有 Go 語言愛好者帶來更大的技術價值和切切實實的專案實踐經驗。
後續有任何問題或建議也歡迎隨時來交流。
關於寫書
有關注我的小夥伴應該會發現,我之前突然退了很多個微信群,並且停止了部落格的更新,也較少在社群裡冒泡了。其實本質上是為了給寫書讓路,希望儘可能的把業餘時間都聚焦在寫書上。
這時候又會有另外一個問題,那就是寫書,是一件非常長耗時的事情,沒有任何的外界反饋,因此我嚴格做了一系列的 todolist 和時間節點的管理,圍繞著自己的生活作息設定了一系列鬧鐘作為訊號量提醒自己。
基本是吃飯、睡前構思結構、想靈感,下班回到家一坐下就開始寫內容。當然,我也經常走火入魔一想到好的靈感就激動的掏出手機記在工具上,免得第二天大腦重置後丟失了資料,那就很可惜。
最終在長期的堅持下自然而然也就完成了這本書的寫作。
感謝你們
非常感謝 polaris,在艱難的情況下依舊完成了本書的編寫。感謝博文視點的編輯安娜,基本從不催更。感謝曹大、無聞、楊文、傲飛、大彬、曉東的推薦詞或 Review.
我還記得當時曹大的書出版時,因為種種原因,我還立下過 ” 絕不寫書” 的 flag,和曉東在深圳灣一號吃自助餐時立過 “絕對不會放棄,一定會寫完” 的 flag,果然計劃趕不上變化,flag 該折折。
當然,最該感謝的還是我司的研發負責人,當年把我從個小角落裡篩了出來,否則也不會有這一切的開端了。
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- 《Go 語言程式設計》讀書筆記(十)反射Go程式設計筆記反射
- 《Go 語言程式設計》 讀書筆記 (八) 包Go程式設計筆記
- 《Go 語言程式設計》讀書筆記(四)介面Go程式設計筆記
- 《Go 語言程式設計》讀書筆記 (三) 方法Go程式設計筆記
- 《Go 語言程式設計》讀書筆記(十一)底層程式設計Go程式設計筆記
- Go 語言專案程式碼品質Go
- Go 語言程式設計規範Go程式設計
- Go語言併發程式設計Go程式設計
- 《Go 語言程式設計》讀書筆記 (二)函式Go程式設計筆記函式
- Go語言程式設計快速入門Go程式設計
- 《Go 語言程式設計》讀書筆記 (九) 命令工具集Go程式設計筆記
- 《Go 語言程式設計》讀書筆記 (五) 協程與通道Go程式設計筆記
- GO語言泛型程式設計實踐Go泛型程式設計
- Go語言HTTP/2探險之旅GoHTTP
- go語言書籍分享Go
- Drone 搭配 Kubernetes 部署 Go 語言專案Go
- go語言遊戲程式設計-Ebiten渲染一張圖片Go遊戲程式設計
- Go語言設計模式彙總Go設計模式
- [從RPC到Go-Micro 壹]Go語言實現RPC程式設計RPCGoC程式程式設計
- Go 語言學習路線來啦Go
- 《Go 語言程式設計》讀書筆記 (一)基礎型別和複合型別Go程式設計筆記型別
- 體驗go語言的風騷式程式設計Go程式設計
- Go語言併發程式設計簡單入門Go程式設計
- 使用 Go 泛型的函數語言程式設計Go泛型函數程式設計
- 程式設計師的副業:我的第一本書出版啦!程式設計師
- Go語言程式設計有哪些利與弊?程式設計時如何判斷是否應該用Go?Go程式設計
- 第二小節 go 語言設計Go
- 【Go 語言入門專欄】Go 語言的起源與發展Go
- Go語言————1、初識GO語言Go
- PHP 程式設計師轉 Go 語言的經歷分享PHP程式設計師Go
- [Go]Go 語言基礎拾遺(一)Go
- 【做中學】第一個 Go 語言程式:漫畫下載器Go
- go語言教程哪裡有?go 語言優秀開源專案彙總Go
- go語言程式設計前景怎麼樣?國內Go語言佈道師許式偉這樣說Go程式設計
- CSC330程式設計語言專案程式設計
- Go語言專案實戰:多人聊天室Go
- Go語言專案實戰:併發爬蟲Go爬蟲
- Go 語言入門練手專案推薦Go