Programming

A collection of 60 posts

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

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

《大山姆的機機車車™》電子報第七期已經上線。本期人物「落腮T」 Jason Turner 近年來為各大 C++ Conference 常客,除了共同主持 CppCast 外,還有每週一集的 C++ Weekly 錄影,在圈內頗為活躍。 電子報第七期漏掉了他整理好的《C++ Best Practices》,除了有 Coding Style 外,還有一些撰寫 C++ 程式碼的最佳實務,是不錯的學習教材。

  • Sam Tsai
    Sam Tsai
[208] 該死的範例碼之爭,卷一
rant

[208] 該死的範例碼之爭,卷一

往下讀之前,請先回答這個提問:「文件上的範例碼該不該設計成適合『複製貼上』至真實專案?」 前篇 是我對網路爭論的處理態度。這一篇認真來看「該死的範例碼之爭」。起因是底下這篇公開文章: 覺得我對MS有偏見的人,請按下去看看MSDN官方的sample source code吧....誰在公司真的這麼寫,我一定會砍死他... (出處) 批評的對象是微軟 MSDN 上的範例碼,被批的原因是使用了 Nested-if,而且多達九層甚至十一層。 扣掉那句「砍死他」,我同意原 Po 對使用該範例碼者的批評,若是在真實專案這麼寫,我也不能接受。

  • Sam Tsai
    Sam Tsai
[205] Video Intro to ViEmu for Visual Studio
Programming

[205] Video Intro to ViEmu for Visual Studio

這部影片簡單介紹一個 Visual Studio 外掛(Extension)— ViEmu。這個好用的工具我一直用了十多年,其售價是單一平台授權的售價為 $99 鎂,可另外添購 $49 鎂獲得一年的免費版本升級: 不囉嗦,看影片先。 這個外掛我從 Visual Studio 2008 時期開始使用,那時候是把另一套外掛——Visual Assist 擠下來,成為我的主要輔具。兩者之所以較難並存,是因為不少快速鍵重覆了,而且早期有相容性問題,因此放棄同時使用這兩支外掛。 《大山姆的機機車車》

  • Sam Tsai
    Sam Tsai
[196] Casey Muratori and 《Handmade Hero》
Programming

[196] Casey Muratori and 《Handmade Hero》

《Handmade Hero》是一款在 2014 年底開始開發的遊戲。其特色是從頭到腳,不使用任何遊戲引擎,如 Unity,Unreal Engine,由 Casey Muratori 一人獨立開發。 蛋,其實遊戲本身不是重點,Casey Muratori 認為這款遊戲的精華在其開發過程,開發此遊戲的主要目的是將開發過程全部公開,影片在 YouTube 上供有興趣的人觀摩以深入了解遊戲與遊戲引擎的開發奧妙。因此,除了用 Emacs 猛敲鍵盤外,Casey 更進一步解釋遊戲開發會用到的技術,

  • Sam Tsai
    Sam Tsai
[195] 笨蛋!重點從來不在打字速度
rant

[195] 笨蛋!重點從來不在打字速度

每隔一段時日,我就會重提打字(鍵盤敲擊技)之於碼農的重要性。速度快又平穩的敲打鍵盤,把腦中的想法於電腦中實現,「盲打」是專業碼農的基本技能: 前線碼農必備戰技—鍵盤敲擊技。別說我沒提醒你,英打每分低於五十字真的有些低,寫到履歷裡,很難讓人相信你的實力。一天半小時,敲鍵盤當遊戲,碼農職涯絕對有戲。 https://t.co/9hpD4I3ETc — Sam Tsai (@mhtx) December 20, 2017 除非有殘疾,否則沒理由不把打字速度與準確度提昇到水準之上。

  • Sam Tsai
    Sam Tsai
[175] 印度軟體外包經驗
JUCE

[175] 印度軟體外包經驗

幾個月前因應專案需求,將部分工作外包給印度的工程師。花點時間反思,並紀錄下來。 上半年由於承接的軟體專案時程較趕,在台灣短時間內找不到熟悉 JUCE 的開發人員,幾經思量後,決定到 JUCE 官方論壇 尋找外包人力。 題外話。論知名度,JUCE 與 Qt 相差甚遠,與 wxWidgets 也有不小差距,這種情況在台灣尤其明顯。現在(2017)詢問一百個資深的 C++ 工程師,大概不到一個聽過 JUCE。

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

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

Pluralsight 主要提供軟體工程相關的線上學習資源,以影片為主,其課程內容與講師素質高。這幾年陸續併購了幾間線上學習公司,如 PeepCode, Tekpub, Code School,成了領域頭目之一。許多公司併購後即關閉原站,但 Code School 例外,目前依然維持獨立運作。 Pluralsight 的 C++ 課程有許多知名人物,如 Kenny Kerr(現任職 Microsoft,負責 C++/WinRT 專案)

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

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

任務是調整下圖箭頭所指處的控制項寬度: ![](http://i.imgur.com/j4hWfXR.png) 這個 Build Configuration 的寬度預設值很窄,窄到多幾個字元就爆了。很痛苦,以前每次安裝新環境都要改一次,然後每次都忘記怎麼改。這種情況呢,記下來就對了。步驟如下: 控制項上按滑鼠右鍵,點選 Customize... 點選 Toolbar 選擇 Standard 點選 Solution Configurations 右邊點選 Modify

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

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

前言 C++ namespace 的用意是減少名稱衝突,Objective-C 則是以「加上前贅詞」(「贅」者,多餘、沒有用處。)的方式處理,老實說有點不牢靠。 JUCE 的公開類別置放於 juce:: 命名空間裡。不過,預設情況下由於 JuceHeader.h 引入了 using namespace juce;,因此使用 JUCE 類別不需要加上 juce::。這麼做純粹是為了節省打字時間,

  • Sam Tsai
    Sam Tsai
[127] 開始玩 Livecoding.tv:JUCE #1
Programming

[127] 開始玩 Livecoding.tv:JUCE #1

今年的新任務是在 Livecoding.tv 上直播「寫程式」。Handmade Hero 是我的偶像,他的撰碼技巧以及「邊講話邊寫程式」的技能讓我佩服萬分。 初期的規劃是以 JUCE/C++ 為主要內容,最好是能帶到一些 Design Pattern 實務應用。不會特別區分難度,應該是以入門為主。時間長度控制在半小時,試著用三十分鐘講一個主題。Live Coding 的挑戰是沒有辦法後製,遇到問題立即解決,處理不來當機立斷,下回再解。 藉由

  • Sam Tsai
    Sam Tsai