[219] 《大機車報》第七期已出刊

《大山姆的機機車車™》電子報第七期已經上線。本期人物「落腮T」 Jason Turner 近年來為各大 C++ Conference 常客,除了共同主持 CppCast 外,還有每週一集的 C++ Weekly 錄影,在圈內頗為活躍。 電子報第七期漏掉了他整理好的《C++ Best Practices》,除了有 Coding Style 外,還有一些撰寫 C++ 程式碼的最佳實務,是不錯的學習教材。該書可於 GitHub 免費下載。 每月兩期,著重在 C++ 與軟體開發議題的《大山姆的機機車車》電子報。資訊充滿,垃圾沒有,歡迎訂閱: http://thecpp.news…

[215] 感謝分享《大機車報》到我不愛的批踢踢

前同事捎來信息,說《大機車報》被分享到 PTT CandCPP 版。上禮拜陸續有人訂閱,三天多了近四十人,莫非來自於此? 仔細看下面的「推」(這麼說沒錯吧?),發現許多「外行人」說幹話,又手癢了。鄉民急著發表意見,也不管對或不對,推就是了。我的忠告:這種現象批踢踢比臉書還嚴重,當一個資訊來源的雜訊遠多於資訊本身,戒了吧。還沒碰的,能閃多遠就閃多遠。 近年C++的資源真的是越來越少 17也才幾本新書內容不深而且一堆錯誤 其實,英文的 C++ 資源相當多,新標準的資源相對較少,但隨著時間推移,會有越來越多學習資源冒出來。換個角度想,如果自己就是資源的提供者,不也是美事一椿?C++ Reference 資源豐富,最新的標準一個不漏,主動學習新功能然後分享學習心得,咱圈子不就又多一個學習資源。 我給開發人員的另一個忠告:「成為專業程式設計師的第零步:學好英文」 在可見的未來,英文的資源一定比中文要多,…

[213] 該死的範例碼之爭,卷二

卷一說明範例碼之所以被稱為範例碼是有原因的。然後「複製貼上」範例碼到專案用的傢伙,首犯警告,再犯永不錄用。 再舉個例子。底下影片旨在說明 std::thread 的基本用法。影片裡用了全域變數來控制執行緒結束的時機。實務上,全域變數會讓程式碼變得難改、難測,應盡量避免。那麼以這支主要目的是介紹 std::thread 的影片來提問: 你會因為用了全域變數就說這是作者平常的撰碼習慣嗎? 你會因此認定作者頻道上所有影片的示例都是糟糕的嗎? 你會因為用了全域變數而認定該影片是錯誤示範嗎? 上述提問,我的回答都是:不會。你呢? 其實這篇原稿有許多沉不住氣的反諷最後改掉了。沉不住氣的原因是看了一些令人不知該哭還是笑的留言。一起來瞧瞧。 後山小門處有大便一坨 這佛寺裡肯定大便滿窩 有人說: 不是 legacy code 問題,而是 多層 if then else, 連一個 example 都寫這樣,可想他們內部必然是這種 Style... 這麼肯定?以微軟這種規模的軟體公司每個人的能力都會在同一個水平?Windows…

[204] Text Processing Using juce::String class

前陣子公司內部的工具需要用到 Windows 內建的 Pnputil 工具程式。該工具可用來安裝以及移除驅動程式(Device Driver)。 其中一個需求是取得 Pnputil 的輸出結果後,從中獲得安裝至系統的驅動程式 INF 檔名,例:oem93.inf。Pnputil 的輸出結果如下: Adding driver package: filter.inf Driver package added successfully. Published Name: oem93.inf Total driver packages: 1 Added driver packages: 1 底下影片利用 juce::String 來處理文字。除此之外,同時示範 Catch Unit Test framework…

[181] Sam's Podcast v.06

個人播客貝塔測試中…,加上了結尾歌曲。試著針對一個主題討論,今天談的是 Google Abseil Project。 [180] Google's Abseil Project, Part 1 [160] 免費取得 Pluralsight 線上學習資源(無限暢飲三個月) Music: Free Music Archive: Lee Rosevere - I'm Going for a Coffee…

[180] Google's Abseil Project, Part 1

Google 在今年的 CppCon 推出重量級的 C++ Library — Abseil。官網上的自我介紹: Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google’s own C++ code base, has been extensively tested and used in production, and is the same code…

[161] Pluralsight C++ 課程精選

前面提到三個月免費享用 Pluralsight 海量學習資源的方法,這一篇列出幾個 Pluralsight 上,我認為不錯的 C++ 課程。 入門 Pluralsight 的 C++ 入門課由凱特大嬸(Kate Gregory)操刀,有兩集,皆以 C++11 為教授範圍: C++ Fundamentals C++ Fundamentals - Part 2 此課程從工具安裝開始教起,慢慢建立基本觀念如變數(Variables),流程控制(Flow of Control),迴圈(Loop)。一路教到運算元(Operator),模板(Tempalte),指標(Pointer)與繼承(Interitance)。第二部分介紹標準函式庫(STL),Lambda(這個我不會翻)…

[160] 免費取得 Pluralsight 線上學習資源(無限暢飲三個月)

Pluralsight 主要提供軟體工程相關的線上學習資源,以影片為主,其課程內容與講師素質高。這幾年陸續併購了幾間線上學習公司,如 PeepCode, Tekpub, Code School,成了領域頭目之一。許多公司併購後即關閉原站,但 Code School 例外,目前依然維持獨立運作。 Pluralsight 的 C++ 課程有許多知名人物,如 Kenny Kerr(現任職 Microsoft,負責 C++/WinRT 專案), Kate Gregory, Dmitri Nesteruk。 Pluralsight 的 C++ 課程由入門、中階至高階,一應俱全。現在,只要簡單幾個步驟就可以三個月免費暢遊 Pluralsight 豐富的學習資源,挑自己喜愛的課程,認真上三堂課,應有不少收穫。怎麼做呢?很簡單,只要申請…