View profile

大山姆的機機車車™ #7

Revue
 
我是山姆,《大山姆的機機車車™》是我的第一份電子報,希望透過這份小報,把我感興趣的資訊分享給同樣求知若渴的您。༺ 意見調查 ༻我正在編一個《C++ 世界的學習指南》,希望提供各階段 C++ 攻城獅一個學
 
April 16 · Issue #7 · View online
《大山姆的機機車車™》電子報
我是山姆,《大山姆的機機車車™》是我的第一份電子報,希望透過這份小報,把我感興趣的資訊分享給同樣求知若渴的您。
༺ 意見調查 ༻
我正在編一個《C++ 世界的學習指南》,希望提供各階段 C++ 攻城獅一個學習的方向,在強化技能與技術的旅途上,不要因為一時迷失而放棄。
目前的進度緩慢,其中一個原因是:我尚未抓到新學 C++ 會遇到的難處。我能「猜」到幾個新手受挫的原因,但還不無法確切掌握全貌。
因此,我需要讀者的協助,若你還記得當初或目前學習 C++ 遭遇到的挫折或無法繼續進步的門擋,希望你能分享學習經驗,這對我的幫助很大。山姆感謝您!

真心一推
誠懇的建議尚未嘗試過 VIM 的攻城獅,配上這副武器絕對會讓你的專業職涯如虎添翼。另外,如果你是 Visual Studio 用家,可以考慮這個 $99 鎂的外掛-ViEmu
Sam Tsai
有志往專業程式設計師發展的朋友,我建議給自己一個「++專業技能」的機會:花至少一個月的時間用心學習 VIM。頭一個月不求多,開檔、存檔、離開,基本的游標操作(上下左右,跳行數),搜尋,選取、複製、貼上。我相信學會以上技法後,你就...上鉤了。 #VIM
10:39 AM - 27 Mar 2018
人物誌
Jason Turner (@lefticus) | Twitter
參兩摘
C++ Weekly - YouTube
Collaborative Collection of C++ Best Practices
How to Improve Your C++ Skills From Awesome Projects
11 Debugging Tips That Will Save Your Time
Ultralight - Lightweight, Pure-GPU HTML Renderer
Top 10 Bugs in the C++ Projects of 2017
Chaiscript In Game Objects – CooperKing.net
摘影片
P. Goldsborough “clang-useful: Building useful tools with LLVM and clang for fun and profit"
延續編譯器優化主題,早期編譯器會直接將程式碼轉成低階語言,之後才有中介碼的概念。現代編譯器前後端模組分離的好處很多,包含可以任意替換前端語言與後端硬體,也更容易選擇優化等級。
臉書工程師 Peter Goldsborough 簡介編譯器前端 Clang 執行語法剖析並產中介碼,交由後端 LLVM 產生執行檔的過程。正確來說 LLVM 是一種技術和工具鏈而不是後端,但很多時候大家口中的 LLVM 直接是指 Clang ,誤用的程度非常廣泛阿。
Clang 與 LLVM 程式碼風格皆遵守 LLVM Coding Standards,他們的版本控管都是用 svn。 不過只用 git 的人還是可以去 GitHub 鏡像拉下來用。
現在有不少活用中介碼的專案像 Emscripten 可將 LLVM IR 轉成 asm.js ,讓 C++ 直接跑在網頁,同時也讓程式碼可以重複使用。
中英對照:中介碼(Intermediate Representation)、工具鏈(Toolchain)
By Sidney Niu
P. Goldsborough “clang-useful: Building useful tools with LLVM and clang for fun and profit"
CppCon 2017: Ben Deane & Jason Turner “constexpr ALL the Things!”
延續編譯時期決定的主題,為了減少執行時間 C++ 編譯器提早決定了相當多的事情。
《Effective Modern C++》 第三章有說明 constexpr 的使用,另外 std::string_view 其實也是利用了 constexpr 大幅減少執行時期的成本。
一般都會公認除錯難度排序為 預處理 < 編譯時期 < 執行時期 < 不顯示,盡可能的在編譯時期決定能降低除錯難度。 Ben Deane 和 Jason Turner 一起介紹如何利用 constexpr 幫助寫程式在編譯時期除錯,想必未來應該會有越來越多的編譯時期除錯工具。
編譯器的警告和錯誤訊息已經越來越友善,以前的錯誤訊息真的很狂,還有嘲諷圖
中英對照:預處理器(Preprocessor)
By Sidney Niu
CppCon 2017: Ben Deane & Jason Turner “constexpr ALL the Things!”
開源專案
ChaiScript: Embedded Scripting Language Designed for C++
Original Windows File Manager (winfile) with enhancements
WorkFlowy Tips
卡片助力输入输出,工具我选 WorkFlowy | ishanshan's blog
想知道更多 WorkFlowy 撇步,請快步前往 WorkFlowy Tips 。還沒有 WorkFlowy 帳號?請用此連結申請加倍免費清單上限
還有還有,我在臉書開了一個以 WorkFlowy 為主題的社團——山姆的 WorkFlowy 大小撇步現在人很少,快來助拳!
💌 喜歡這一期的內容,請幫我按「👍」。不喜歡請按「👎」,並寫下你認為哪裡做得不好,你的回饋是我進步的動力。想要匿名舉報的話,我開了一個 Sarahah,歡迎使用,謝謝!
本報內含 Affiliate Link 連結若干,也就是我有機會從中獲益,賺點奶粉錢,希望有朝一日能因此日進斗金(誤)。若對這樣的作法有疑慮,請讓我知道或者直接退訂也行,我不會介意,你請別生氣。
開始入侵中文的 GaryVee 的價值觀值得大家認真思考。
Did you enjoy this issue?
Thumbs up 1ae5a7bdfcd3220e2b376aa0c1607bc5edaba758e5dd83b482d03965219a220b Thumbs down e13779fa29e2935b47488fb8f82977fedcf689a0cc0cc3c19fa3c6bb14d1493b
If you don't want these updates anymore, please unsubscribe here
If you were forwarded this newsletter and you like it, you can subscribe here
Powered by Revue