更新近況

好久沒有更新這個系列了、也很少更新這個部落格了。老實講自從架設docusaurus之後,我主力就完全放在那兒了。而這裡,就是我拿來做SEO、做一些『點』的分享!

docusaurus那個網站我有特別撰寫robot.txt,或許搜尋引擎上不會看到那個網站(但前提也是要網路蜘蛛尊重囉),且那裡的分享會比較屬於『線』和『面』一點,我想這就是我對這兩個空間的分別定位與差異設定了…

拖字數的廢話講完了,就來講講我最近在工作上面到底遇到了什麼吧!畢竟這就是這個系列的主旨 👍

又換新工作

請小朋友不要模仿!

最近是有點遇到低潮、去年到現在工作換過了幾次又幾次。嚴格定義算是自己給自己找麻煩啊,不過我覺得我沒有後悔離職。只是剛好運氣不太好、沒有遇到適合的罷了!而且每次離職經驗其實都帶給我有不同的學習與體驗,這恰恰證明了我『沒有停滯』我的成長,甚至不會再犯第二次的錯誤

到現在為止是名全端工程師…(好想要繼續專注後端啊…XD),前端使用的是Vue; 後端使用的是Golang。這次新工作的第一個原來這麼寫,就來討論我為了自動化更方便我的開發流程,使用到的git-hook&air

Git-Hook

我們前端專案有點奇怪,分成了給平板用的app版&給網站用的web版,而router有兩個檔案,每次分支在切換時,都要記得把web版router檔案複製一次,然後才能讓前端動起來…是說我也不知道為什麼他們分支切換卻把主要的routerignore,要特別copy &paste 這樣…或許等我以後對專案熟悉一點、可能就知道他們前面的歷史到底發生了什麼問題吧…

總之… 我心裡就想難道git沒有類似這種webhook的機制嗎?每次這樣複製貼上真的好麻煩!於是,在我不懈努力之下…(吐槽一下:也沒多努力拉 😅),找到了『git hook』。給個官網文件先:https://git-scm.com/book/zh-tw/v2/Customizing-Git-Git-Hooks

首先,請你先打開你的.git資料夾!如果是和我一樣的VScode愛用者可以在資料夾底下建立.vscode的資料夾放入settings.json做一下的設定呦…

1
2
3
   "files.exclude": {
        "**/.git": false,
   }

大家是否有看到.git目錄下有一個叫做hooks的資料夾呢?沒錯, 這就是我們這個部分的主角💪💪💪!

於是乎…我就在那裡增加(或修改)了一個post-checkout的檔案,其實這些檔案不過就都只是一堆shell指令,你可以大膽地客製起這樣!至於我只是增加底下這幾行而已~

1
2
cp ./src/router_web.js src/router.js && cp ./src/start_web.js src/start.js
echo 'Copy File Done!'

於是,我不用每次分支切換時都要做copy&paste的雜事拉!

Air

前端語言好像很常有這種hot-reload的機制,而後端語言比較少使用…回想起我以前使用PHPPython, 一個好像是直接使用docker處理重啟的問題(靠..才幾個月沒寫PHP有點忘了當時怎麼開發處理…這裡可能有點說錯喔…),另一個則是要慢慢地透過nas編譯(不過他也是create 很多docker container 起來…),這次我新工作的案子沒有docker, 每次都要使用go run main.go之類的實在是好麻煩!

於是我問了ChatGPT, 他推薦我使用gin(不是網頁框架那個,而是這個:https://github.com/codegangsta/gin)。但說實在的我覺得有點…爛…不知道是不是我們工作專案設定的特性,實際幾天跑下來總覺得有點雷雷不如預期:要不就是沒有reload到、要不就是當掉…

後來自己google後發現到air:https://github.com/cosmtrek/air。 透過根目錄.air.toml 配置,我可以專注我的開發,他就會自動幫我hot-reload, 實際幾天用下來,覺得符合我目前的期待。是我目前使用的方案

至於.air.toml要怎麼設定請自己去看文件拉

小君曰: 懶