My 2022 End Of Year Lists

Jeremy Pai
Life’s a Struggle
Apr 24, 2024
Photo by Joshua Earle on Unsplash

[ 從個人網站搬過來,本篇書寫於 Jan. 1, 2023 ]

在 Medium 隨手一滑滑到前美國總統 Barack Obama 關於 2022 的紀錄,想著想著我也決定要留下屬於自己的經歷

從初入職場興奮的心情,到現在不知不覺也過了約一年半,這當中有好的也有壞的,不管如何也都跨過去了

技術方面我體認到學界與業界的落差,也努力學習去補足工作所需要的基本知識與技術

以下列出幾項是我這一年半主要會用到的一些好用工具:

1. Git / GitLab / Gerrit Code Review / GitHub

相信只要有寫軟體的人,應該都會了解到 Git 的好用之處。能夠清楚的做版本控管 (Version Control),也能輕鬆的管理不同的專案。

不知道大家有沒有在學生時期碰過,本來寫的程式沒有問題,卻在幾次的修改後突然碰到不預期的 bug。以前我們或許會透過儲存不同版本的 code 來以防萬一,或是透過好幾次的 CRTL + Z 希望能回到正常能 run 的 code。但有了 Git 後就不一樣了,以上的事情都能很容易的做到,以前的 code 也都能找回。

當然 Git 發展也久了,所以也有不少公司基於 Git 再多加上一些方便好用的功能形成新的開發平台,不過本質上依然是幫我們做好版本控管,例如 GitLab 跟 Gerrit Code Review。

2. CMake

在業界時經常會需要寫 C code (ex. C / C++ / C#),這時候就會需要能幫我們編譯的工具。以前學生時代對這邊的操作老實說並不太清楚,不是透過 Dev C++ 直接按 F5 幫忙編譯,不然就是透過工作站一行一行輸入 gcc / g++ compile 以及 link。

直到工作後用了 CMake,真的覺得這個工具很好用!當然實際操作上還是有不少坑需要去踩,但整體而言還是非常方便好用的工具。而且在不同平台上編譯的指令也幾乎都相同,頂多差在編譯器 (compiler) 的選擇或許有一些差異。例如在 Windows 平台要使用 clang 編譯的話,會是輸入 clang-cl,不過在 Linux 平台則是 clang。

3. Android

在過去沒有任何 Android 的開發經驗,所以在了解 Android 工具上花了不少時間,即便到了現在還不能說是對這些工具非常熟練。

如果要將程式編譯成能在 Android 平台上使用的話,我一般是使用 Android NDK 編譯,不過也能使用比較完整的 Android SDK。如果程式編譯出現問題,或者是需要觀察系統資源使用時,Android 也都有提供工具輔助進行偵錯以及監控。例如 CPU、memory、...

4. Visual Studio Code (vscode)

其實我過去一直以為程式開發環境之間差異不大,可能就看自己要寫什麼程式語言選擇對應適合的開發工具就好了,直到使用 vscode 之後才改變了想法。

vscode 的開發環境簡單易用,而且也有許多方便的擴充工具可以使用,最重要的是跨平台使用上並不會有任何阻礙,能運行在 Windows 以及 Linux 平台。種種好處使得 vscode 是我目前最喜歡使用的 IDE。

Docker

這邊把 docker 列在最後面,主要是因為這個工具目前才算剛開始接觸,還沒有到很清楚該怎麼使用。

學習的動機是因為需要處理開發環境的問題,因為過去實在花了太多的時間去處理這方面的問題。而且麻煩的是要回復被搞壞的環境是很困難的,但如果是 docker 建立的環境被搞壞只需要直接把 container 砍掉就好了。

期望在接下來的時間能對這個工具有更深入的了解與使用。

總結

工作到了現在還是會體認到自身的不足之處。持續的學習當然是必須的,期望接下來能夠掌握更多的技術 🙂

--

--

Jeremy Pai
Life’s a Struggle

機器視覺演算法工程師~不限主題隨心寫下自己想寫的事物