[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 豐富的學習資源,挑自己喜愛的課程,認真上三堂課,應有不少收穫。怎麼做呢?很簡單,只要申請…

[157] 調整 Visual Studio 工具列控制項的寬度

任務是調整下圖箭頭所指處的控制項寬度: 這個 Build Configuration 的寬度預設值很窄,窄到多幾個字元就爆了。很痛苦,以前每次安裝新環境都要改一次,然後每次都忘記怎麼改。這種情況呢,記下來就對了。步驟如下: 控制項上按滑鼠右鍵,點選 Customize... 點選 Toolbar 選擇 Standard 點選 Solution Configurations 右邊點選 Modify Selection 在 Width 那一欄輸入寬度 影片示例:…

[156] 函數或類別

先前寫過 C++ 類別的設計手法,其中一個是「滿足條件才能生成物件」。其實,需求若只是產生 TheTea,使用函數(Function)即可滿足,有需要寫成類別嗎?本文以此例探討:To class, or not to class. 以函數實作 把先前的 TeaMaker 類別實作貼過來: class TeaMaker { TeaMaker(Tea, Sugar, Ice); TheTea Make(); }; 相應的函數可實作成: TheTea MakeTea(Tea, Sugar, Ice); 同樣是接收三個輸入參數,產生輸出(TheTea),上述函數實作滿足了「當前」的需求。一般來說,呼叫函數不需要先建物件,再呼叫其成員函數,比使用類別來得輕鬆。那麼,有必要設計成類別嗎? 跟許多軟體開發問題的答案一樣:…

[139] JUCE Diary #13:C++ namespace 的必要

前言 C++ namespace 的用意是減少名稱衝突,Objective-C 則是以「加上前贅詞」(「贅」者,多餘、沒有用處。)的方式處理,老實說有點不牢靠。 JUCE 的公開類別置放於 juce:: 命名空間裡。不過,預設情況下由於 JuceHeader.h 引入了 using namespace juce;,因此使用 JUCE 類別不需要加上 juce::。這麼做純粹是為了節省打字時間,並試圖讓「版面」更乾淨,但不應視為「最佳實務」。這個預設行為可以透過定義 DONT_SET_USING_JUCE_NAMESPACE=1 來改變。不過,經驗顯示加上後反而是自找麻煩... 那些年,我們一起經歷的不美好... C++ namespace 的美意如前述,…

[138] Visual Studio 2017, 寫在安裝前...

每當有新版本的 Visual Studio 推出,我會盡量過濾不必要的「雜訊」,把焦點放在 C++ 以及 IDE 增強的功能。「地表最強」前些天釋出正式版,無法在第一時間安裝,原因是: Visual Studio 2017 推出正式版,嗯... pic.twitter.com/gIN72Zxri8— sam (@mhtx) March 8, 2017 是滴,硬碟空間不夠吶。雖然新的 Visual Studio Installer 把各大功能切開了,但是光裝 C++ 功能也是硬碟空間不夠吶。我討厭 Electron 的原因之一——它是一個不尊重使用者硬碟空間資源的惡質開發套件: 這種時候對 Electron 的「恨意」特別高。 pic.…

[135] Livecoding.tv: JUCE #6

應觀眾要求改用破英文面對。 這集示範如何使用 juce::DrawableButton class 來顯示圖文合併的按鈕。另外用到了 juce::Array 來實作載入 SVG 圖檔的函數。…

[134] Livecoding.tv: JUCE #5

在 Facebook Live 直播幾集,發覺受眾跟 Livecoding.tv 上的差很多。依我少得可憐的朋友來看,臉書直播的對象多為台灣人,而且多為圈外人。而 Livecoding.tv 的屬性很明確就是技術類,出沒人士多以英語系為主。 接下來我希望 Facebook Live 以及 Livecoding.tv 做不同的主題,看看反應如何。…