大山姆的機機車車™ #12

我是山姆,《大山姆的機機車車™》是我的第一份電子報,希望透過這份小報,把我感興趣的資訊分享給同樣求知若渴的您。

做軟體開發,英文能力很重要。真的!

亞洲人說英文,容易有口音,日本人的口音更明顯。不過,這位離開 Google 經營 YouTube 的日本人,他的英文說得很不錯。他最近發佈了一則影片,說明他一開始怎麼學習英文。原來也是看美劇學英文,不過他的學習方法很積極,會倒帶重覆看不懂的片段,搭配腳本(不是字幕)。

「以看美劇之名,行學英文之實」,除了有效降低追劇的罪惡感,還對職涯有正面幫助,真是一舉數得!


參兩摘

C++ and Browser Monoculture with Vivaldi's Patricia Aas

前 Opera 工程師,現任職 Vivaldi 瀏覽器新創公司,大談瀏覽器的歷史。稍微黑了 Chrome,原來 Google 把 Multi-Process Architecture 當做「功能」宣傳,其實是因為 WebKit 太不穩定,時不時掛點,所以用 Process 隔開,一個 Tab 掛掉不會拖累其他人。

Patricia Aas - C++ for Java Developers

摩登 C++(Modern C++)正流行,掌握幾個「眉角」,Java 人快跳坑。

tvaneerd/cpp17_in_TTs

這傢伙做的 C++17 規格前後比較表清楚易懂,範例碼精準到位,人們因此幫此類比較表命名「Tony Tables」。

tvaneerd/cpp20_in_TTs

「Tony Tables」C++20 版本。

CS 200 - Rachel's Course

國外老師把 C++ 為主題的教材(英文)放上網,是不錯的免費學習資源。

Podcast(播客)精選

SG15 Tooling Group - CppCast

Titus Winters 再次接受訪問,這次談的是由他主持的 C++ SG15 研究小組。這個新小組有機會讓 C++ 開發人員的日子過得更人模人樣的日子。

Behind The Tech with Kevin Scott: 001- Anders Hejlsberg: A craftsman of computer language

微軟 CTO Kevin Scott 訪問程式語言界的大頭目之一 Anders Hejlsberg,聊了許多歷史。C# 的誕生果然跟 Java 有關,微軟當初打算用 Java 改造 Windows,後因協商破局,才生出的 C# / .NET...

摘影片

看美劇學英文

Optimizing compilation times with Templates

Scanner 和 Parser 並不能剖析圖靈完備語法,所以剖析樣板是用 Two Phase Lookup 。

樣板會在編譯時期產生大量的程式碼,如果沒有特別處理在遇到遞迴呼叫造成極為消耗空間與時間的大幅展開。

為優化此問題會先做標籤之後再用查詢的方式減少生程程式碼的問題,剛好也是 Two Phase Lookup 。

中英對照:形式文法(formal grammar)

By Sidney Niu

The fastest template metaprogramming in the West

C++ 很希望所有工作都可以在編譯時期完成,但是樣板也是程式碼,想要有好效能還是需要寫出漂亮的程式碼。

Odin Holmes 延伸 Miłosz Warzecha 的演講,迴圈和編譯時期決定值這些漂亮的寫法非常建議多參考和盡量使用 Boost.TMP 。

影片中示範如何寫樣板的 loop, containers, alias 和一些演算法的高效能樣板程式碼。

By Sidney Niu

開源專案

GitHub - lucasg/Dependencies

Dependency Walker 是個實用的老工具,可用來分析執行檔(.exe or .dll)相依於哪些模組,以及 DLL 匯出了那些函數。這個專案以 C# 重寫 depends.exe,挺有趣。

GitHub - Microsoft/Windows-appsample-photo-editor

UWP 架構下的 C++ 解法,微軟上了 C++/WinRT 這道菜。由「鬍子K」打造的開源專案,被微軟吸收後得到重用,在最新的 Windows 10 1803 SDK 正式釋出。

這個範例用來展示使用 C++/WinRT,搭配 XAML 來開發 UWP 應用程式。

WorkFlowy Tips

想知道更多 WorkFlowy 撇步,請快步前往 WorkFlowy Tips 。還沒有 WorkFlowy 帳號?請用此連結申請,加倍免費清單上限。

還有還有,我在臉書開了一個以 WorkFlowy 為主題的社團——山姆的 WorkFlowy 大小撇步現在人很少,快來助拳!

課程資訊

Learn C++ for Game Development in Unreal Engine | Udemy

這個 C++ 課程屬「新手入門類」,開發工具組合是 Windows + Visual Studio,講師口條清楚,課程中的例子簡單易懂。新手可按步就班,一節一節消化,同時實際動手練習,可拿到 C++ 程式設計職涯的入門票。

Soft & Share 特價課程與學習資訊分享 Public Group | Facebook

我常常在 Soft & Share 的臉書社團找到優質的免費或特價課程。更多資訊可由官網找到:https://softnshare.com/about-us/

💌 喜歡這一期的內容,請幫我按「👍」。不喜歡請按「👎」,並寫下你認為哪裡做得不好,你的回饋是我進步的動力。想要匿名舉報的話,我開了一個 Sarahah,歡迎使用,謝謝!

本報內含 Affiliate Link 連結若干,也就是我有機會從中獲益,賺點奶粉錢,希望有朝一日能因此日進斗金(誤)。若對這樣的作法有疑慮,請讓我知道或者直接退訂也行,我不會介意,你請別生氣。☯